2009-12-31 7 views
0

Quelqu'un peut-il me montrer un exemple de comment fonctionne PhraseQuery dans Lucene.Net.Correspondance de chaîne exacte en utilisant Lucene.Search

Je construis un utilitaire qui va scanner à travers l'index Lucene créé à partir de milliers de mots, documents rtf et va chercher EXACT match de lignes. Par exemple, si je recherche "le renard brun rapide saute par-dessus un chien paresseux", la recherche devrait retourner le numéro du document dont la ligne ci-dessus fait partie du contenu. Pour esquisser ce que j'ai fait jusqu'à présent, je construis un Index Lucene en utilisant SimpleAnalyzer et en utilisant le même type d'analyseur pour la recherche. Pour la recherche j'utilise IndexSearcher et en utilisant MultiFieldQueryParser pour analyser les lignes à rechercher.

Le code fonctionne correctement, mais n'obtient pas les résultats souhaités.

S'il vous plaît quelqu'un peut-il m'aider à trouver si je fais quelque chose de mal.

Merci à l'avance

Répondre

1

Utilisez StandardAnalyzer (texte Tokenizes basé sur une grammaire sophistiquée qui reconnaît: adresses e-mail, acronymes, chinois, japonais et caractères coréens, alphanumériques, et plus Puts texte en minuscules Supprime les mots d'arrêt) au lieu de SimpleAnalyzer (Divise le texte en caractères non-lettre et place le texte en minuscule) pour l'indexation.

Si vous voulez trouver le document intitulé "The Right Way", vous pouvez entrer titre: "The Right Way"

Questions connexes