Ist es möglich in solr eine Reihenfolge von Dokumenten anzugeben?

8

Nicht ein generisches Sortierfeld, sondern eine Liste von Dokument-IDs, die in dieser Reihenfolge zurückgegeben werden sollen.

Beispiel:   document_ids = [5, 3, 10, 6]

Kann ich solr für die Dokumente 5, 3, 10, 6 in dieser Reihenfolge abfragen?

    
dalore 06.11.2013, 13:37
quelle

1 Antwort

10

Verwendung der Boost-Abfrage

Sie können dafür den bq param (Boost Query) verwenden und dann nach Score sortieren, was standardmäßig ist.

%Vor%

Wie Sie im Parameter bq sehen können, erhält jede der IDs einen abnehmenden Boost-Wert, bis der letzte - in Ihrem Fall 6 - keinen Boost mehr erhält. Da Sie nach ID suchen, würde jedes Dokument die gleiche Punktzahl haben, so dass Sie auf diese Weise die gewünschte Sortierreihenfolge erhalten.

Einige Hinweise zum Parameter

Term Boosting verwenden

Falls Sie den Standard Request Handler oder das (e) DisMax verwenden, funktioniert dies in jedem Fall

%Vor%

Dies macht Gebrauch von Term Boosting, was in der Referenzdokumentation erklärt wird Unterhalb des Themas Einen Term mit ^ verstärken. Die Logik behält das gleiche wie oben.

    
cheffe 07.11.2013, 07:52
quelle

Tags und Links