From d57fefcd5beb03eb65fcf3267226cc551c6abc48 Mon Sep 17 00:00:00 2001 From: rng Date: Wed, 24 Dec 2025 12:44:49 +1100 Subject: [PATCH] Add search credits --- .../server/core/model/enumeration/CQLFields.java | 10 ++++++++++ .../server/core/model/enumeration/StacSummeries.java | 3 ++- .../aodn/ogcapi/server/core/service/ElasticSearch.java | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java index 0bee076f..b9976e45 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java @@ -176,6 +176,16 @@ public enum CQLFields implements CQLFieldsInterface { )._toQuery(), null ), + credit_contains( + StacSummeries.Credits.searchField, + StacSummeries.Credits.displayField, + (literal) -> MatchQuery.of(m -> m + // We want the words exact so need to add space in front and end + .field(StacSummeries.Credits.searchField) + .query(literal) + )._toQuery(), + null + ), status( StacSummeries.Status.searchField, StacSummeries.Status.displayField, diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/StacSummeries.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/StacSummeries.java index 6885a002..d60561a9 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/StacSummeries.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/StacSummeries.java @@ -13,7 +13,8 @@ public enum StacSummeries { DatasetProvider("summaries.dataset_provider", "summaries.dataset_provider"), DatasetGroup("summaries.dataset_group", "summaries.dataset_group"), Status("summaries.status", "summaries.status"), - Statement("summaries.statement", "summaries.statement") + Statement("summaries.statement", "summaries.statement"), + Credits("summaries.credits", "summaries.credits") ; public final String sortField; diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/service/ElasticSearch.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/service/ElasticSearch.java index 15779168..af5d6647 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/service/ElasticSearch.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/service/ElasticSearch.java @@ -263,6 +263,7 @@ public ElasticSearchBase.SearchResult searchByParameters(Li // acronym moved to links, for example NRMN record is mentioned in the link title. // This is a work-around to the requirement but still allow use of NRMN should.add(CQLFields.links_title_contains.getPropertyEqualToQuery(t)); + should.add(CQLFields.credit_contains.getPropertyEqualToQuery(t)); } }