问题描述
提示:这里描述项目中遇到的问题:
在对 Elasticsearch 中字段进行排序、聚合或脚本
访问时,报:
ElasticSearch [Fielddata is disabled on text fields by default. Set fielddata=true on XX
原因分析:
Fielddata是Elasticsearch中用于在内存中存储文本字段数据的一种结构,它允许对文本字段进行排序、聚合或脚本访问。然而,由于Fielddata可能会消耗大量的堆空间,尤其是当加载高基数文本字段时,因此默认情况下它是禁用的。
解决方案:
修改对应字段 felddata 为 true
PUT https://127.0.0.1:9200/shoppimg/_mapping
{
"properties": {
"price": {
"type": "text",
"fielddata": true
}
}
}
在这个示例中,my_index是你要修改的索引名,my_field是你要启用Fielddata的字段名。