Ich habe einen ES 2 Index mit ~ 3m Dokumente und ich mache eine signifikante Aggregation auf einem relativ hohen Kardinalfeld (~ 1m Unique-Werte) mit einer klassischen Potenzgesetz-Häufigkeitsverteilung (Einige dieser einzigartigen Werte sind sehr häufig und die meisten anderen bilden einen langen Schwanz mit niedriger Anzahl).Bedeutende Begriffe Aggregation mit Eltern Sampler-Aggregation
Diese Aggregation ist unerschwinglich teuer und langsam, so begann ich in der neuen Funktion ES 2 zu suchen. Es funktioniert als eine übergeordnete Aggregation, die die untergeordnete Aggregation an einer Stichprobe der Daten arbeiten lässt. Ich möchte jedoch besser verstehen, wie es funktioniert, da es wenig Dokumentation zu diesem Thema gibt.
Ich verwende einen shard_size
Parameter für die Sampler-Aggregation von 200, und die Ergebnisse, die ich bekomme, unterscheiden sich stark von der Aggregation der Aggregation ohne Stichproben. Manchmal liefert die Stichprobenaggregation auch keine Ergebnisse. Also versuche ich zu verstehen, an welchem Punkt des Prozesses die Stichprobe passiert.
Wenn x
ist eine des Eimers in der deutlichen Begriffen Aggregation und y
ist die Größe des Korpus gefiltert, dann seine Bedeutung Maßnahme durch so etwas wie significance of x in subset y = [ (count x in y/size y)/(x in corpus/size corpus) ] * [ (count x in y/size y) - (x in corpus/size corpus) ]
gemäß der Definition der JLH Punktzahl gegeben.
Wird die Probenahme sofort vor dem Filtern auf den Korpus angewendet oder wird sie auf den gefilterten Satz y
angewendet? Ich versuche zu verstehen, warum meine gesampelte Aggregation manchmal keine Ergebnisse liefert, wenn ich weiß, dass es einige geben sollte. Ich habe auch bemerkt, dass, wenn ich den shard_size
Parameter der Sampler-Aggregation erhöhe, bekomme ich schließlich einige Ergebnisse.