2016-04-06 7 views
0

Ich interessiere mich für eine Frage zu Elasticsearch (2.x) Leistung und numerischen Datentypen: wenn ich mein Feld in beide byte passen, oder short oder integer - was das Beste ist Möglichkeit, in Bezug auf die Leistung zu wählen: Indexierung, Abfrage und Aggregationszeit?Elasticsearch: numerischer Datentyp für die beste Leistung auf ganze Zahlen

Ich verstehe, dass die Auswahl eines bestimmten Datentyps direkten Einfluss auf die Speichernutzung hat. Aber es ist mir nicht klar, welchen Einfluss es auf die Indexierung, die Suche und die Aggregationsleistung haben kann (z. B. können Typen unter der Haube zirkulieren usw.).

Wenn jemand eine Antwort hat - danke im Voraus!

+0

Interessanter Kommentar in [der Referenz] gefunden (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#_memory_considerations): Bei der Sortierung, die relevanten sortiert Feldwerte werden in den Speicher geladen. Bei numerischen Typen empfiehlt es sich, den Typ explizit auf schmalere Typen (wie 'short',' integer' und 'float') zu setzen. –

Antwort

1

Ich glaube, die einzige Sache zu berücksichtigen, wenn es um numerische Werte von Speicherplatz verwendet, Indexierungsleistung und bestimmte Abfrage Leistung Aspekte kommt ist die precision_step, die je nach Ihrer Verwendung (bei Verwendung range Abfragen oder nicht) und auf der numerischer Typ, es kann mehr Terme zur Indexierungszeit erzeugen (was auch eine sehr geringe Auswirkung auf die Suchleistung hat) oder nicht. Das heißt, wenn Sie noch "große" Zahlen benötigen und Sie keine range Abfragen in Bezug auf die Konfiguration der precision_step zu 2147483647 benötigen.

+0

Danke, Andrei! –