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 ...
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% doc.score
scheint nicht mehr zu funktionieren. Die Verwendung von _score
scheint perfekt zu funktionieren.
Beispiel:
%Vor%Tags und Links elasticsearch