From 524c624c87a569df88478abc2437cd24448e5a92 Mon Sep 17 00:00:00 2001 From: Yuxuan HU Date: Fri, 23 Oct 2026 14:28:40 +1100 Subject: [PATCH] change organisation_vocabs to match query with minimum should match --- .../ogcapi/server/core/model/enumeration/CQLFields.java | 8 +++++++- 1 file changed, 7 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 84520908..abe00fb3 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 @@ -198,10 +198,16 @@ public enum CQLFields implements CQLFieldsInterface { null, null, null), + // Word match instead of phrase, so word order and gaps do not matter, e.g. "imos moorings" matches + // "... Moorings Sub-Facility, Integrated Marine Observing System (IMOS)". 1-2 words must all match, 3+ words need 75%. organisation_vocabs( StacBasicField.OrganisationVocabs.searchField, StacBasicField.OrganisationVocabs.displayField, - null, + (literal) -> MatchQuery.of(m -> m + .field(StacBasicField.OrganisationVocabs.searchField) + .query(literal) + .operator(Operator.Or) + .minimumShouldMatch("2<75%"))._toQuery(), null, null), id(