Ich bin nicht sicher, was Sie versuchen zu tun, aber ich bin gespannt, aus. Da Sie diese Ausnahme erhalten, kann ich annehmen, dass die Kardinalität dieses Feldes nicht klein ist. Du versuchst grundsätzlich, die Beziehungen zwischen allen Begriffen in diesem Bereich basierend auf der Bedeutung zu sehen.
Die erste significant_terms
Aggregation alle die Bedingungen aus diesem Bereich prüfen wird und festzustellen, wie „signifikant“ sind sie (Frequenzen dieses Begriffs in dem gesamten Index zu berechnen und dann die mit den Frequenzen aus dem range
Abfrage Satz von Dokumenten zu vergleichen).
Nachdem es (für alle Begriffe) tut, möchten Sie eine zweite significant_aggregation
, die den ersten Schritt tun sollte, aber jetzt unter Berücksichtigung jedes Begriffes und dafür eine andere significant_aggregation
. Das wird schmerzhaft sein. Grundsätzlich berechnen Sie number_of_term * number_of_terms
significant_terms Berechnungen.
Die große Frage ist was versuchen Sie zu tun?
Wenn Sie eine Beziehung zwischen allen Begriffen in diesem Feld sehen möchten, wird das aus den oben genannten Gründen teuer. Mein Vorschlag ist, eine erste significant_terms
Aggregation auszuführen, die ersten 10 Begriffe oder so zu nehmen und dann eine zweite Abfrage mit einer anderen significant_terms
Aggregation auszuführen, aber die Bedingungen zu begrenzen, indem wahrscheinlich ein Elternteil terms
Aggregation und include only those 10 from the first query aggregiert wird.
Sie können auch einen Blick auf sampler aggregation werfen und verwenden Sie das als übergeordnetes Element für Ihre nur eine wichtige Begriffe Aggregation.
Auch ich denke nicht, dass die Erhöhung der Leistungsschalter Grenze ist die echte Lösung. Diese Grenzen wurden mit einem Grund gewählt. Sie können das erhöhen und vielleicht wird es funktionieren, aber es muss Sie fragen, ob das die richtige Abfrage für Ihren Anwendungsfall ist (wie es nicht wie es klingt) ist. Dieser Grenzwert, der in der Exception enthalten ist, ist möglicherweise nicht der letzte ... reused_arrays
bezieht sich auf eine Array-Klasse in Elasticsearch, die resizierbar ist. Wenn also mehr Elemente benötigt werden, wird die Array-Größe erhöht und Sie können den Schutzschalter erneut drücken. für einen anderen Wert.
Welche ES-Version? –
@AndreiStefan ES-Version ist 2.2.0 –