Миграция Java API ElasticSearch FacetFilter (в ранней версии) для симуляции агрегации в ES v5.5.3 - PullRequest
0 голосов
/ 13 сентября 2018

Я выполняю миграцию приложения Grails с использованием Elasticsearch Java v0.93 до версии 5.5.3.Одна из проблем, с которой я сталкиваюсь, - это миграция Фасетный фильтр на похожую Агрегацию .

Ниже приведен код из ранней версии Elasticsearch Java API:

FacetBuilders
    .termsFacet("f").field("brand").size(50) // Your facet
    .allTerms(true)
    .facetFilter( // Your filter here
        FilterBuilders.boolFilter()
    );

В соответствии с Elasticsearch Java API "Фасеты были удалены, и рекомендуется использовать агрегирование фильтров или агрегация фильтров .

Спасибо!

1 Ответ

0 голосов
/ 13 сентября 2018

Пожалуйста, попробуйте ниже запрос, чтобы перенести facets в Aggregation

AggregationBuilders.filter("Filter By Some Property", QueryBuilders.termQuery("some Field", "value"))
            .subAggregation(AggregationBuilders.terms("Group By Some Other property").field("brand").size(50));

Здесь вы можете использовать любой тип запроса в методе filter. Использовали Term Query только в качестве примера.

Надеюсь, это поможет !!

...