/ / Come riutilizzare la query formata dalla query bolean quando si esegue la stessa ricerca la prossima volta in Lucene.Net - lucene.net

Come riutilizzare la query formata dalla query bolean quando si esegue la stessa ricerca la prossima volta in Lucene.Net - lucene.net

Sto usando lucene.Net per la ricerca nella mia applicazione. Devo cercare in due campi, quindi aggiungo due query di termini in una query booleana e la query booleana risultante è + (posizione: a * + (id: 19))

Sto usando l'impaginazione per mostrare i risultati all'utente. Quando voglio ottenere i prossimi n record nel mio set di risultati, sto ancora utilizzando la stessa ricerca.

Quando eseguo la ricerca per la prossima volta non desidero preparare la query e voglio utilizzare la stessa query "+ (location: a * + (id: 19))" così com'è.

Come lo uso, quale query dovrei usare ... perché al massimo tutti i tipi di query richiedono il nome del campo. Ma ho la query che viene analizzata e voglio usare così com'è.

Per favore fatemi sapere se qualche corpo ha qualche idea.

risposte:

1 per risposta № 1
  1. Usa il Queryparser.Parse () metodo per analizzare la stringa di query e ottenere un oggetto Query.
  2. Archivia l'oggetto Query per il prossimo round.
  3. Utilizzare uno dei Searcher.Search () metodi con la query memorizzata.