ElasticSearch: Aggregation auf _score-Feld?

7

Ich würde gerne die Statistiken oder extended_stats Aggregation auf dem _score field, kann aber keine Beispiele dafür finden (es scheint, als könnten Sie nur Aggregationen mit tatsächlichen Dokumentenfeldern verwenden).

Ist es möglich, Aggregationen in berechneten "Metadaten" -Feldern für jeden Treffer in einer ElasticSearch-Abfrageantwort anzufordern (z. B. _score , _type , _shard usw.)?

Ich gehe davon aus, dass die Antwort "nein" ist, da Felder wie _score nicht indiziert sind ...

    
Clint Harris 03.07.2014, 15:22
quelle

2 Antworten

12

Hinweis: Die ursprüngliche Antwort ist in Bezug auf die neueste Version von Elasticsearch nicht mehr aktuell. Das entsprechende Skript mit Groovy-Skripten wäre:

%Vor%

Damit dies funktioniert, müssen Sie dynamisches Scripting aktivieren oder, noch besser, ein dateibasiertes Skript speichern und nach Namen ausführen (für zusätzliche Sicherheit, indem Sie kein dynamisches Scripting aktivieren)!

Sie können ein Skript verwenden und mit doc.score auf den Punktestand verweisen. Weitere Einzelheiten finden Sie in der Dokumentation von ElasticSearch.

Eine Stichprobenaggregation könnte sein:

%Vor%

Und die Ergebnisse würden wie folgt aussehen:

%Vor%

Ein Histogramm kann auch sein eine nützliche Aggregation:

%Vor%

Histogramm Ergebnisse:

%Vor%     
mas2df 03.07.2014, 17:07
quelle
6

doc.score scheint nicht mehr zu funktionieren. Die Verwendung von _score scheint perfekt zu funktionieren.

Beispiel:

%Vor%     
Mark van Duijker 10.08.2015 11:57
quelle

Tags und Links