@Fly3110
web developer

Как простыми словами объяснить, что такое индекс и тип в elasticsearch?

Всем привет!

Вопрос в заголовке.
Объяснение, что индекс надо понимать, как базу, а тип, как таблицу в этой базе, мне не кажется особо хорошим, так как сейчас в эластике есть ограничение, что в пределах одного индекса, но в разных типах, не может быть одного поля с разным типом данных. То есть, если было вот так: в /orders/order поле id - это число, а в /orders/comments - строка, то, со второй, вроде, версии эластика так больше нельзя делать. id должен быть одного типа. Для обычной СУБД таких ограничений нет.

Сейчас, для себя, я понимаю тип как еще один вид фильтра. Например у меня есть индекс /log. А в качестве типа я использую источник этого лога. То есть, /log/api_request, /log/user_action и так далее. Структура документа одна, просто в некоторых типах используются не все поля.

Так, все-таки, что такое индекс и тип? :)

Заранее спасибо.
  • Вопрос задан
  • 435 просмотров
Пригласить эксперта
Ответы на вопрос 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
имхо индекс - это скорее структура данных. Как данные хранятся, как анализируются, в каком формате и т.д.
тип - он и есть тип. То, как хранятся данные и как потом с ними можно работать. Банальный пример - цена, сохраненная по-умолчанию, как string. Никаких Sum/Everage/Min/Max с ней потом не сделать без переиндексации.
https://www.elastic.co/guide/en/elasticsearch/refe...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы