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