Elasticsearch выбирают, когда нужны полнотекстовый поиск, анализ языка, релевантность и распределённая выдача. Основа — Lucene и инвертированный индекс, сопоставляющий термы документам.
Почему был выбран Elasticsearch для полнотекстового поиска и за счёт чего он хорошо устроен?
Elasticsearch выбирают, когда нужны полнотекстовый поиск, анализ языка, релевантность и распределённая выдача. Основа — Lucene и инвертированный индекс, сопоставляющий термы документам.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Elasticsearch выбирают, когда нужны полнотекстовый поиск, анализ языка, релевантность и распределённая выдача. Основа — Lucene и инвертированный индекс, сопоставляющий термы документам.
Текст проходит анализатор: токенизацию и преобразования, которые должны соответствовать поисковому сценарию. Шарды распределяют индекс, реплики помогают доступности и чтению. Есть цена: дополнительное хранилище, синхронизация с источником и задержка видимости новых данных после refresh. Для простого поиска PostgreSQL может быть достаточен. В ответе о конкретном проекте нужно связать выбор с требованиями, а не утверждать, что Elasticsearch всегда быстрее любой БД.