我有两个与ElasticSearch有关的问题。
1)有什么方法可以指定我想要特定字段的结果以降序排列吗?等效SQL查询为:
select * from table1 where a="b" order by myprimarykey desc;
2)如何获得第一和最后(最新)记录?
1)Elasticsearch具有相当完善的Sorting API,可让您控制排序顺序。因此,在elasticsearch中,等效于您的MySql查询如下所示:
{ "query" : { "term" : { "a" : "b" } }, "sort" : [ { "myprimarykey" : "desc"} } ] }
排序也可以在_search URI上指定。
2)要检索第一条记录和最后一条记录,您需要使用desc和asc排序顺序执行两次搜索,并为每个检索一个记录。可以使用Multi Search API合并两个查询。
desc
asc