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


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

2 61

2 ответа:

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

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

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

кроме @Vineeth Mohan слова:

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

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

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