我想结合2个弹性搜索查询。由于我的查询是单独排序的,因此无法使用和/或类似的方法进行排序
我有新闻文件,我希望得到的结果包括:
- 按日期排序的未读新闻(读取=假)
- 按日期排序的阅读新闻(读=真)
首先是未读新闻,我想获取页面大小为20的新闻,因此我们可能有3页未读新闻,1页阅读+未读新闻,然后5页阅读新闻。
如何创建此查询?
答案 0 :(得分:1)
使用多搜索API在单个搜索请求中运行各种查询。
_msearch
收到结果后,使用用户定义的算法构建结果集。
答案 1 :(得分:1)
如果您需要排序的所有字段都在同一类型中,则可以使用多个排序标准:
POST index/article/_search
{
"size": 20,
"sort": [
{
"read": {
"order": "asc"
}
},
{
"date": {
"order": "desc"
}
}
]
}