From 506f77ed6073a3c3d2f58e29cbfedb31a1fc4bca Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Wed, 29 Jul 2020 14:15:28 +0200 Subject: [PATCH] fixed aggregations according to text/keyword type --- .../lbs/elasticsearch/EventStatsManager.java | 16 ++++++++-------- .../lbs/openaire/OpenaireBrokerController.java | 6 ++++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/elasticsearch/EventStatsManager.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/elasticsearch/EventStatsManager.java index d799c3ce..d7681907 100644 --- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/elasticsearch/EventStatsManager.java +++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/elasticsearch/EventStatsManager.java @@ -53,22 +53,22 @@ public class EventStatsManager { public List browseTopics() { - final String term = "topic"; + final String term = "topic.keyword"; final NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() - .withQuery(QueryBuilders.matchAllQuery()) - .withSearchType(SearchType.DEFAULT) - .addAggregation(AggregationBuilders.terms(term).field(term).size(1000).minDocCount(1)) - .build(); + .withQuery(QueryBuilders.matchAllQuery()) + .withSearchType(SearchType.DEFAULT) + .addAggregation(AggregationBuilders.terms(term).field(term).size(1000).minDocCount(1)) + .build(); final SearchHits hits = esOperations.search(searchQuery, Event.class, IndexCoordinates.of(elasticSearchProperties.getEventsIndexName())); final Aggregations aggregations = hits.getAggregations(); return ((ParsedStringTerms) aggregations.asMap().get(term)).getBuckets() - .stream() - .map(b -> new BrowseEntry(b.getKeyAsString(), b.getDocCount())) - .collect(Collectors.toList()); + .stream() + .map(b -> new BrowseEntry(b.getKeyAsString(), b.getDocCount())) + .collect(Collectors.toList()); } diff --git a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/openaire/OpenaireBrokerController.java b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/openaire/OpenaireBrokerController.java index 8534d963..23b0eb65 100644 --- a/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/openaire/OpenaireBrokerController.java +++ b/apps/dhp-broker-application/src/main/java/eu/dnetlib/lbs/openaire/OpenaireBrokerController.java @@ -101,17 +101,19 @@ public class OpenaireBrokerController extends AbstractLbsController { @GetMapping("/topicsForDatasource") public List findTopicsForDatasource(@RequestParam final String ds) { + final String term = "topic.keyword"; + final NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() .withQuery(QueryBuilders.nestedQuery("map", QueryBuilders.matchQuery("map.targetDatasourceName", ds), ScoreMode.None)) .withSearchType(SearchType.DEFAULT) - .addAggregation(AggregationBuilders.terms("topic").field("topic").size(1000).minDocCount(1)) + .addAggregation(AggregationBuilders.terms(term).field(term).size(1000).minDocCount(1)) .build(); final SearchHits hits = esOperations.search(searchQuery, Event.class, IndexCoordinates.of(props.getEventsIndexName())); final Aggregations aggregations = hits.getAggregations(); - return ((ParsedStringTerms) aggregations.asMap().get("topic")).getBuckets() + return ((ParsedStringTerms) aggregations.asMap().get(term)).getBuckets() .stream() .map(b -> new BrowseEntry(b.getKeyAsString(), b.getDocCount())) .collect(Collectors.toList());