【发布时间】:2016-02-02 00:46:40
【问题描述】:
是否可以让 elasticsearch 提前终止其搜索并只返回它找到的前 N 个匹配项?
我有一个庞大的数据集,并且注意到当我发出一个命中所有记录的查询时,返回前 10 个结果的时间要比查询只命中少量结果的时间长得多。我真的不需要完整的结果计数,也不关心返回的 10 个结果是否是“最佳”匹配项。
【问题讨论】:
标签: elasticsearch
是否可以让 elasticsearch 提前终止其搜索并只返回它找到的前 N 个匹配项?
我有一个庞大的数据集,并且注意到当我发出一个命中所有记录的查询时,返回前 10 个结果的时间要比查询只命中少量结果的时间长得多。我真的不需要完整的结果计数,也不关心返回的 10 个结果是否是“最佳”匹配项。
【问题讨论】:
标签: elasticsearch
除了在 Richa 的回答中设置大小之外,您可能还想检查两个following request parameters,即:
timeout:允许您指定最大执行时间(以毫秒为单位)。 ES 将在超时后立即响应并返回它目前得到的结果。terminate_after: 每个分片的最大文档数【讨论】:
terminate_after=1,这应该可以解决问题。
您可以使用size
GET /index/type/_search?size=5
【讨论】: