【发布时间】:2012-07-23 07:00:54
【问题描述】:
我有两个与 ElasticSearch 相关的问题。
1) 有什么方法可以指定我希望特定字段的结果按降序排序? 一个等效的 SQL 查询将是:
select * from table1 where a="b" order by myprimarykey desc;
2) 如何获取第一条和最后一条(最新)记录?
【问题讨论】:
标签: lucene elasticsearch
我有两个与 ElasticSearch 相关的问题。
1) 有什么方法可以指定我希望特定字段的结果按降序排序? 一个等效的 SQL 查询将是:
select * from table1 where a="b" order by myprimarykey desc;
2) 如何获取第一条和最后一条(最新)记录?
【问题讨论】:
标签: lucene elasticsearch
1) Elasticsearch 具有相当复杂的Sorting API,允许您控制排序顺序。因此,在 elasticsearch 中,相当于您的 MySql 查询将如下所示:
{
"query" : {
"term" : { "a" : "b" }
},
"sort" : [
{ "myprimarykey" : "desc"} }
]
}
也可以在 _search URI 上指定排序。
2) 要检索第一条和最后一条记录,您需要使用desc 和asc 排序顺序执行两次搜索,并分别检索一条记录。可以使用 Multi Search API 组合这两个查询。
【讨论】: