Gibt es eine Möglichkeit für Solr / Lucene, die Ränge der ausgewählten Dokumente anstelle der vollständigen Ergebnisse zurückzugeben?

8

Ich bin daran interessiert, Solr mit der Abfrage q abzufragen und den Abruf einer Gruppe von Dokumenten zu dokumentieren D , wenn {10, 20, 30, ...} Dokumente sind zurückgegeben.

Momentan habe ich die vollständigen Ergebnisse, dh eine Liste von Docids, die zurückgegeben wurden (durch solrpy), und iteriere sie durch, um die Ränge von D zu finden, dh eine Zuordnung von D zu ihren Indizes in den Suchergebnissen. Ich benötige nicht unbedingt das Mapping, nur gemappte Ränge.

Gibt es eine Möglichkeit, Solr / Lucene Ränge für einen Satz von IDs anstelle der vollständigen Ergebnisse zu haben?

Andere Möglichkeiten, dieses Problem anzugehen:

  • Geben Sie für eine Abfrage den Rang des Dokuments d ein
  • Geben Sie für eine Abfrage bis zu einem angegebenen Rang zurück, ob das Dokument d vorhanden ist
  • Geben Sie aus einer Abfrage q1 bis zu einer angegebenen Anzahl von Datensätzen die Anzahl der Datensätze zurück, die mit einer anderen Abfrage übereinstimmen q2
joeln 28.10.2011, 01:08
quelle

2 Antworten

1

Nein, ich kann mir keine SOLR- oder Lucene-Methode vorstellen. Ich denke, die einfachste Lösung ist, dies selbst mit einem einfachen HashSet zu programmieren ...

    
Hugo Zaragoza 10.11.2011, 05:21
quelle
4

Sie können den Rang nach score Feld abrufen.

Fügen Sie &fl=KeyFieldName,score hinzu, um die Dokument-ID und den Score für Ihre Abfrage abzurufen. Wenn Sie alle Felder benötigen, fügen Sie &fl=*,score an Ihre Abfrage an.

Weitere Informationen finden Sie Ссылка .

    
Matej 01.12.2011 09:55
quelle

Tags und Links