Добрый день, подскажите пожалуйста.
Как отдавать обрезанные большие поля string при запросе данных из ES, чтобы не поднимать все данные поля на клиент при листовом запросе без highlight?
Можно укладывать в соседнее поле при заливке данных уже обрезанные string, но считаю это не оптимально.
Делаю запрос:
GET /_search
{
"query": {
"match_all": {}
}
}
Не оптимально с какой точки зрения?
Добрый день, с точки зрения что будут храниться частично дубли информации
Это я понимаю. Но мы уже храним дубли информации, например, в индексе и вас это не беспокоит. Когда мы говорим об оптимизации и оптимальных решениях - мы подразумеваем оптимизацию по какому-то критерию. То есть, если мы хотим быстрый поиск то дупликация в форме индекса, нас не волнует. Если нас волнует только размер хранимых данных - то лучше было бы забросить elasticsearch, записать все в файл и прогнать его через 7-Zip или RAR, не правда ли?
Решить проблему с подстроками можно многими способами - скриптом во время запроса, дублем в source, дублем как stored field и т.д. Все эти решения оптимальны с одной точки зрения и не оптимальны с другой. Поэтому, я и пытаюсь понять какую практическую проблему вы пытаетесь решить. .... или это просто теоретические рассуждения, и мы теряем время/деньги на которые можно было бы купить дополнительные диски, чтобы хранить эти дубли?
Спасибо.
Приняли решение при получение данных с elastic обрезать данные на стороне сервера приложений.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.