暂时禁用Python的FacetedSearch

时间:2017-02-17 15:32:32

标签: python elasticsearch elasticsearch-dsl elasticsearch-py

我使用Pythons Elasticsearch DSL库创建了我自己的自定义FacetedSearch类,以便在def search(self)中使用其他过滤执行搜索。现在我想重用我的类来做一些统计聚合。为了保持DRY,我想重用这个类,出于性能原因,我想在保留所有过滤时不需要时暂时禁用facet计算。所以问题是如何暂时忽略FacetedSearch搜索中的方面?

1 个答案:

答案 0 :(得分:1)

所以你只想使用Search对象的查询,而不是它的聚合?在这种情况下,只需调用对象的search()方法来获取Search对象并从那里开始。

如果您想要聚合,但只想跳过python级facets计算,只需使用build_search方法获取包含聚合的原始Search对象。