/ / Come ottenere i risultati che hanno tutte le stringhe specificate nella query di ricerca - lucene

Come ottenere i risultati che hanno tutte le stringhe specificate nella query di ricerca - lucene

Sono un principiante in Lucene. Sto scrivendo un motore di ricerca per cercare la nostra base di codice per alcune parole chiave. Ho un requisito per il quale ho bisogno del tuo aiuto. Diciamo che sto cercando una parola "computer Apple", vorrei che Lucene lanci solo le linee che hanno case "apple computers" insensitive. Ma quello che vedo è che vedo linee con computer Apple, linee con solo apple e linee che hanno solo computer. Come faccio a filtrarlo per ottenere solo le linee con la mela e il computer.

risposte:

0 per risposta № 1

Come interrogate Lucene? Fondamentalmente quello che stai chiedendo è coperto dalla costruzione di una query utilizzando BooleanClause.Occur.MUST. Esattamente come fare ciò dipende dalla costruzione della tua query: per il parser di query predefinito dovresti usare qualcosa di simile

+ Computer Apple +

Mentre se stai costruendo le query a livello di codice, dovresti usare MUST per ogni termine.


0 per risposta № 2

Come suggeriva Yuval, è importante sapere come si usa Lucene.
Se lo usi tramite lucene-java e hai bisogno dei risultati esatti delle frasi (documenti che contengono solo "computer Apple" insieme) puoi usare PhraseQuery.

L'esempio di come comporlo.