在学习es时,我在查询条件中加入的字段,当排序字段时_id时可以查询出数据,但是当排序字段是 name属性时就返回错误了。
错误信息如下:
我的理解是,es中,针对sort和aggs操作,没有对文本内容进行提前的优化,(我觉得是类似于数据库的建立索引,不知道对不对),所以这个操作默认是不被允许的,可以通过对字段name设置 fielddata=true来实现(可能是在查询时再排序)。但是这样做会很消耗内存。所以不建议设置。
如果一定要设置,可以参考如下办法:
修改报错中提到的字段类型,修改为 text 或 keyWord。以 name 字段为例: