Как часто вызывать фиксацию для автономного индекса Solr / Lucene?

#lucene #solr #solrnet

#lucene #solr #solrnet

Вопрос:

Я знаю, что было несколько полу-похожих вопросов, но в данном случае я создаю индекс, который находится в автономном режиме, пока сборка не будет завершена. Я создаю с нуля два ядра, одно содержит около 300 тысяч записей с большим количеством информации о цитировании и большими блоками полного текста (это индекс документа), а другое ядро содержит около 6,6 миллионов записей с полным текстом (это индекс страницы).

Учитывая, что этот индекс создается автономно, единственной реальной проблемой производительности является скорость сборки. Никто не должен запрашивать эти данные.

Автокоммитирование, по-видимому, сработает, если я перестану добавлять элементы на 50 секунд? Чего я не делаю. Я добавляю десять за раз, и они добавляются каждые пару секунд.

Итак, должен ли я совершать чаще? Я чувствую, что чем дольше это выполняется, тем медленнее становится, по крайней мере, в моем тестовом примере с 6 тыс. документов для индексации.

Поскольку никто не ищет по этому индексу, как часто кто-нибудь может предложить мне совершить?

Следует сказать, что я использую Solr 3.1 и SolrNet.

Комментарии:

1. Из интереса я запустил свой тестовый пример примерно из 6 тысяч документов для индексации, фиксируя после каждых 500. Казалось, что он выполняется быстрее, хотя и всего на 5%, так что, возможно, это был какой-то другой фактор.

Ответ №1:

Хотя для вас требуются коммиты, возможно, вы захотите рассмотреть другие настройки, помимо частоты фиксации.

Это ядро индексирования, которое также выполняет поиск, или оно реплицируется где-то еще после завершения индексации? В последнем случае отключение кэшей может оказать очень заметное влияние на производительность (solr перестраивает кэши каждый раз, когда вы фиксируете).

Ответ №2:

Вы также могли бы изучить возможность использования функций автоматической фиксации или commitWith в Solr.