2011-02-09 3 views
1

MISE À JOUR DE QUESTIONS ORIGINALchamp Lucene ne interrogeable

J'ai créé un programme qui tire dans le contenu à partir d'une base de données et l'indexe. Au cours de ce processus, je construis une variable de chaîne appelée searchField qui se compose de différentes informations. Une fois cette chaîne créée, je fais l'appel suivant.

doc.add(new Field("search", this.stripHTMLTags(searchField), Field.Store.NO, Field.Index.ANALYZED)); 

Je sais que la chaîne n'est pas vide, parce que je mets dans un communiqué d'impression pour afficher le contenu et les données droite fait au doc.add().

Lorsque je recherche des mots-clés, ce qui apparaît en fait dans searchField, je ne reçois aucun résultat.

Je ne suis pas sûr de ce que d'autres détails à fournir, et je suis sûr qu'il ya plus besoin, s'il vous plaît aidez-moi à vous aider à mieux comprendre et j'espère que cela peut être résolu!

Merci d'avance!

+0

Juste pour être sûr, ajoutez-vous le document lui-même à l'index? Aussi, comment faites-vous votre recherche? – ffriend

+2

Je suggère que vous décriviez comment vous construisez votre index, l'analyseur que vous utilisez, un exemple de document et un exemple de requête que vous exécutez et qui devrait obtenir des résultats mais ne le fait pas. BTW, c'est un super nom d'utilisateur pour un utilisateur Lucene ... –

+0

Pouvez-vous vérifier la sortie de stripHTMLTags (searchField)? –

Répondre

1

Essayez

doc.add(new Field("search", this.stripHTMLTags(searchField), Field.Store.YES, Field.Index.ANALYZED)); 
+0

Je vois que vous avez changé le Field.Store à YES. En lisant le manuel, je vois qu'il va en fait le faire apparaître dans l'index. Donc, vous avez effectivement répondu à ma question. Cependant, il dit aussi que vous ne devriez pas stocker de gros corps de texte, ce qui sera searchField. Le problème que j'ai est qu'après avoir indexer mon searchField, je ne peux pas sembler chercher les termes qui étaient dans la chaîne searchField. Je vais réviser ma question ci-dessus pour refléter ce nouveau problème. – Luke

1

Je vous suggère de l'indexer à un répertoire de fichiers, puis utiliser Luke pour examiner ce que l'indexation. Luke est le meilleur outil pour déboguer les problèmes liés à Lucene.

Maintenant, mon intuition est que vous utilisez différents analyseurs lors de l'indexation et la recherche. Assurez-vous que votre index et vos opérations de recherche utilisent le même analyseur.

+1

Un peu drôle l'outil que vous recommandez est le même nom que l'OP –

Questions connexes