我有如下搜索请求:
var response = client.Search<ProductElastic>(s => s
.Query(q => q
.Bool(b => b
.Should(mu => mu
.Match(m => m
.Field(f => f.title)
.Boost(1.5)
.Query(inputfilter.q)
), mu => mu
.Match(m => m
.Field(f => f.content)
.Query(inputfilter.q)
)
)
)
)
.Aggregations(a => a
.Terms("doctype_i", he => he
.Field(g => g.doctype_i)
)
.Terms("category_i", e => e
.Field(ge => ge.category_i)
.Size(100)
)
)
);
inputfilter.q
保存搜索词。当inputfilter.q
为null时,它将返回所有结果,并且我的聚合存储桶编号已准确表示。定义inputfilter.q
后(例如搜索“ test”),它会优化结果集,但是,我的聚合存储桶仍然像以前一样为我提供完整的数字,就好像什么都没有搜索。作为记录,doctype_i
和category_i
是Elastic中的整数类型字段。
我如何使我的.Aggregations
确认.Query
,以便聚合存储桶根据结果集反映数字?