有时,索引中没有任何内容,有时候,我有一些文档。这只是我的申请的性质。当索引包含文档时,我按" final_score"排序。降。我的查询如下:
GET /_search
{
"query": {
"match_all":{}
},
"sort":[
{ "final_score" : "desc" }
]
}
但是,当索引中有0个文档时,此查询会中断。我必须删除排序以使查询工作。
如何使此查询适用于任何数量的文档(0或更多?)
答案 0 :(得分:1)
如果您没有字段并要求弹性搜索按该字段排序,则存在问题,
因此,对final_score
进行映射,以便它不会抛出错误(如果没有索引也是如此)。
示例:
POST http://localhost:9200/index/type/_mapping
{
"type": {
"properties": {
"final_score": {
"type": "integer"
}
}
}
}