Solr индексация в реальном времени - PullRequest
5 голосов
/ 10 августа 2011

Я знаю, что есть несколько подобных вопросов, но они не дают простого ответа на имеющуюся проблему.Извините, если вы считаете, что это дубликат, но я думаю, что четкий и понятный ответ принесет пользу многим.Итак, к вопросу.

Можно ли автоматизировать обновления индексации Solr?И если они могут, каков будет оптимальный способ сделать это?

Вот простой пример использования, чтобы прояснить вопрос: у меня есть таблица базы данных с несколькими столбцами данных различного типа.Существует веб-приложение, которое используется для управления данными.У меня есть отдельный сервер Solr для индексирования указанных столбцов в вышеупомянутой таблице.Как я могу добиться результата, когда пользователи добавляют, удаляют или изменяют данные в указанной таблице, Solr замечает это и изменяет индекс.

Это было бы необходимо для "реального времени".Это означает, что через несколько секунд изменения произойдут.Конечно, с большим количеством данных это может быть больше.

Заранее спасибо

Ответы [ 2 ]

7 голосов
/ 10 августа 2011

Здесь есть два вопроса:

Можно ли автоматизировать обновления индексации Solr?

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

Для этого необходимо, чтобы он был "в реальном времени".

Я уже упоминал некоторыеспособы уменьшения задержки между измененными данными и обновления индекса в этом ответе .Вы можете использовать autoCommit , чтобы убедиться, что ваши данные зафиксированы в течение x секунд после обновления.В зависимости от интервала вы можете уменьшить автопогрев и настроить другие параметры, см. this для получения более подробной информации.

Также следите за NRT wiki-страницей для связанной информации и решений об этом.

3 голосов
/ 02 сентября 2011

Возможно, вы захотите взглянуть на Apache Solr 3.3 с помощью алгоритма ранжирования 1.2.Он поддерживает NRT (индексирование почти в реальном времени) и может обновлять 10000 документов в секунду.Вы можете одновременно искать во время обновлений.Вам не нужно совершать или закрывать поисковики.Вы можете получить больше информации о NRT с помощью Solr 3.3 с помощью алгоритма ранжирования здесь:

http://solr -ra.tgels.org / wiki / en / Near_Real_Time_Search_ver_3.x

...