2016-11-15 2 views
0

ES doc on mappings Staaten unterHaben leere Felder einen schlechten Lucene-Index?

Typen sind nicht so gut für ganz unterschiedliche Arten von Daten geeignet. Wenn Ihre beiden Typen sich gegenseitig ausschließende Sätze von Feldern haben, bedeutet dies, dass die Hälfte Ihres Indexes "leere" Werte enthält (die Felder werden spärlich sein), was schließlich Leistungsprobleme verursachen wird. In diesen Fällen ist es viel besser, zwei unabhängige Indizes zu verwenden.

Ich frage mich, wie streng ich das nehmen soll.

Angenommen, ich habe drei Arten von Dokumenten, wobei jeder die gleichen 60-70% der Felder teilt und der Rest für jeden Typ einzigartig ist.

Sollte ich jeden Typ in einen separaten Index setzen? Oder ein einzelner Index wäre auch in Ordnung, was bedeutet, dass es bei Such- oder Indexoperationen nicht zu viel Speicherverschwendung oder spürbaren Leistungseinbußen kommen wird?

Grundsätzlich bin ich auf der Suche nach Informationen, um entweder das obige Zitat zu bestätigen oder zu widerlegen.

Antwort

1

Wenn sich Ihre Typen mit 60-70% überschneiden, dann wird ES in Ordnung sein, das klingt nicht "sich gegenseitig ausschließen". Beachten Sie, dass:

  1. Die Dinge werden improve in zukünftigen Versionen von ES
  2. Wenn Sie sie nicht benötigen, können Sie deaktivieren Normen und doc_values, wie empfohlen here
+0

Vielen Dank für die Antwort. Es scheint eher um doc_values ​​als um den Lucene-Index selbst zu gehen. Für meinen Fall könnte es sogar noch relevanter sein. – timtofan

Verwandte Themen