Solr Steigerung der Ergebnis-Feld-Wert
Bin ich der Abfrage einen solr-server für die Standorte. Diese Lage Dokumente haben auch ein Feld "country_code" enthält Werte wie US, GB, DE, ...
Unter bestimmten Umständen will ich, um Schub Ergebnisse mit spezifischen Länder-codes, so dass ich in der Lage bin, zu priorisieren meine Ergebnisse von Land zu Land.
Beispiel:
?q=york
Nehmen wir an der Benutzer ist aus Großbritannien und ist auf der Suche nach York ... Im moment findet er einige Yorks in den USA zuerst, dann die man in England.
Ich möchte in der Lage sein, um anzugeben, dass für diese Abfrage British Ergebnisse sollte oben sein. Ich fand, dass dies möglich sein sollte, über dismax und bq, sowas in der Art:
?q=york&dismax=true&bq=country_code:GB^20.0
Aber das funktioniert nicht, wie erwartet, jetzt York von Guatemala (country_code GT) ist auf der Oberseite, die GB sind nicht zu sehen.
Helfen bitte 😉
- Können Sie zählen die Relevanz der Ergebnisse aus der Abfrage?
- Meinst du den score der Ergebnisse? ohne dismax die UNS Ergebnisse haben eine Punktzahl von 1.7357568, die GB hat 1.7085013. Mit dismax York in Guatemala hat 2.067986 und das zweite Ergebnis in Kanada hat 2.067986
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bq Parameter von dismax ist Additiv, das heißt, es fügt zu den Endstand. Es ist einen Schub param im der neue edismax parser, der multipliziert die boost-Funktion den Wert des Endergebnisses, edismax boost.
Ok, was habe ich mit dismax in meiner Frage, ist arbeiten, ich hatte einfach den boost-Wert viel zu niedrig. Geändert von 20 bis 20000 und es funktioniert ganz gut.