#ruby-on-rails #elasticsearch #ruby-on-rails-6 #searchkick
#ruby-on-rails #elasticsearch #ruby-on-rails-6 #searchkick
Вопрос:
Как мне использовать некоторые фильтры при использовании aggs
, но не другие? Если я использую smart_aggs: false
, никакие фильтры не используются при aggs
подсчете.
По умолчанию условия where применяются к агрегациям.
Product.search "wingtips", where: {color: "brandy"}, aggs: [:size]
# aggregations for brandy wingtips are returned
Измените это с помощью:
Product.search "wingtips", where: {color: "brandy"}, aggs: [:size], smart_aggs: false
# aggregations for all wingtips are returned
Необходимо разрешить доход некоторым where, но не другим в подсчете
Product.search "wingtips", where_no_aggs_count: {country_availability: "us"}, where_aggs_count: {color: "brandy"}, aggs: [:size], smart_aggs: false
Ответ №1:
Запрос и агрегированные данные связаны в Elasticsearch. Если вам нужны 2 разных контекста, вам придется выполнить 2 разных запроса.