【发布时间】:2019-03-08 07:01:08
【问题描述】:
问题:在弹性搜索中遍历超过 10,000 个结果以进行搜索查询。
无论如何,我们是否可以在不遍历/检索整个弹性搜索数据库的情况下搜索特定项目。我遇到了滚动,但这是一项内存密集型任务,因为它会在我的情况下获取所有不必要的数据。
【问题讨论】:
-
您需要为您的问题添加更多上下文。你能给我们一个你想检索哪个文件的例子吗?因为基本上你当然可以在elasticsearch中搜索特定的记录,只是你的查询需要足够具体=)
-
嘿皮埃尔,我的弹性搜索数据中有多个存储库,我想针对一个存储库检索/滚动所有数据,比如说由组织组成的 OrganizationSearchRepository。我已成功滚动浏览弹性搜索中的“所有”文档,但我只需要针对此特定存储库获取记录。为此,我正在使用弹性搜索滚动 API。它返回当前弹性搜索中的所有数据
-
那么你应该在你的查询中添加一个过滤器。什么是组织文件的判别数据?
-
无法弄清楚如何添加该过滤器,目前我正在使用返回所有对象的 API 中的“matchAllQuery”。我已经尝试使用 term 和 typeQuery 来检索仅对该特定类有效但无法正常工作的数据
-
你应该先阅读 elasticsearch 简介elastic.co/guide/en/elasticsearch/reference/current/…
标签: elasticsearch search scroll pagination elasticsearch-aggregation