2014-09-03 3 views
5

Есть ли способ ограничить поле определенным количеством символов при получении результатов поиска Elasticsearch? Я знаю, как ограничить мои результаты определенным набором полей, но я не вижу, как получить только часть данных. Я хотел бы получить только первые 100 символов для отображения предварительного просмотра данных и ограничения ввода-вывода.Предельная длина поля при запросе Elasticsearch

Я видел, что подсветка дает возможность установить размер фрагмента, но я не обязательно запрашиваю что-либо из поля, я хочу подстроку.

+3

Я не думаю, что в es есть такая функция, которая позволяет указать подстроку поля. Но вы можете, вероятно, проиндексировать первые 100 символов вместе с исходным полем. Затем вы можете использовать фильтрацию источника, чтобы исключить исходное поле в '_source' [здесь] (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html) , Или вы даже можете полностью исключить исходное поле во время индекса, [см. Здесь] (https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html#include-exclude) – foresightyj

ответ

0

Elasticsearch не предоставляет такую ​​возможность. Идеальный способ достижения такого сценария - изменить способ индексирования данных и хранить фрагмент вместе с полями длинной длины. (@foresightyj предоставил хорошие ссылки для исключения/включения полей при индексировании/запросе времени)

Смежные вопросы