2010-11-02 30 views
2

C'est la question:Optimisation de l'indexation par lots Lucene

J'utilise Lucene.Net et Im Importer comme ~ 255k documents avec ~ 6 champs chacun. J'ai essayé quelques choses, mais le processus prend beaucoup (~ 1 jour). Im n'utilisant aucun analyseur étrange, juste l'analizer standard et Im tokenizing seulement l'un des champs. J'ai essayé de changer les documents de fusion max et rien.

Est-ce que quelqu'un a rencontré ce problème?

Merci et meilleures salutations

Répondre

2

Je vais prendre une autre solution et j'ai décidé de publier le résultat, donc si quelqu'un doit faire face au même problème peut trouver cet autre chemin à parcourir. Lucene.net a une fonction intéressante permettant de fusionner deux index, donc mon idée est d'indexer mon contenu en plusieurs index plus petits et de les joindre en utilisant la fonction de fusion.

Cela a fonctionné pour moi. J'ai testé cette solution en indexant WordNet pour effectuer des requêtes dessus et ça a fonctionné parfaitement.

1

En supposant que vous n'avez pas accès à un profileur (Redgate ANTS est très bien), puis:

  1. Travaillez à votre goulot d'étranglement: est-ce le code Lucene ou vos données lecteur? Commentez le code d'indexation Lucene, en laissant juste votre lecteur de données. Il devrait être facile de dire de quel côté se situe votre problème.
  2. Assurez-vous que vous utilisez Lucene comme construit à partir de SVN. La version 2.9.x de subversion est beaucoup mieux que les versions précédentes, en particulier en ce qui concerne la vitesse d'indexation
  3. Utilisez les facteurs de fusion par défaut, etc Lucene semble être beaucoup mieux à ce sujet que mes tentatives de peaufinage.
  4. Enfin (et peut-être le plus important!) Est-ce que l'indexation est lente? Si vous allez seulement devoir le faire une ou deux fois par an: je dirais ne vous inquiétez pas à ce sujet. (À moins que c'est un exercice d'apprentissage ou somesuch)

Hope this helps,

+0

Je vois tous vos points et vous avez fait des observations justes dans chacun d'eux. Pouvez-vous m'en dire plus sur les profileurs pour Lucene? Im intéressé par cela –

+0

J'ai légèrement modifié ma réponse pour donner un lien vers le site de l'outil que je connais le plus: c'est très bien. –