2009-07-27 2 views
0

Ich benutze lucene.Net für die Suche in meiner Anwendung. Ich habe in zwei Feldern suchen, damit ich in einer Booleschen Abfrage zwei Begriffsabfragen bin das Hinzufügen und die resultierende Boolesche Abfrage ist + (Standort: a * + (id: 19))Wie verwende ich die Abfrage, die durch boolesche Abfrage gebildet wird, wenn ich die gleiche Suche das nächste Mal in Lucene.Net ausführe

ich Paginierung verwende Ergebnisse anzuzeigen für den Benutzer. Wenn ich nächste n Datensätze in meinem Ergebnissatz bekommen möchte, führe ich dieselbe Suche erneut aus.

Wenn ich die Suche nach dem nächsten Mal durchführe, möchte ich die Abfrage nicht vorbereiten und möchte dieselbe Abfrage "+ (Standort: a * + (id: 19))" verwenden.

Wie benutze ich es, welche Abfrage sollte ich verwenden .. weil al fast alle Typen Abfrage Feldname erfordert. Aber ich habe die Abfrage, die geparst wird und wie sie ist.

Bitte lassen Sie mich wissen, wenn ein Körper eine Idee hat.

Antwort

1
  1. Verwenden Sie die Queryparser.Parse()-Methode, um die Abfragezeichenfolge zu analysieren und ein Abfrageobjekt abzurufen.
  2. Speichern Sie das Abfrageobjekt für die nächste Runde.
  3. Verwenden Sie eine der Methoden Searcher.Search() mit der gespeicherten Abfrage.
+0

Danke für die Antwort. – devson