2010-09-22 3 views
2

J'ai une structure de document où chaque ligne de texte dans le document a une méta-données associées. Le résultat de la recherche doit afficher la ligne et les métadonnées de la ligne.indexation Lucene avec pour le document structuré où chaque ligne de texte a des méta-données

Actuellement je stocke chaque ligne en tant que documents Lucene et le stockage des données metata-comme l'un des champs non indexés. C'est-à-dire que je crée et ajoute une structure de document Lucene pour chaque ligne. Mes inquiétudes sont que je pourrais me retrouver avec trop de documents dans l'index.

Y at-il une approche plus élégante?

Remerciements

+0

Avez-vous étudié dans Lucene Payloads? Ils vous permettent de stocker des informations supplémentaires avec chaque terme. –

Répondre

1

Personnellement, je indexer les documents que la normale, et de déterminer le nombre de métadonnées/ligne plus tard.

Il n'y a pas question de savoir si ou non Lucene peut faire face à que de nombreux documents, mais il pourrait dégrader les résultats de la recherche un peu. Car vous pouvez effectuer des recherches lorsque vous recherchez plusieurs termes proches les uns des autres, mais cela ne fonctionnera évidemment pas lorsque les termes sont répartis sur plusieurs documents (lignes).

+0

Vous avez raison. J'ai essayé de créer plusieurs documents, un par ligne avec des données Meteda stockées dans le cadre de l'index. Cela n'a pas bien fonctionné car les requêtes ont commencé à produire des résultats inattendus. Par exemple, si je demandais "This" et "That", tt échouerait en tant que "this" et "that" pourrait exister dans le fichier mais se trouverait dans deux documents Lucen différents. Et les requêtes d'envergure étaient simples hors de question. Donc vous avez raison: les documents comme d'habitude, et comprendre le numéro de métadonnées/ligne plus tard est la bonne approche. – user193116

1

Combien y a-t-il de "trop ​​nombreux"? Lucene a été connu pour gérer des centaines de millions d'enregistrements dans un seul index, donc je doute que vous devriez avoir un problème. Cela étant dit, rien ne remplace le test et l'analyse comparative pour voir si cette approche est bonne pour vos besoins.

Questions connexes