2009-06-05 10 views

Répondre

4

L'inconvénient principal de MultiSearcher est qu'il y a une surcharge dans la fusion des résultats de plusieurs chercheurs en un seul ensemble de résultats. C'est similaire à la pénalité que vous éprouvez avec un index non optimisé, bien que probablement pas aussi grave, cela dépend du nombre de chercheurs impliqués.

Toutefois, MultiSearcher peut être très utile si vous avez beaucoup de documents ou si vous devez effectuer des mises à jour fréquentes. Si vous avez une énorme base de données, elle vous permet de diviser vos documents en groupes à indexer sur des machines séparées en parallèle, puis de les rechercher ensemble. Si vous avez besoin de mises à jour fréquentes, vous trouverez peut-être un MultiSearcher qui a un répertoire de système de fichiers et un répertoire RAM qui vous donne des mises à jour d'index rapides. Les nouveaux documents vont dans le répertoire RAM, et périodiquement le contenu du répertoire RAM est fusionné dans le répertoire du système de fichiers.

Considérez également ParallelMultiSearcher. En fonction de l'architecture de votre machine et de la charge de vos requêtes, cela pourrait nuire ou aider. Si vous avez beaucoup de cœurs, cela peut vous aider, mais il y a un surcoût supplémentaire lié au threading, donc cela nécessite un profilage sous des charges représentatives.

+0

pouvez-vous s'il vous plaît répondre à celui-ci? http://stackoverflow.com/questions/899542/problem-using-same-instance-of-indexsearcher-for-multiple-requests –

Questions connexes