弹性搜索:搜索特定记录而无需滚动所有数据

时间:2018-10-03 05:45:14

标签: elasticsearch search scroll pagination elasticsearch-aggregation

问题:在弹性搜索中遍历10,000多个结果以进行搜索查询。

无论如何,我们可以搜索特定项目而无需遍历/检索整个弹性搜索数据库。我碰到了滚动,但这是一项占用大量内存的任务,因为它会在我的情况下获取所有不必要的数据。

2 个答案:

答案 0 :(得分:1)

在弹性搜索查询中,使用filter子句过滤掉特定的文档。

GET index/_search
 {
 "query": {
 "bool": {
  "filter": {
    "match":{
      "field":"value"
    }
  }
}
}
}

答案 1 :(得分:0)

根据您的问题,我了解到,您需要基于特定字段的记录。 所以在那种情况下 您可以使用以下查询通过点击弹性Db来获得结果:

GET /_search?q={FieldName}:{FieldValue}