1

我想根据特定字段对结果进行排序,然后应用限制过滤器。

一个简单的常见示例是 SQL 查询,例如select name from users order by name limit 100返回限制为 100 的排序结果。

我在 Elasticsearch 中尝试了同样的方法。然而,这并没有发生。它首先应用限制,然后进行排序,这给了我不想要的结果。谁能指出我做错了什么?这是我目前正在使用的查询。

{
  "sort": [
    "full_name"
  ],
  "filter": {
    "limit": {
      "value": 100
    }
  }
}
4

2 回答 2

5

在 ElasticSearch 中使用“大小”怎么样?http://www.elasticsearch.org/guide/reference/api/search/from-size.html

于 2012-10-05T17:07:19.083 回答
3

限制过滤器首先对每个分片起作用,然后将结果合并到其中一个节点上。如果你有多个分片,那会产生有趣的结果。我认为,正如 Gabbar 已经提到的,您正在寻找的是“大小”参数。

于 2012-10-05T19:12:03.980 回答