小编典典

ElasticSearch中的排序和最新记录

elasticsearch

我有两个与ElasticSearch有关的问题。

1)有什么方法可以指定我想要特定字段的结果以降序排列吗?等效SQL查询为:

select * from table1 where a="b" order by myprimarykey desc;

2)如何获得第一和最后(最新)记录?


阅读 639

收藏
2020-06-22

共1个答案

小编典典

1)Elasticsearch具有相当完善的Sorting
API
,可让您控制排序顺序。因此,在elasticsearch中,等效于您的MySql查询如下所示:

{
    "query" : {
        "term" : { "a" : "b" }
    },
    "sort" : [
        { "myprimarykey" : "desc"} }
    ]
}

排序也可以在_search
URI上指定。

2)要检索第一条记录和最后一条记录,您需要使用descasc排序顺序执行两次搜索,并为每个检索一个记录。可以使用Multi Search
API
合并两个查询。

2020-06-22