暂时禁用 Python 的 FacetedSearch 中的分面
Temporarily disable facets in Python's FacetedSearch
我使用 Python 的 Elasticsearch DSL 库创建了我自己的自定义 FacetedSearch
class,以在 def search(self)
中执行带有附加过滤的搜索。现在我想重用我的 class 来做一些统计聚合。为了保持 DRY,我想重用这个 class 并且出于性能原因,我想在保留所有过滤的同时暂时禁用不需要的方面计算。所以问题是如何在 FacetedSearch
搜索中暂时省略分面?
那么您只想使用 Search
对象的查询,而不是它的聚合?在那种情况下,只需调用对象的 search()
方法来获取 Search
对象并从那里开始。
如果您想要聚合,但只想跳过 python-level facets
计算,只需使用 build_search
方法获取包含聚合的原始 Search
对象.
我使用 Python 的 Elasticsearch DSL 库创建了我自己的自定义 FacetedSearch
class,以在 def search(self)
中执行带有附加过滤的搜索。现在我想重用我的 class 来做一些统计聚合。为了保持 DRY,我想重用这个 class 并且出于性能原因,我想在保留所有过滤的同时暂时禁用不需要的方面计算。所以问题是如何在 FacetedSearch
搜索中暂时省略分面?
那么您只想使用 Search
对象的查询,而不是它的聚合?在那种情况下,只需调用对象的 search()
方法来获取 Search
对象并从那里开始。
如果您想要聚合,但只想跳过 python-level facets
计算,只需使用 build_search
方法获取包含聚合的原始 Search
对象.