Коэффициент слияния, minMergeDocs, Lucene - PullRequest
1 голос
/ 29 июля 2010

Я не могу понять разницу между mergefactor и minMergeDocs.

Например, я хочу проиндексировать 10 000 документов и сказать, что 100 из этих документов заполняют мой буфер ОЗУ, поэтому Lucene запишет эти 100 документов какфайл.Теперь, если я установлю mergefactor = 5, когда пятый сегмент будет записан на диск, Lucene объединит все существующие сегменты в один сегмент и т. Д.

1. ГдеminMergeDocs вписывается в это?Если у меня есть mergefactor = 5 и minMergeDocs = 10 - имеет ли mergefactor приоритет перед minMergeDocs?

2. Кроме того, когда Lucene объединяет сегменты на диске, он также удаляет отдельные сегменты, которые теперь являются частью нового файла сегмента?

Заранее спасибо за ваш ответ,

1 Ответ

2 голосов
/ 31 июля 2010

Коэффициент слияния определяет, как часто сегменты будут объединяться.Значение по умолчанию - 10. Это означает, что новый сегмент создается для каждых 10 документов.Когда количество таких сегментов достигает 10, сами сегменты объединяются, чтобы создать один сегмент из 100 документов.Это политика слияния журналов.

minMergeDocs больше не существует в Lucene 3.0.

Чтобы обеспечить более точное управление индексированием, вы можете использовать методы setMaxBufferedDocs() или setRAMBufferSizeMB() или setMaxMergeDocs() из IndexWriter .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...