Я хотел бы хорошо понимать поведение слияния Solr. Я провел несколько исследований по различным политикам слияния. И похоже, что TieredMergePolicy лучше, чем старые политики слияния (LogByteSizeMergePolicy и т. Д.). Вот почему я использую эту, и это политика по умолчанию для последних версий solr.Информация о TieredMergePolicy
Во-первых, я дам вам некоторые интересные ссылки, которые я читал, чтобы иметь более полное представление о процессе слияния: http://java.dzone.com/news/merge-policy-internals-solr http://blog.mikemccandless.com/2011/02/visualizing-lucenes-segment-merges.html
Согласно официальной документации Lucene, я хотел бы задать несколько вопросов о это: http://lucene.apache.org/core/3_2_0/api/all/org/apache/lucene/index/TieredMergePolicy.html
Вопросы
1- В официальной документации, есть один метод, который называется setExpu ngeDeletesPctAllowed (двойной v). И в Solr 4.3.0 я проверил в классе TieredMergePolicy, и я не нашел этот метод. Существует еще один метод, похожий на этот: setForceMergeDeletesPctAllowed (double v). Существуют ли различия между обоими методами?
2- Оба метода выше называются только при использовании ExpungeDelete и оптимизации или вызываются при нормальном слиянии.
3- Я прочитал, что слияния между сегментами выполняются в соответствии с пропорциональным процентом удаленных документов на сегменте. По умолчанию этот процент установлен на 10%. Можно ли установить это значение на 0%, чтобы убедиться, что после объединения нет более удаленных документов в индексе?
Мне нужно уменьшить размер моего индекса без метода optimize() вызова, если это возможно. Вот почему любая информация о процессе слияния была бы интересной для меня.
Спасибо,
Большое спасибо! Это поможет мне улучшить мою стратегию слияния.Кстати, у меня появился еще один вопрос о ReclaimDeletesWeight: возможно ли установить это значение в файле solrconfig.xml? Например: 10 10 2.0 mergePolicy> Я не очень хорошо понимаю связь между solrconfig.xml и Java Solr Classes ... –
Corentin
Это должно быть двойное, а не int (то есть:' 2.0 '), но в остальном, да. Это должно работать нормально. (2.0 - значение по умолчанию, кстати) –
femtoRgon
Отлично! Спасибо. Теперь это намного яснее! – Corentin