Elasticsearch-FAQ
1、elasticsearch空index搜索排序报错问题( No mapping found for [Time] in order to sort on)
查看对应的 index 后,发现这个 index 没有数据,创建的时候是有默认的 _default_
mapping 结构的。
1 | curl -XPOST "http://172.26.137.58:9200/events-history-imp_19_iscs_he-2021042504/_search" -d '{"from":0,"size":51,"query":{"bool":{"filter":[{"range":{"Time":{"from":1617552000000000000,"to":1623686400999000000,"include_lower":true,"include_upper":true,"boost":1}}},{"bool":{"disable_coord":false,"adjust_pure_negative":true,"boost":1}}],"disable_coord":false,"adjust_pure_negative":true,"boost":1}},"sort":[{"Time":{"order":"asc", "unmapped_type" : "long"}},{"EventId":{"order":"asc", "unmapped_type": "keyword"}}]}' |
查看资料后,知道原因:
ES创建 index 后,虽然指定了 _defult_
mapping 但根本没有初始化,在search查询查询排序时候 sort 的字段不知道什么类型,就会导致上述错误。
解决办法:
在 sort 的字段属性里面,添加 unmapped_type 属性。
参考代码
1 | SearchRequestBuilder srb = client.prepareSearch(indexName) |
参考博客:
https://blog.csdn.net/caojianwei1992/article/details/88971733
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-request-sort.html
2、如何删除 cluster setting
参考:https://stackoverflow.com/questions/33520384/elasticsearch-how-to-delete-a-cluster-setting
1 | 可以通过分配空值来重置persistent或transient设置 |
可以通过 GET /_cluster/settings 查看集群配置。
3、All shards failed for phase: [query]
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2021/06/17/ELK/Elasticsearch/疑难问题/ES-FAQ.html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)