我想根据特定字段对结果进行排序,然后应用限制过滤器。
一个简单的常见示例是一个SQL查询,例如select name from users order by name limit 100返回的排序结果限制为100。
select name from users order by name limit 100
我在Elasticsearch中尝试了相同的方法。但是,这没有发生。它首先应用限制,然后进行排序,这给了我不希望的结果。谁能指出我做错了什么?这是我当前正在使用的查询。
{ "sort": [ "full_name" ], "filter": { "limit": { "value": 100 } } }
限制过滤器首先在每个分片上工作,然后在一个节点上合并结果。如果您有多个分片,那么可能会产生有趣的结果。我认为,正如Gabbar已经提到的那样,您正在寻找的是“大小”参数。