go-ElasticSearch查询-排序报错:
提示:这里简述项目相关背景:
基于golang操作es数据时,使用sort自定义字段排序。(es搜索结果默认是按照相关性排序的)
问题描述
当搜索条件加上sort时,出现如下错误:
原因分析:
排查了很久,没有结果。自己通过kibana按照同样的条件搜索,发现了问题。kibana提示错误如下,这里建议,使用go操作es时,可以多结合kinaba。
“type”: “illegal_argument_exception”,
“reason”: “Fielddata is disabled on text fields by default. Set fielddata=true on [create_time] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.”
(“原因”:“默认情况下,在文本字段上禁用字段数据。在 [create_time] 上设置 fielddata=true 以便通过反转倒排索引将字段数据加载到内存中。请注意,这可能会占用大量内存。或者使用关键字字段代替 。”)
解决方案:
使用关键字字段替换,成功解决。