Pregunta

Estoy usando Lucene.net 3.0.3 para indexar el contenido de documentos de palabras, excelas, etc. y algunos campos personalizados para cada documento.
Si indexo un campo nombrado "título" como Campo.index.not_analyzed El índice Lucene almacenó el campo en forma correcta. El título del hoyo se almacena en una sola ficha. Eso es lo que quiero.

p.ej El título del documento es "Lorem Ipsum Dolor"
campo en el índice Lucene: "Lorem ipsum dolor"

Si busco en la búsqueda exacta en este campo, no obtengo resultados.
Mi término de búsqueda parece: Título: "Lorem ipsum dolor"
Para buscar, uso el mismo StandardAnalzer.

¿Por qué no puedo encontrar el documento?

¿Fue útil?

Solución

StandardAnalyzer es sensible al espacio en blanco, entre otros delimitadores. Es decir, toca el término de búsqueda en tres tokens:

( Lorem, ipsum, dolor )

Pero usted indexó el campo title usando Field.Index.NOT_ANALYZED Entonces, ninguno de los tres tokens anteriores puede igualar el token único en este campo:

( Lorem ipsum dolor )

Usar KeywordAnalyzer, que toca todo el valor del campo como un solo token. Como siempre, debe usar el mismo analizador para indexación y búsqueda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top