#lucene #solr #solrnet
#lucene #solr #solrnet
Вопрос:
Я знаю, что было несколько полу-похожих вопросов, но в данном случае я создаю индекс, который находится в автономном режиме, пока сборка не будет завершена. Я создаю с нуля два ядра, одно содержит около 300 тысяч записей с большим количеством информации о цитировании и большими блоками полного текста (это индекс документа), а другое ядро содержит около 6,6 миллионов записей с полным текстом (это индекс страницы).
Учитывая, что этот индекс создается автономно, единственной реальной проблемой производительности является скорость сборки. Никто не должен запрашивать эти данные.
Автокоммитирование, по-видимому, сработает, если я перестану добавлять элементы на 50 секунд? Чего я не делаю. Я добавляю десять за раз, и они добавляются каждые пару секунд.
Итак, должен ли я совершать чаще? Я чувствую, что чем дольше это выполняется, тем медленнее становится, по крайней мере, в моем тестовом примере с 6 тыс. документов для индексации.
Поскольку никто не ищет по этому индексу, как часто кто-нибудь может предложить мне совершить?
Следует сказать, что я использую Solr 3.1 и SolrNet.
Комментарии:
1. Из интереса я запустил свой тестовый пример примерно из 6 тысяч документов для индексации, фиксируя после каждых 500. Казалось, что он выполняется быстрее, хотя и всего на 5%, так что, возможно, это был какой-то другой фактор.
Ответ №1:
Хотя для вас требуются коммиты, возможно, вы захотите рассмотреть другие настройки, помимо частоты фиксации.
Это ядро индексирования, которое также выполняет поиск, или оно реплицируется где-то еще после завершения индексации? В последнем случае отключение кэшей может оказать очень заметное влияние на производительность (solr перестраивает кэши каждый раз, когда вы фиксируете).
Ответ №2:
Вы также могли бы изучить возможность использования функций автоматической фиксации или commitWith в Solr.
- Фиксация внутри выполняется как часть команды добавления документа. Я полагаю, что это поддерживается SolrNet — пожалуйста, смотрите Использование потока атрибутов commiWithin для получения более подробной информации.
- автоКоммит — это значение конфигурации Solr, добавленное в раздел обработчика обновлений.