2010-07-29 6 views
1

Je suis incapable de comprendre la différence entre MergeFactor et minMergeDocs.facteur de fusion, minMergeDocs, Lucene

Par exemple. Je veux indexer 10 000 documents et dire que 100 de ces documents remplissent mon tampon RAM, Lucene va donc écrire ces 100 documents sous forme de fichier. Maintenant, si je mets mergefactor = 5, quand un cinquième segment doit être écrit sur le disque, Lucene fusionnera tous les segments existants en un seul segment et ainsi de suite.

1. Où est-ce que minMergeDocs s'intègre à cela? Si mergefactor = 5 et minMergeDocs = 10 - Mergefactor a-t-il la priorité sur minMergeDocs?

2. De même, lorsque Lucene fusionne des segments sur le disque, supprime-t-il également les segments individuels, qui font maintenant partie du nouveau fichier segment?

Merci d'avance pour votre réponse,

Répondre

2

facteur de fusion définit la fréquence à laquelle les segments seront fusionnés. La valeur par défaut est 10. Cela signifie qu'un nouveau segment est créé pour 10 documents. Lorsque le nombre de ces segments atteint 10, les segments eux-mêmes sont fusionnés pour créer un seul segment de 100 documents. Ceci est la stratégie de fusion de journaux.

minMergeDocs n'existe plus dans Lucene 3.0.

Pour avoir un contrôle plus précis sur l'indexation, vous pouvez utiliser setMaxBufferedDocs() ou setRAMBufferSizeMB() ou setMaxMergeDocs() méthodes de IndexWriter.