Skip to content

Commit ada493b

Browse files
committed
#628 - Display all filter options
- set the result size for aggregations in the queries to get filters to 50 (instead of the default value of 10). - also set the result size of the query itself to 0 because it will not be read here anyways
1 parent 295151b commit ada493b

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/main/java/de/numcodex/feasibility_gui_backend/terminology/es/TerminologyEsService.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import co.elastic.clients.elasticsearch._types.aggregations.StringTermsBucket;
77
import co.elastic.clients.elasticsearch._types.query_dsl.*;
88
import de.numcodex.feasibility_gui_backend.common.api.Criterion;
9-
import de.numcodex.feasibility_gui_backend.common.api.TermCode;
109
import de.numcodex.feasibility_gui_backend.terminology.api.EsSearchResult;
1110
import de.numcodex.feasibility_gui_backend.terminology.api.EsSearchResultEntry;
1211
import de.numcodex.feasibility_gui_backend.terminology.api.RelationEntry;
@@ -23,7 +22,6 @@
2322
import org.springframework.data.elasticsearch.client.elc.NativeQuery;
2423
import org.springframework.data.elasticsearch.client.elc.NativeQueryBuilder;
2524
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
26-
import org.springframework.data.elasticsearch.core.SearchHit;
2725
import org.springframework.data.elasticsearch.core.SearchHits;
2826
import org.springframework.data.util.Pair;
2927
import org.springframework.lang.Nullable;
@@ -255,12 +253,13 @@ public RelationEntry getRelationEntryByHash(String hash) {
255253

256254
private TermFilter getFilter(String termApi) {
257255
final var termElastic = termApi.equalsIgnoreCase("context") ? "context.code" : termApi;
258-
var aggQuery = NativeQuery.builder()
256+
var aggregationQuery = NativeQuery.builder()
259257
.withAggregation(termElastic, Aggregation.of(a -> a
260-
.terms(ta -> ta.field(termElastic))))
258+
.terms(ta -> ta.field(termElastic).size(50))))
259+
.withMaxResults(0)
261260
.build();
262261

263-
SearchHits<OntologyListItemDocument> searchHits = operations.search(aggQuery, OntologyListItemDocument.class);
262+
SearchHits<OntologyListItemDocument> searchHits = operations.search(aggregationQuery, OntologyListItemDocument.class);
264263
ElasticsearchAggregations aggregations = (ElasticsearchAggregations) searchHits.getAggregations();
265264
assert aggregations != null;
266265
List<StringTermsBucket> buckets = aggregations.aggregationsAsMap().get(termElastic).aggregation().getAggregate().sterms().buckets().array();

0 commit comments

Comments
 (0)