Перейти к основному содержимому

Концепции Elasticsearch

Основные возможности​

  • Распределённость и работа в реальном времени: данные индексируются и становятся доступными для поиска практически мгновенно в кластере узлов.
  • RESTful API: взаимодействие с данными через стандартные HTTP-методы и JSON.
  • Полнотекстовый поиск: работает на базе Apache Lucene, поддерживает сложные текстовые запросы (нечёткий поиск, подсветка, стемминг).
  • Документо-ориентированность: данные хранятся в виде JSON-документов, что делает хранилище бессхемным (хотя схемы можно задать явно).
  • Инвертированный индекс: вместо хранения строк создаётся индекс терминов с указанием документов, в которых они содержатся, что обеспечивает чрезвычайно быстрый поиск.
  • Масштабируемость: шардирование и репликация позволяют обрабатывать огромные объёмы данных и обеспечивать высокую доступность.

Анализаторы​

Анализаторы используются при индексации и поиске для обработки текста. Анализатор состоит из:

  1. Character Filters: модифицируют текст перед токенизацией (например, удаляют HTML-теги).
  2. Tokenizer: разбивает текст на токены (обычно слова).
  3. Token Filters: модифицируют токены (например, приведение к нижнему регистру, удаление стоп-слов вроде «the» или «and», стемминг).

Standard Analyzer​

Анализатор по умолчанию, который хорошо работает для большинства языков. Разбивает текст по границам слов и удаляет пунктуацию.

Пользовательские анализаторы​

Вы можете определить собственные анализаторы для обработки специфических случаев — например, индексации адресов электронной почты или идентификаторов продуктов.