Агрегирование условий NEST (ElasticSearch) не подтверждает запрос - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть поисковый запрос, как показано ниже:

            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, чтобы в агрегированных полях отображались числа, основанные на результатах комплект

...