如何在Elasticsearch中对限制过滤器进行排序然后应用

时间:2012-10-05 08:24:15

标签: search lucene elasticsearch

我想根据特定字段sort结果,然后应用limit过滤器。

一个简单的常见示例是像select name from users order by name limit 100这样的SQL查询会返回由100限制的排序结果。

我在Elasticsearch中尝试过相同的操作。但是,这种情况并没有发生。它首先应用限制和然后排序,这给我不希望的结果。谁能指出我做错了什么?这是我目前使用的查询。

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

2 个答案:

答案 0 :(得分:5)

如何在ElasticSearch中使用“size”? http://www.elasticsearch.org/guide/reference/api/search/from-size.html

答案 1 :(得分:3)

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