2010-07-21 6 views
2

J'essaie de combiner le score de lucene avec PageRank, j'ai essayé de modifier la DefaulySimilarity pour ajouter le PageRank que j'ai déjà (dans un tableau avec l'URL correspondante), mais le problème est que je ne sais pas comment obtenir le champ de document stocké l'URL du document. Le termeDoc ne peut renvoyer que docID. Ou j'ai une autre idée est de modifier le TopScoreDocCollector qui a une méthode nommée collect (int docid), également donné un docid mais je ne sais toujours pas comment obtenir le champ stocké. Quelqu'un at-il une idée sur la façon d'obtenir le champ stocké d'un document par un identifiant de document? Ou vous avez une idée sur la façon de combiner lucene avec PageRank? Merci beaucoup.comment obtenir le champ stocké d'un document par un identifiant de document dans lucene?

Répondre

2

Pour obtenir la valeur d'un champ stocké dans Lucene par l'ID interne Lucene, utilisez IndexReader.document (int n). Si vous avez vos propres UID indexés, vous devrez rechercher par ce terme, obtenir l'ID Lucene, puis appeler IndexReader.document (int n).

Essayez-vous de calculer le PageRank à la volée? Si vous êtes, cela me semble fou. Généralement, PageRank est un traitement par lots qui s'exécute et le score PageRank statique attribué à chaque document est ajouté en tant que boost pendant l'indexation.

Questions connexes