2014-02-17 9 views
0

Я смущен поисковой способностью Solr и Elasticsearch в режиме реального времени. Похоже, что поиск в режиме реального времени является одним из преимуществ Elasticsearch в отношении Solr. Тем не менее, я прочитал некоторые документы Solr, которые говорят, что поиск в режиме реального времени также может выполняться на Solr, используя soft commit со стоимостью открытого нового искателя. Таким образом, новый документ отображается через 1 секунду. В Elasticsearch обновление может также сделать новый документ доступным для поиска в течение одной секунды. Я что-то пропустил или понял? Какой из них лучше работает в режиме реального времени? Любой ответ был бы оценен. Спасибо.Solr vs Elasticsearch на поиск в режиме реального времени

ответ

1

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

С другой стороны, вам необходимо зафиксировать индекс lucene, чтобы иметь долговечность, что дорого и не может выполняться каждую секунду, и поэтому elasticsearch имеет журнал транзакций и что делает elasticsearch «kill -9 safe», и позволяет также получать в режиме реального времени.

Но самая лучшая часть для меня - это то, что в elasticsearch пользователю не нужно беспокоиться о освежениях и слишком много значит, поскольку все происходит автоматически под капотом по умолчанию. В то же время есть apis (обновление и флеш), а также настройки, позволяющие изменить поведение по умолчанию для опытных пользователей.

+1

Поддерживает ли ElasticSearch индексирование в реальном времени или почти в реальном времени? Из вашего ответа это выглядит как в реальном времени. Хотел подтвердить. – frosty

+0

@frosty - Elasticsearch - настоящее время (это не в режиме реального времени) –