Domanda

Ho implementato la ricerca full-text per un sito Web utilizzando Lucene.NET (Versione 2.0). L'indicizzazione e la ricerca funzionano bene, ma ho un problema. Se cerco numeri (numeri di telefono, numeri di prodotto ecc.) Come termini di ricerca, non ottengo alcun documento risultante.

Sto usando la classe Lucene.Net.Analysis.SimpleAnalyzer. Immagino di dover cambiare Analizzatore e / o Tokenizer.

Qualche consiglio?

Grazie!

È stato utile?

Soluzione

Quando si crea un documento Lucene, è possibile selezionare diverse opzioni di indicizzazione per ciascun campo. Per i campi che non si desidera tokenizzare, è necessario selezionare l'opzione Field.Index.UN_TOKENIZED. Ciò manterrà intatti i tuoi numeri di telefono e i numeri di prodotto.

Vorrei anche consigliare di utilizzare StandardAnalyzer, poiché non elimina i numeri come SimpleAnalyzer.

È anche importante utilizzare lo stesso analizzatore sia per l'indicizzazione che per la ricerca, per ottenere risultati coerenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top