我在弹性搜索中有两个字段(ID和Name)。
我要求按以下条件对数据进行搜索和排序:
存储桶1:包含所有Name值为空的记录(按ID字段升序排序)
存储桶2:包含Name值存在的所有记录(按Name字段升序排序)
然后在一个响应中返回Bucket 1和Bucket 2的所有记录。
发布于 2016-04-23 03:27:05
听起来您可以用不同的方式来说明这一点:获取所有文档,并首先按名称排序(首先是空的!),然后按ID排序。
如上所述,解决方案很容易就会落空。无论如何,当按升序排序时,应该首先对空字段进行排序,因此:
{
"query" : {
"match_all": {}
},
"sort" : [
{ "Name" : "asc" },
{ "ID" : "asc" }
]
}https://stackoverflow.com/questions/36792776
复制相似问题