4

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

1) 有没有办法指定我想要特定字段的结果按降序排序?等效的 SQL 查询将是:

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

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

4

1 回答 1

10

1) Elasticsearch 有相当复杂的排序 API,允许你控制排序顺序。因此,在 elasticsearch 中,您的 MySql 查询的等效项如下所示:

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

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

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

于 2012-07-25T12:38:38.903 回答