стратегия индексации solr - PullRequest
2 голосов
/ 13 марта 2012

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

Но после этого нам нужно только проиндексировать документы по мере их изменения.Каков наилучший способ сделать это?Должны ли мы вызывать addDocument и затем в cron вызывать commit ()?Что делает addDocument против коммита против оптимизатора (я использую Apache_Solr_Service)

Ответы [ 3 ]

2 голосов
/ 14 марта 2012

Если вы используете Solr 3.x, вы можете забыть оптимизировать , который объединяет все сегменты в один большой сегмент.Фиксация делает изменения видимыми для новых IndexReaders;это дорого, я бы не назвал это для каждого добавляемого вами документа.Вместо вызова через cron я бы использовал autocommit in solrconfig.xml.Вы можете настроить значение в зависимости от того, сколько времени вы можете ждать, чтобы получить новые документы во время поиска.

0 голосов
/ 17 марта 2012

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

Это с записью в 350 000 дБ общим объемом примерно 10 ГБ в ОЗУ.

0 голосов
/ 13 марта 2012

Документ на самом деле не будет добавлен в индекс, пока вы не выполните commit () - его можно откатить. Функция optimize () (якобы; мне не особенно повезло) уменьшит размер индекса (удаленные документы по-прежнему занимают место, если индекс не оптимизирован).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...