Ist es möglich, unabhängig von den zurückgegebenen Ergebnissen einen Schwellenwert für den Solr Score festzulegen? (d. h. ist Solr Scoring in irgendeiner Weise standardisiert)

8

Ich habe einen Solr-Index mit vielen Einträgen, und bei der Abfrage wird eine Teilmenge zurückgegeben - jeder Eintrag hat eine bestimmte Punktzahl (Offensichtlich). Sobald die Ergebnisse mit Scores zurückgegeben werden, möchte ich in der Lage sein, nur Ergebnisse zu "behalten", die über einem Score liegen (d. H. Nur Ergebnisse einer bestimmten Qualität). Ist es möglich, dies zu tun, wenn die zurückgegebene Teilmenge etwas sein könnte?

Ich frage, weil es so aussieht, als ob bei einigen Anfragen ein Wert von sagen wir 0,008 zu einem anständigen Match führt, während andere Anfragen einen höheren Score ergeben, was zu einem schlechten Match führt.

Idealerweise suche ich nur nach einer Methode, um die oberen x -Einträge aufzunehmen, solange sie mindestens eine bestimmte Qualität haben.

Vielen Dank im Voraus!

    
csjohn 23.11.2011, 05:28
quelle

3 Antworten

4

Ich denke, du solltest das nicht tun. Mit dem TF-IDF-Bewertungsmodell gibt es keine Möglichkeit, eine Punktzahl zu berechnen, über der alle Ergebnisse relevant sind und umgekehrt. Und wenn Sie dies schaffen, ist es sehr wahrscheinlich, dass dieser Schwellenwert nach einigen Aktualisierungen Ihres Indexes nicht mehr gültig ist (weil sich die Dokumenthäufigkeiten ändern).

Wenn Sie das immer noch tun wollen, ist es meiner Meinung nach mit Funktionsabfragen erreichbar: Es gibt ein if (in trunk) und ein query Funktionen in Solr. Filtern Sie einfach Ihre Ergebnisse, so dass Sie nur Einträge behalten, die eine höhere Punktzahl als eine bestimmte Schwelle haben.

    
jpountz 23.11.2011 10:09
quelle
2

Würde auch gerne zuerst ScoresAsPercentages durchgehen.

Solr normalisiert keine Scores, da dies leicht auf der Client-Seite durchgeführt werden kann.
Sie können den maxScore, der in den Ergebnissen zur Verfügung steht, verwenden, indem Sie alle Scores durch dividieren maxScore.
Der erste Datensatz hat den Wert eins gefolgt vom Rest.

    
Jayendra 23.11.2011 13:14
quelle

Tags und Links