DBAtlas · Атлас эксплуатации баз данных

max_bytes_length_exceeded_exception: Document contains at least one immense term that is too long

Elasticsearch

Что это значит?

В индексируемом документе терм (особенно значение поля keyword/неанализируемого поля) превысил максимально допустимую длину в байтах (32766 байт). Lucene не может проиндексировать такой длинный терм.

Почему возникает?

Очень длинное текстовое значение, записанное в поле keyword (целиком); например, всё тело документа, данные base64 или длинный URL/идентификатор в поле keyword. Поскольку поля keyword не анализируются, значение индексируется как один терм и превышает лимит.

Как исправить

Для длинного текста используйте поле text (анализируемое); keyword предназначен только для коротких значений, требующих точного совпадения. Чтобы ограничить значение, используйте ignore_above в маппинге (значения длиннее не индексируются, но по-прежнему хранятся). Если не нужно, задайте для очень длинных полей index:false. Пересмотрите проект полей (text или keyword) с учётом типа данных.

Открыть в DBAtlas →

Ещё по этой СУБД