English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Elasticsearch является поисковым сервером, основанным на Apache Lucene. Он был разработан Шаем Бانونом и опубликован в 2010 году. В настоящее время он поддерживается компанией Elasticsearch BV. Его последняя версия - 7.0.0.
Elasticsearch является реальным распределенным открытым исходным кодом полнотекстовым поисковым и аналитическим двигателем. Его можно получить через интерфейс RESTful Web-сервиса и использовать для хранения данных с помощью не模式和 JSON (JavaScript Object Notation). Он построен на основе языков программирования Java и поэтому Elasticsearch может работать на различных платформах. Он позволяет пользователям быстро просматривать的大量 данных.
Общие характеристики Elasticsearch такие как -
Elasticsearch может масштабироваться до уровня PB для структурированных и неструктурированных данных.
Elasticsearch может заменить MongoDB и RavenDB в качестве системы хранения документов.
Elasticsearch использует денормализацию для повышения производительности поиска.
Elasticsearch является одним из популярных корпоративных поисковых систем, которую в настоящее время используют такие крупные организации, как Wikipedia, The Guardian, StackOverflow, GitHub и многие другие.
Elasticsearch является открытым исходным кодом и может быть использован под лицензией Apache License Version 2.0.
Ключевые концепции Elasticsearch таковы -
Это指的是 единственный рабочий экземпляр Elasticsearch. Один физический и виртуальный сервер могут容纳 несколько узлов, в зависимости от их физических ресурсов (например, ОЗУ, хранение и производительность).
Это набор одного или нескольких узлов. Кластер предоставляет коллективные функции индексации и поиска для всех данных на всех узлах.
Это набор документов различных типов и их свойств. Индекс также использует концепцию фрагментов для повышения производительности. Например, набор документов может содержать данные из социальной сети.
Это набор полей, определенный в определенном формате JSON. Каждый документ принадлежит к одному типу и находится в индексе. Каждый документ связан с уникальным идентификатором, называемым UID.
Индекс разбивается на фрагменты в горизонтальном направлении. Это означает, что каждый фрагмент содержит все свойства документа, но количество содержащихся в нем JSON-объектов меньше, чем в индексе. Горизонтальное разделение делает фрагмент независимым узлом, который можно хранить на любом узле. Основной фрагмент является исходной горизонтальной частью индекса, а затем эти основные фрагменты копируются в фрагменты-копии.
Elasticsearch позволяет пользователям создавать копии индексов и фрагментов. Копирование не только помогает повысить доступность данных в случае отказа, но и улучшает производительность поиска за счет выполнения параллельных поисковых операций на этих副本ах.
Elasticsearch разработан на Java, что делает его совместимым с几乎 всеми платформами.
Elasticsearch является реальным временем, что означает, что документ, добавленный через одну секунду, уже можно искать в этом двигателе.
Elasticsearch является распределенной системой, поэтому легко расширять и интегрировать ее в любую крупную организацию.
Создание полных резервных копий с использованием концепции gateway очень просто, и эта концепция широко используется в Elasticsearch.
По сравнению с Apache Solr, обработка многонациональных пользователей в Elasticsearch очень проста.
Elasticsearch использует объекты JSON в качестве ответа, что позволяет использовать множество различных языков программирования для вызова сервера Elasticsearch.
Elasticsearch поддерживает几乎所有文档 типы, кроме тех, которые не поддерживают отрисовку текста.
В обработке запросов и ответов данных Elasticsearch не предоставляет поддержку множественных языков (доступна только в формате JSON), в отличие от Apache Solr, который может обрабатывать форматы CSV, XML и JSON.
Иногда в Elasticsearch может возникнуть проблема разрыва мозга.
В Elasticsearch индекс подобен таблице RDBMS (система управления реляционными базами данных). Каждая таблица представляет собой набор строк, так же как каждый индекс представляет собой набор документов в Elasticsearch.
В таблице ниже приведено прямое сравнение этих терминов-
Elasticsearch | Система управления реляционными базами данных (RDBMS) |
---|---|
Кластер | База данных |
Фрагмент | Фрагмент |
Индекс | Таблица |
Поле | Столбец |
Документ | Строка |