У меня есть поисковый запрос, как показано ниже:
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
равно нулю, он возвращает все результаты, и мои номера сегментов агрегации точно представлены. Когда определено inputfilter.q
(например, поиск "test"), оно уточняет набор результатов, однако мои корзины агрегации по-прежнему дают мне полные числа, как и раньше, как будто ничего не искали. Для записи doctype_i
и category_i
являются полями целочисленного типа в Elasti c.
Как мне заставить .Aggregations
подтвердить .Query
, чтобы в агрегированных полях отображались числа, основанные на результатах комплект