Добрый день.
В свете отказа от типов, решил отделить каждый тип в отдельный индекс, но индексов получилось слишком много, около 10 000. Еластик стал притормаживать при создании индексов, каждый последующий создаётся все медленнее и медленнее.
Архитектура веб сервиса такова что, на каждого пользователя сейчас приходится по 7 индексов.
У каждого пользователя индексы фактически одинаковые, в каждом хранятся данные конкретного пользователя.
Сейчас стоит выбор, оставить как есть или создать 7 индексов, но в каждом из них будет большое число документов, около 1 млн.
Может я что-то не так делаю? Как оптимизировать большое количество индексов?
Ещё хотелось бы узнать, какое оптимальное количество индексов и документов в них?
Можете объяснить, почему бы вы выбрали этот вариант? Я в эластике новичок, поэтому не совсем верно могу оценить преимущество одной организации хранения над другой.
Насколько я понял из примеров, для полей вложенных объектов не нужно будет добавлять префиксы?
Можете объяснить, почему бы вы выбрали этот вариант?
Слишком большое количество индексов не желательно с точки зрения производительности. Мешать данные разных пользователей в одном индексе тоже плохо, потому что данные одного пользователя могут "портить" поиск по релевантности для других пользователей, и может быть использовано для слежки за данными других пользователей, другими словами, мешать данные разных пользователей я бы не рекомендовал (особенно, если вы в elasticsearch новичок). Из тех примеров, которые я привел выбирайте любой - это дело вашего вкуса. На уровне индекса, они все равно в практически одну и ту же структуру превратятся.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.