Lucene.net Multi-Feld-Suchen

9

Um mehr kontextrelevante Suchergebnisse zu erhalten, habe ich mich entschieden, ein Stück mit lucene.net zu spielen, obwohl ich sehr neu dazu bin und ich fand, dass es nicht die intuitivste Bibliothek ist, die ich habe rüberkommen. Dies wird nicht durch das Fehlen von relevanten Beispielen da draußen geholfen, um es herauszufinden.

Ich verwende simple lucene , um meinen Index zu erstellen, und das scheint perfekt zu funktionieren:

%Vor%

Ausgehend von diesem Index habe ich zuerst eine Abfrage in folgenden Zeilen versucht:

%Vor%

Dies funktionierte großartig, bis der Suchbegriff mehr als 1 Wort wurde. Als nächstes war eine Phrasenabfrage.

%Vor%

Was ich dann gefunden habe warf den Fehler: All phrase terms must be in the same field

Also, wo gehe ich falsch? Haben Sie Vorschläge, wie Sie das Problem beheben können? Ich bin offen dafür, die Suchtechnologie komplett zu ändern, wenn es bessere Vorschläge gibt.

Einige zusätzliche Informationen, die nützlich sein können

  • Alle Ergebnisse werden am Ende über new Sort(new SortField[] {new SortField("is_featured", SortField.STRING, true),SortField.FIELD_SCORE}) sortiert
  • Es gibt einige zusätzliche Suchkriterien, so dass jede Abfrage zu einer Booleschen Abfrage hinzugefügt wird, deren Vorkommen auf SOLL gesetzt ist

Danke für Ihre Hilfe.

    
Hawxby 24.02.2011, 00:07
quelle

1 Antwort

3

Ich denke, die BooleanClause.Occur.SHOULD ist das Problem. Wir benutzen es so:

%Vor%     
misteraidan 24.02.2011, 02:12
quelle

Tags und Links