Подтвердить что ты не робот

В чем разница между Lucene и Elasticsearch

Я знаю, что ElasticSearch построен на Apache Lucene, но я хочу знать существенные различия между ними.

4b9b3361

Ответ 1

Lucene - это библиотека Java. Вы можете включить его в свой проект и ссылаться на его функции, используя вызовы функций.

Elasticsearch - это распределенный веб-сервер на основе JSON на основе Lucene. Хотя именно Lucene выполняет фактическую работу ниже, Elasticsearch предоставляет нам удобный слой над Lucene. Каждый осколок, который создается в Elasticsearch, является отдельным экземпляром Lucene. Итак, подведем итог

  1. Elasticsearch построен на основе Lucene и предоставляет REST API на основе JSON для ссылки на функции Lucene.
  2. Elasticsearch предоставляет распределенную систему поверх Lucene. Распределенная система - это не то, что Lucene знает или строит. Elasticsearch обеспечивает эту абстракцию распределенной структуры.
  3. Elasticsearch предоставляет другие вспомогательные функции, такие как пул потоков, очереди, API мониторинга узлов/кластеров, API мониторинга данных, управление кластерами и т.д.

Ответ 2

В дополнение к словам @Vineeth Mohan:

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

Мощный Query DSL: Elasticsearch предлагает нам JSON-интерфейс для чтения и записи запросов поверх Lucene. Благодаря Elasticsearch вы можете писать сложные запросы, не зная синтаксиса Lucene.

Без схемы (без схемы): Поля (имя, пары значений) для schema не должны быть определены ранее. Когда вы индексируете данные ,asticsearch может создавать схемы автоматически во время выполнения, как по волшебству.