ОК, я наконец нашел ответ. При проверке каталога индекса во время длительного процесса индексации я заметил, что CFS приходит и уходит, но как только процесс завершен, никаких признаков файла CFS нет. Я провел еще несколько исследований, учитывая некоторые новые ключевые слова (спасибо @ jf-beaulac) и Я нашел это . Они говорят, что порог по умолчанию для CFS составляет 10% от всего размера индекса. Если какой-либо сегмент растет после этого, CFS не создается независимо от использования writer.SetUseCompoundFile(true)
.
Итак, после некоторого изучения Lucene.NET я сделал следующий необходимый шаг:
indexWriter.SetUseCompoundFile(true);
var mergePolicy = indexWriter.GetMergePolicy();
var logPolicy = mergePolicy as LogMergePolicy;
if (logPolicy != null)
{
logPolicy.SetNoCFSRatio(1);
}
Установка «no-cfs-ratio» на 100% сохраняет все сегменты в CFS, и все, наконец, работает так, как я хочу.
Итак, @ jf-beaulac, большое спасибо за то, что помогли мне. Я полагаю, ваш образец тоже потерпит неудачу, если вы добавите еще несколько документов. Тем не менее, я признаю вашу помощь и приму ваш ответ.