2010-02-11 8 views
0

J'ai besoin de la recherche en utilisant un autre résultat de recherche. Quelqu'un peut-il m'aider? Mon scénario estRechercher avec un autre résultat de recherche en utilisant Lucene.Net

je index1 avec des champs FileID, nom de fichier, type de fichier, lastModified, créé etc.

Je index2 avec des champs FileID, f1, f2, f3, f4, f5, où f1 - f5 tous sont des champs booléens et contiennent la valeur 0/1.

Maintenant, je veux filtrer mon résultat de recherche pour par exemple., Filtype: pdf avec tous les fileid ayant 1 pour le champ f5.

Comment puis-je y parvenir sans filtrage, étant donné que je traite des millions d'enregistrements et que le filtre passera en boucle à travers chaque hit.

Quelqu'un peut-il m'aider dès que possible? Merci à l'avance

-Ranga

Répondre

0

Il n'y a pas une telle fonction dans Lucene qui recherche un filtrage d'index par les résultats de recherche sur un autre indice. Si une telle fonction avait existé, elle parcourrait les résultats de la première recherche et effectuerait une seconde recherche. Vous devez fusionner deux index en un ou effectuer une seconde requête par vous-même.

Je suppose qu'il y a une raison pour que vos index soient séparés. Probablement votre deuxième index est mis à jour beaucoup plus fréquemment que le premier. Dans ce cas, vous pouvez envisager de le conserver dans un SGBD relationnel.