From a7d4ff4872261a808bce052b489ef71cf0cfe59c Mon Sep 17 00:00:00 2001 From: fschade Date: Thu, 31 Jul 2025 18:50:27 +0200 Subject: [PATCH] enhancement(search): group opensearch related files together, housekeeping --- services/search/pkg/opensearch/opensearch.go | 26 ------------------- .../pkg/opensearch/{dsl.go => os_dsl.go} | 16 ++++++++++++ .../{dsl_query.go => os_dsl_query.go} | 0 ...dsl_query_bool.go => os_dsl_query_bool.go} | 0 ...bool_test.go => os_dsl_query_bool_test.go} | 0 ...=> os_dsl_query_full_text_match_phrase.go} | 0 ..._dsl_query_full_text_match_phrase_test.go} | 0 ..._ids.go => os_dsl_query_term_level_ids.go} | 0 ...go => os_dsl_query_term_level_ids_test.go} | 0 ...erm.go => os_dsl_query_term_level_term.go} | 0 ...o => os_dsl_query_term_level_term_test.go} | 0 ...go => os_dsl_query_term_level_wildcard.go} | 0 ... os_dsl_query_term_level_wildcard_test.go} | 0 ...dsl_query_test.go => os_dsl_query_test.go} | 0 14 files changed, 16 insertions(+), 26 deletions(-) rename services/search/pkg/opensearch/{dsl.go => os_dsl.go} (88%) rename services/search/pkg/opensearch/{dsl_query.go => os_dsl_query.go} (100%) rename services/search/pkg/opensearch/{dsl_query_bool.go => os_dsl_query_bool.go} (100%) rename services/search/pkg/opensearch/{dsl_query_bool_test.go => os_dsl_query_bool_test.go} (100%) rename services/search/pkg/opensearch/{dsl_query_full_text_match_phrase.go => os_dsl_query_full_text_match_phrase.go} (100%) rename services/search/pkg/opensearch/{dsl_query_full_text_match_phrase_test.go => os_dsl_query_full_text_match_phrase_test.go} (100%) rename services/search/pkg/opensearch/{dsl_query_term_level_ids.go => os_dsl_query_term_level_ids.go} (100%) rename services/search/pkg/opensearch/{dsl_query_term_level_ids_test.go => os_dsl_query_term_level_ids_test.go} (100%) rename services/search/pkg/opensearch/{dsl_query_term_level_term.go => os_dsl_query_term_level_term.go} (100%) rename services/search/pkg/opensearch/{dsl_query_term_level_term_test.go => os_dsl_query_term_level_term_test.go} (100%) rename services/search/pkg/opensearch/{dsl_query_term_level_wildcard.go => os_dsl_query_term_level_wildcard.go} (100%) rename services/search/pkg/opensearch/{dsl_query_term_level_wildcard_test.go => os_dsl_query_term_level_wildcard_test.go} (100%) rename services/search/pkg/opensearch/{dsl_query_test.go => os_dsl_query_test.go} (100%) diff --git a/services/search/pkg/opensearch/opensearch.go b/services/search/pkg/opensearch/opensearch.go index 2ca738d24a..f4089736a3 100644 --- a/services/search/pkg/opensearch/opensearch.go +++ b/services/search/pkg/opensearch/opensearch.go @@ -1,14 +1,11 @@ package opensearch import ( - "context" "encoding/json" "fmt" "reflect" - "time" "dario.cat/mergo" - opensearchgoAPI "github.com/opensearch-project/opensearch-go/v4/opensearchapi" ) var ( @@ -65,26 +62,3 @@ func convert[T any](v any) (T, error) { return t, nil } - -func clusterHealth(ctx context.Context, client *opensearchgoAPI.Client, indices []string) (*opensearchgoAPI.ClusterHealthResp, bool, error) { - resp, err := client.Cluster.Health(ctx, &opensearchgoAPI.ClusterHealthReq{ - Indices: indices, - Params: opensearchgoAPI.ClusterHealthParams{ - Local: opensearchgoAPI.ToPointer(true), - Timeout: 5 * time.Second, - }, - }) - if err != nil { - return nil, false, fmt.Errorf("%w, failed to get cluster health: %w", ErrUnhealthyCluster, err) - } - - if resp.TimedOut { - return resp, false, fmt.Errorf("%w, cluster health request timed out", ErrUnhealthyCluster) - } - - if resp.Status != "green" && resp.Status != "yellow" { - return resp, false, fmt.Errorf("%w, cluster health is not green or yellow: %s", ErrUnhealthyCluster, resp.Status) - } - - return resp, true, nil -} diff --git a/services/search/pkg/opensearch/dsl.go b/services/search/pkg/opensearch/os_dsl.go similarity index 88% rename from services/search/pkg/opensearch/dsl.go rename to services/search/pkg/opensearch/os_dsl.go index a7e2ada1ed..1c259c072f 100644 --- a/services/search/pkg/opensearch/dsl.go +++ b/services/search/pkg/opensearch/os_dsl.go @@ -85,3 +85,19 @@ func applyBuilders(target map[string]any, key string, bs ...Builder) error { return nil } + +func builderToBoolQuery(b Builder) *BoolQuery { + var bq *BoolQuery + + if q, ok := b.(*RootQuery); ok { + b = q.query + } + + if q, ok := b.(*BoolQuery); !ok { + bq = NewBoolQuery().Must(b) + } else { + bq = q + } + + return bq +} diff --git a/services/search/pkg/opensearch/dsl_query.go b/services/search/pkg/opensearch/os_dsl_query.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query.go rename to services/search/pkg/opensearch/os_dsl_query.go diff --git a/services/search/pkg/opensearch/dsl_query_bool.go b/services/search/pkg/opensearch/os_dsl_query_bool.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_bool.go rename to services/search/pkg/opensearch/os_dsl_query_bool.go diff --git a/services/search/pkg/opensearch/dsl_query_bool_test.go b/services/search/pkg/opensearch/os_dsl_query_bool_test.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_bool_test.go rename to services/search/pkg/opensearch/os_dsl_query_bool_test.go diff --git a/services/search/pkg/opensearch/dsl_query_full_text_match_phrase.go b/services/search/pkg/opensearch/os_dsl_query_full_text_match_phrase.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_full_text_match_phrase.go rename to services/search/pkg/opensearch/os_dsl_query_full_text_match_phrase.go diff --git a/services/search/pkg/opensearch/dsl_query_full_text_match_phrase_test.go b/services/search/pkg/opensearch/os_dsl_query_full_text_match_phrase_test.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_full_text_match_phrase_test.go rename to services/search/pkg/opensearch/os_dsl_query_full_text_match_phrase_test.go diff --git a/services/search/pkg/opensearch/dsl_query_term_level_ids.go b/services/search/pkg/opensearch/os_dsl_query_term_level_ids.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_term_level_ids.go rename to services/search/pkg/opensearch/os_dsl_query_term_level_ids.go diff --git a/services/search/pkg/opensearch/dsl_query_term_level_ids_test.go b/services/search/pkg/opensearch/os_dsl_query_term_level_ids_test.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_term_level_ids_test.go rename to services/search/pkg/opensearch/os_dsl_query_term_level_ids_test.go diff --git a/services/search/pkg/opensearch/dsl_query_term_level_term.go b/services/search/pkg/opensearch/os_dsl_query_term_level_term.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_term_level_term.go rename to services/search/pkg/opensearch/os_dsl_query_term_level_term.go diff --git a/services/search/pkg/opensearch/dsl_query_term_level_term_test.go b/services/search/pkg/opensearch/os_dsl_query_term_level_term_test.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_term_level_term_test.go rename to services/search/pkg/opensearch/os_dsl_query_term_level_term_test.go diff --git a/services/search/pkg/opensearch/dsl_query_term_level_wildcard.go b/services/search/pkg/opensearch/os_dsl_query_term_level_wildcard.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_term_level_wildcard.go rename to services/search/pkg/opensearch/os_dsl_query_term_level_wildcard.go diff --git a/services/search/pkg/opensearch/dsl_query_term_level_wildcard_test.go b/services/search/pkg/opensearch/os_dsl_query_term_level_wildcard_test.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_term_level_wildcard_test.go rename to services/search/pkg/opensearch/os_dsl_query_term_level_wildcard_test.go diff --git a/services/search/pkg/opensearch/dsl_query_test.go b/services/search/pkg/opensearch/os_dsl_query_test.go similarity index 100% rename from services/search/pkg/opensearch/dsl_query_test.go rename to services/search/pkg/opensearch/os_dsl_query_test.go