DBAtlas · 数据库运维图谱

illegal_argument_exception_fielddata: illegal_argument_exception: Fielddata is disabled on text fields by default. Set fielddata=true on [your_field] in order to load fielddata in memory(text 字段默认禁用 fielddata)

Elasticsearch

含义

尝试在经过分析的 text 字段上执行聚合、排序或脚本。由于这些操作需要占用大量内存的 fielddata,text 字段上默认禁用这些操作。

原因

直接对 text 字段进行了聚合/排序。在 Elasticsearch 中,text 用于全文搜索,keyword 用于精确值聚合/排序;混用两者会产生该错误。

解决方法

使用字段的 keyword 子字段进行聚合/排序(如 "my_field.keyword")。如果该字段只有 text 类型,在 mapping 中添加 keyword 子字段(multi-field)并执行 _reindex。可以在 text 字段上启用 fielddata(fielddata=true),但由于内存消耗高并有熔断风险,不推荐;只在不可避免时使用。

在 DBAtlas 中打开 →

同一数据库的其他条目