Как часто вызывать коммит по автономному индексу Solr / Lucene? - PullRequest
0 голосов
/ 12 апреля 2011

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

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 13 апреля 2011

Вы также можете ознакомиться с функциями autoCommit или commitWith Solr.

  • commitWithin выполняется как часть команды добавления документа. Я считаю, что это поддерживается SolrNet - см. Использование атрибута commiWithin для получения дополнительной информации.
  • autoCommit - это значение конфигурации Solr, добавленное в раздел обработчика обновлений.
0 голосов
/ 12 апреля 2011

Несмотря на то, что коммиты отнимают у вас время, вы можете подумать о поиске другой настройки, отличной от частоты коммитов.

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

...