Question

J'utilise lunene.net 3.0.3 pour indexer le contenu des documents Word-, Excel-, etc. et certains champs personnalisés pour chaque document.
Si j'indexte un champ nommé "Titre" comme Field.index.not_analyzed L'index Lucene a stocké le champ sous forme correcte. Le titre du trou est stocké en un seul jeton. C'est ce que je veux.

par exemple Le titre du document est "Lorem ipsum Dolor"
Field in lunene-index: "Lorem ipsum Dolor"

Si je recherche en utilisant une recherche exacte dans ce domaine, je n'obtiens aucun résultat.
Mon Recherch Term ressemble: Titre: "Lorem ipsum Dolor"
Pour la recherche, je suis le même standardanalzer.

Pourquoi je ne trouve pas le document?

Était-ce utile?

La solution

StandardAnalyzer est sensible à l'espace, entre autres délimiteurs. Autrement dit, il tokenise le terme de recherche en trois jetons:

( Lorem, ipsum, dolor )

Mais vous avez indexé le champ title utilisant Field.Index.NOT_ANALYZED Ainsi, aucun des trois jetons ci-dessus ne peut correspondre au jeton unique dans ce champ:

( Lorem ipsum dolor )

Utilisation KeywordAnalyzer, qui tokenise toute la valeur de champ en tant que jeton unique. Comme toujours, vous devez utiliser le même analyseur pour l'indexation et la recherche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top