diff --git a/services/search/pkg/opensearch/backend.go b/services/search/pkg/opensearch/backend.go
index 7637a4e1c..2ffb72571 100644
--- a/services/search/pkg/opensearch/backend.go
+++ b/services/search/pkg/opensearch/backend.go
@@ -108,11 +108,11 @@ func (be *Backend) Search(ctx context.Context, sir *searchService.SearchIndexReq
Params: searchParams,
},
boolQuery,
- osu.SearchReqOptions{
- Highlight: &osu.HighlightOption{
+ osu.SearchBodyParams{
+ Highlight: &osu.BodyParamHighlight{
PreTags: []string{""},
PostTags: []string{""},
- Fields: map[string]osu.HighlightOption{
+ Fields: map[string]osu.BodyParamHighlight{
"Content": {},
},
},
@@ -174,8 +174,8 @@ func (be *Backend) Upsert(id string, r engine.Resource) error {
}
func (be *Backend) Move(id string, parentID string, target string) error {
- return be.updateSelfAndDescendants(id, func(rootResource engine.Resource) *osu.ScriptOption {
- return &osu.ScriptOption{
+ return be.updateSelfAndDescendants(id, func(rootResource engine.Resource) *osu.BodyParamScript {
+ return &osu.BodyParamScript{
Source: `
if (ctx._source.ID == params.id ) { ctx._source.Name = params.newName; ctx._source.ParentID = params.parentID; }
ctx._source.Path = ctx._source.Path.replace(params.oldPath, params.newPath)
@@ -193,8 +193,8 @@ func (be *Backend) Move(id string, parentID string, target string) error {
}
func (be *Backend) Delete(id string) error {
- return be.updateSelfAndDescendants(id, func(_ engine.Resource) *osu.ScriptOption {
- return &osu.ScriptOption{
+ return be.updateSelfAndDescendants(id, func(_ engine.Resource) *osu.BodyParamScript {
+ return &osu.BodyParamScript{
Source: "ctx._source.Deleted = params.deleted",
Lang: "painless",
Params: map[string]any{
@@ -205,8 +205,8 @@ func (be *Backend) Delete(id string) error {
}
func (be *Backend) Restore(id string) error {
- return be.updateSelfAndDescendants(id, func(_ engine.Resource) *osu.ScriptOption {
- return &osu.ScriptOption{
+ return be.updateSelfAndDescendants(id, func(_ engine.Resource) *osu.BodyParamScript {
+ return &osu.BodyParamScript{
Source: "ctx._source.Deleted = params.deleted",
Lang: "painless",
Params: map[string]any{
@@ -265,7 +265,7 @@ func (be *Backend) DocCount() (uint64, error) {
return uint64(resp.Count), nil
}
-func (be *Backend) updateSelfAndDescendants(id string, scriptProvider func(engine.Resource) *osu.ScriptOption) error {
+func (be *Backend) updateSelfAndDescendants(id string, scriptProvider func(engine.Resource) *osu.BodyParamScript) error {
if scriptProvider == nil {
return fmt.Errorf("script cannot be nil")
}
@@ -283,7 +283,7 @@ func (be *Backend) updateSelfAndDescendants(id string, scriptProvider func(engin
},
},
osu.NewTermQuery[string]("Path").Value(resource.Path),
- osu.UpdateByQueryReqOptions{
+ osu.UpdateByQueryBodyParams{
Script: scriptProvider(resource),
},
)
diff --git a/services/search/pkg/opensearch/internal/convert/kql_transpile.go b/services/search/pkg/opensearch/internal/convert/kql_transpile.go
index 4b86d80ca..e06df753c 100644
--- a/services/search/pkg/opensearch/internal/convert/kql_transpile.go
+++ b/services/search/pkg/opensearch/internal/convert/kql_transpile.go
@@ -39,8 +39,8 @@ func (t kqlOpensearchTranspiler) transpile(nodes []ast.Node) (osu.Builder, error
return builder, nil
}
- boolQueryOptions := &osu.BoolQueryOptions{}
- boolQuery := osu.NewBoolQuery().Options(boolQueryOptions)
+ boolQueryParams := &osu.BoolQueryParams{}
+ boolQuery := osu.NewBoolQuery().Params(boolQueryParams)
boolQueryAdd := boolQuery.Must
for i, node := range nodes {
nextOp := t.getOperatorValueAt(nodes, i+1)
@@ -71,7 +71,7 @@ func (t kqlOpensearchTranspiler) transpile(nodes []ast.Node) (osu.Builder, error
if nextOp == kql.BoolOR {
// if there are should clauses, we set the minimum should match to 1
- boolQueryOptions.MinimumShouldMatch = 1
+ boolQueryParams.MinimumShouldMatch = 1
}
boolQueryAdd(builder)
diff --git a/services/search/pkg/opensearch/internal/convert/kql_transpile_test.go b/services/search/pkg/opensearch/internal/convert/kql_transpile_test.go
index 86c02d1cd..84d390517 100644
--- a/services/search/pkg/opensearch/internal/convert/kql_transpile_test.go
+++ b/services/search/pkg/opensearch/internal/convert/kql_transpile_test.go
@@ -187,7 +187,7 @@ func TestTranspileKQLToOpenSearch(t *testing.T) {
},
},
Want: osu.NewBoolQuery().
- Options(&osu.BoolQueryOptions{MinimumShouldMatch: 1}).
+ Params(&osu.BoolQueryParams{MinimumShouldMatch: 1}).
Should(
osu.NewTermQuery[string]("Name").Value("openCloud"),
osu.NewTermQuery[string]("age").Value("32"),
@@ -235,7 +235,7 @@ func TestTranspileKQLToOpenSearch(t *testing.T) {
},
},
Want: osu.NewBoolQuery().
- Options(&osu.BoolQueryOptions{MinimumShouldMatch: 1}).
+ Params(&osu.BoolQueryParams{MinimumShouldMatch: 1}).
Should(
osu.NewTermQuery[string]("Name").Value("openCloud"),
osu.NewTermQuery[string]("age").Value("32"),
@@ -254,7 +254,7 @@ func TestTranspileKQLToOpenSearch(t *testing.T) {
},
},
Want: osu.NewBoolQuery().
- Options(&osu.BoolQueryOptions{MinimumShouldMatch: 1}).
+ Params(&osu.BoolQueryParams{MinimumShouldMatch: 1}).
Must(
osu.NewTermQuery[string]("a").Value("a"),
).
@@ -275,7 +275,7 @@ func TestTranspileKQLToOpenSearch(t *testing.T) {
},
},
Want: osu.NewBoolQuery().
- Options(&osu.BoolQueryOptions{MinimumShouldMatch: 1}).
+ Params(&osu.BoolQueryParams{MinimumShouldMatch: 1}).
Must(
osu.NewTermQuery[string]("b").Value("b"),
osu.NewTermQuery[string]("c").Value("c"),
@@ -296,7 +296,7 @@ func TestTranspileKQLToOpenSearch(t *testing.T) {
},
},
Want: osu.NewBoolQuery().
- Options(&osu.BoolQueryOptions{MinimumShouldMatch: 1}).
+ Params(&osu.BoolQueryParams{MinimumShouldMatch: 1}).
Should(
osu.NewTermQuery[string]("a").Value("a"),
).
@@ -323,7 +323,7 @@ func TestTranspileKQLToOpenSearch(t *testing.T) {
Want: osu.NewBoolQuery().
Must(
osu.NewBoolQuery().
- Options(&osu.BoolQueryOptions{MinimumShouldMatch: 1}).
+ Params(&osu.BoolQueryParams{MinimumShouldMatch: 1}).
Should(
osu.NewTermQuery[string]("a").Value("a"),
osu.NewTermQuery[string]("b").Value("b"),
@@ -351,7 +351,7 @@ func TestTranspileKQLToOpenSearch(t *testing.T) {
Want: osu.NewBoolQuery().
Must(
osu.NewBoolQuery().
- Options(&osu.BoolQueryOptions{MinimumShouldMatch: 1}).
+ Params(&osu.BoolQueryParams{MinimumShouldMatch: 1}).
Should(
osu.NewTermQuery[string]("a").Value("a"),
osu.NewTermQuery[string]("b").Value("b"),
diff --git a/services/search/pkg/opensearch/internal/osu/osu.go b/services/search/pkg/opensearch/internal/osu/osu.go
index e959db90f..03aa169bf 100644
--- a/services/search/pkg/opensearch/internal/osu/osu.go
+++ b/services/search/pkg/opensearch/internal/osu/osu.go
@@ -110,19 +110,19 @@ func isEmpty(x any) bool {
}
}
-func merge[T any](options ...T) T {
- mapOptions := make(map[string]any)
+func merge[T any](vals ...T) T {
+ base := make(map[string]any)
- for _, option := range options {
- data, err := conversions.To[map[string]any](option)
+ for _, val := range vals {
+ data, err := conversions.To[map[string]any](val)
if err != nil {
continue
}
- _ = mergo.Merge(&mapOptions, data)
+ _ = mergo.Merge(&base, data)
}
- data, _ := conversions.To[T](mapOptions)
+ data, _ := conversions.To[T](base)
return data
}
diff --git a/services/search/pkg/opensearch/internal/osu/query_bool.go b/services/search/pkg/opensearch/internal/osu/query_bool.go
index 3627f839c..abccd67d2 100644
--- a/services/search/pkg/opensearch/internal/osu/query_bool.go
+++ b/services/search/pkg/opensearch/internal/osu/query_bool.go
@@ -9,10 +9,10 @@ type BoolQuery struct {
mustNot []Builder
should []Builder
filter []Builder
- options *BoolQueryOptions
+ params *BoolQueryParams
}
-type BoolQueryOptions struct {
+type BoolQueryParams struct {
MinimumShouldMatch int16 `json:"minimum_should_match,omitempty"`
Boost float32 `json:"boost,omitempty"`
Name string `json:"_name,omitempty"`
@@ -22,8 +22,8 @@ func NewBoolQuery() *BoolQuery {
return &BoolQuery{}
}
-func (q *BoolQuery) Options(v *BoolQueryOptions) *BoolQuery {
- q.options = v
+func (q *BoolQuery) Params(v *BoolQueryParams) *BoolQuery {
+ q.params = v
return q
}
@@ -48,7 +48,7 @@ func (q *BoolQuery) Filter(v ...Builder) *BoolQuery {
}
func (q *BoolQuery) Map() (map[string]any, error) {
- base, err := newBase(q.options)
+ base, err := newBase(q.params)
if err != nil {
return nil, err
}
diff --git a/services/search/pkg/opensearch/internal/osu/query_bool_test.go b/services/search/pkg/opensearch/internal/osu/query_bool_test.go
index 34cba77dc..3f33d4c1f 100644
--- a/services/search/pkg/opensearch/internal/osu/query_bool_test.go
+++ b/services/search/pkg/opensearch/internal/osu/query_bool_test.go
@@ -17,8 +17,8 @@ func TestBoolQuery(t *testing.T) {
Want: nil,
},
{
- Name: "with-options",
- Got: osu.NewBoolQuery().Options(&osu.BoolQueryOptions{
+ Name: "with params",
+ Got: osu.NewBoolQuery().Params(&osu.BoolQueryParams{
MinimumShouldMatch: 10,
Boost: 10,
Name: "some-name",
diff --git a/services/search/pkg/opensearch/internal/osu/query_full_text_match_phrase.go b/services/search/pkg/opensearch/internal/osu/query_full_text_match_phrase.go
index e1823d3b9..3ec92d258 100644
--- a/services/search/pkg/opensearch/internal/osu/query_full_text_match_phrase.go
+++ b/services/search/pkg/opensearch/internal/osu/query_full_text_match_phrase.go
@@ -5,12 +5,12 @@ import (
)
type MatchPhraseQuery struct {
- field string
- query string
- options *MatchPhraseQueryOptions
+ field string
+ query string
+ params *MatchPhraseQueryParams
}
-type MatchPhraseQueryOptions struct {
+type MatchPhraseQueryParams struct {
Analyzer string `json:"analyzer,omitempty"`
Slop int `json:"slop,omitempty"`
ZeroTermsQuery string `json:"zero_terms_query,omitempty"`
@@ -20,8 +20,8 @@ func NewMatchPhraseQuery(field string) *MatchPhraseQuery {
return &MatchPhraseQuery{field: field}
}
-func (q *MatchPhraseQuery) Options(v *MatchPhraseQueryOptions) *MatchPhraseQuery {
- q.options = v
+func (q *MatchPhraseQuery) Params(v *MatchPhraseQueryParams) *MatchPhraseQuery {
+ q.params = v
return q
}
@@ -31,7 +31,7 @@ func (q *MatchPhraseQuery) Query(v string) *MatchPhraseQuery {
}
func (q *MatchPhraseQuery) Map() (map[string]any, error) {
- base, err := newBase(q.options)
+ base, err := newBase(q.params)
if err != nil {
return nil, err
}
diff --git a/services/search/pkg/opensearch/internal/osu/query_full_text_match_phrase_test.go b/services/search/pkg/opensearch/internal/osu/query_full_text_match_phrase_test.go
index 32d28630d..2fa712d03 100644
--- a/services/search/pkg/opensearch/internal/osu/query_full_text_match_phrase_test.go
+++ b/services/search/pkg/opensearch/internal/osu/query_full_text_match_phrase_test.go
@@ -17,8 +17,8 @@ func TestNewMatchPhraseQuery(t *testing.T) {
Want: nil,
},
{
- Name: "options",
- Got: osu.NewMatchPhraseQuery("name").Options(&osu.MatchPhraseQueryOptions{
+ Name: "with params",
+ Got: osu.NewMatchPhraseQuery("name").Params(&osu.MatchPhraseQueryParams{
Analyzer: "analyzer",
Slop: 2,
ZeroTermsQuery: "all",
@@ -46,7 +46,7 @@ func TestNewMatchPhraseQuery(t *testing.T) {
},
{
Name: "full",
- Got: osu.NewMatchPhraseQuery("name").Options(&osu.MatchPhraseQueryOptions{
+ Got: osu.NewMatchPhraseQuery("name").Params(&osu.MatchPhraseQueryParams{
Analyzer: "analyzer",
Slop: 2,
ZeroTermsQuery: "all",
diff --git a/services/search/pkg/opensearch/internal/osu/query_term_level_ids.go b/services/search/pkg/opensearch/internal/osu/query_term_level_ids.go
index c7eb734b5..a0c0d0238 100644
--- a/services/search/pkg/opensearch/internal/osu/query_term_level_ids.go
+++ b/services/search/pkg/opensearch/internal/osu/query_term_level_ids.go
@@ -6,11 +6,11 @@ import (
)
type IDsQuery struct {
- values []string
- options *IDsQueryOptions
+ values []string
+ params *IDsQueryParams
}
-type IDsQueryOptions struct {
+type IDsQueryParams struct {
Boost float32 `json:"boost,omitempty"`
}
@@ -18,13 +18,13 @@ func NewIDsQuery(v ...string) *IDsQuery {
return &IDsQuery{values: slices.Compact(v)}
}
-func (q *IDsQuery) Options(v *IDsQueryOptions) *IDsQuery {
- q.options = v
+func (q *IDsQuery) Params(v *IDsQueryParams) *IDsQuery {
+ q.params = v
return q
}
func (q *IDsQuery) Map() (map[string]any, error) {
- base, err := newBase(q.options)
+ base, err := newBase(q.params)
if err != nil {
return nil, err
}
diff --git a/services/search/pkg/opensearch/internal/osu/query_term_level_ids_test.go b/services/search/pkg/opensearch/internal/osu/query_term_level_ids_test.go
index 8693a921e..1a1577764 100644
--- a/services/search/pkg/opensearch/internal/osu/query_term_level_ids_test.go
+++ b/services/search/pkg/opensearch/internal/osu/query_term_level_ids_test.go
@@ -17,7 +17,7 @@ func TestIDsQuery(t *testing.T) {
Want: nil,
},
{
- Name: "no options",
+ Name: "no params",
Got: osu.NewIDsQuery("1", "2", "3", "3"),
Want: map[string]any{
"ids": map[string]any{
@@ -27,7 +27,7 @@ func TestIDsQuery(t *testing.T) {
},
{
Name: "ids",
- Got: osu.NewIDsQuery("1", "2", "3", "3").Options(&osu.IDsQueryOptions{Boost: 1.0}),
+ Got: osu.NewIDsQuery("1", "2", "3", "3").Params(&osu.IDsQueryParams{Boost: 1.0}),
Want: map[string]any{
"ids": map[string]any{
"values": []string{"1", "2", "3"},
diff --git a/services/search/pkg/opensearch/internal/osu/query_term_level_range.go b/services/search/pkg/opensearch/internal/osu/query_term_level_range.go
index d471a8ad4..3e81bb00f 100644
--- a/services/search/pkg/opensearch/internal/osu/query_term_level_range.go
+++ b/services/search/pkg/opensearch/internal/osu/query_term_level_range.go
@@ -7,15 +7,15 @@ import (
)
type RangeQuery[T time.Time | string] struct {
- field string
- gt T
- gte T
- lt T
- lte T
- options *RangeQueryOptions
+ field string
+ gt T
+ gte T
+ lt T
+ lte T
+ params *RangeQueryParams
}
-type RangeQueryOptions struct {
+type RangeQueryParams struct {
Format string `json:"format,omitempty"`
Relation string `json:"relation,omitempty"`
Boost float32 `json:"boost,omitempty"`
@@ -26,8 +26,8 @@ func NewRangeQuery[T time.Time | string](field string) *RangeQuery[T] {
return &RangeQuery[T]{field: field}
}
-func (q *RangeQuery[T]) Options(v *RangeQueryOptions) *RangeQuery[T] {
- q.options = v
+func (q *RangeQuery[T]) Params(v *RangeQueryParams) *RangeQuery[T] {
+ q.params = v
return q
}
@@ -60,7 +60,7 @@ func (q *RangeQuery[T]) Map() (map[string]any, error) {
return nil, errors.New("cannot set both lt and lte in RangeQuery")
}
- base, err := newBase(q.options)
+ base, err := newBase(q.params)
if err != nil {
return nil, err
}
diff --git a/services/search/pkg/opensearch/internal/osu/query_term_level_range_test.go b/services/search/pkg/opensearch/internal/osu/query_term_level_range_test.go
index dce6727fb..0bb65fca7 100644
--- a/services/search/pkg/opensearch/internal/osu/query_term_level_range_test.go
+++ b/services/search/pkg/opensearch/internal/osu/query_term_level_range_test.go
@@ -121,8 +121,8 @@ func TestRangeQuery(t *testing.T) {
Err: errors.New(""),
},
{
- Name: "options",
- Got: osu.NewRangeQuery[time.Time]("created").Options(&osu.RangeQueryOptions{
+ Name: "with params",
+ Got: osu.NewRangeQuery[time.Time]("created").Params(&osu.RangeQueryParams{
Format: "strict_date_optional_time",
Relation: "within",
Boost: 1.0,
diff --git a/services/search/pkg/opensearch/internal/osu/query_term_level_term.go b/services/search/pkg/opensearch/internal/osu/query_term_level_term.go
index 9fb588609..0eca22860 100644
--- a/services/search/pkg/opensearch/internal/osu/query_term_level_term.go
+++ b/services/search/pkg/opensearch/internal/osu/query_term_level_term.go
@@ -5,12 +5,12 @@ import (
)
type TermQuery[T comparable] struct {
- field string
- value T
- options *TermQueryOptions
+ field string
+ value T
+ params *TermQueryParams
}
-type TermQueryOptions struct {
+type TermQueryParams struct {
Boost float32 `json:"boost,omitempty"`
CaseInsensitive bool `json:"case_insensitive,omitempty"`
Name string `json:"_name,omitempty"`
@@ -20,8 +20,8 @@ func NewTermQuery[T comparable](field string) *TermQuery[T] {
return &TermQuery[T]{field: field}
}
-func (q *TermQuery[T]) Options(v *TermQueryOptions) *TermQuery[T] {
- q.options = v
+func (q *TermQuery[T]) Params(v *TermQueryParams) *TermQuery[T] {
+ q.params = v
return q
}
@@ -31,7 +31,7 @@ func (q *TermQuery[T]) Value(v T) *TermQuery[T] {
}
func (q *TermQuery[T]) Map() (map[string]any, error) {
- base, err := newBase(q.options)
+ base, err := newBase(q.params)
if err != nil {
return nil, err
}
diff --git a/services/search/pkg/opensearch/internal/osu/query_term_level_term_test.go b/services/search/pkg/opensearch/internal/osu/query_term_level_term_test.go
index 0a5a7d35d..c4e9e8f32 100644
--- a/services/search/pkg/opensearch/internal/osu/query_term_level_term_test.go
+++ b/services/search/pkg/opensearch/internal/osu/query_term_level_term_test.go
@@ -17,7 +17,7 @@ func TestTermQuery(t *testing.T) {
Want: nil,
},
{
- Name: "no-options",
+ Name: "no params",
Got: osu.NewTermQuery[bool]("deleted").Value(false),
Want: map[string]any{
"term": map[string]any{
@@ -28,8 +28,8 @@ func TestTermQuery(t *testing.T) {
},
},
{
- Name: "with-options",
- Got: osu.NewTermQuery[bool]("deleted").Options(&osu.TermQueryOptions{
+ Name: "with params",
+ Got: osu.NewTermQuery[bool]("deleted").Params(&osu.TermQueryParams{
Boost: 1.0,
CaseInsensitive: true,
Name: "is-deleted",
diff --git a/services/search/pkg/opensearch/internal/osu/query_term_level_wildcard.go b/services/search/pkg/opensearch/internal/osu/query_term_level_wildcard.go
index 398909a22..48274ba9c 100644
--- a/services/search/pkg/opensearch/internal/osu/query_term_level_wildcard.go
+++ b/services/search/pkg/opensearch/internal/osu/query_term_level_wildcard.go
@@ -5,12 +5,12 @@ import (
)
type WildcardQuery struct {
- field string
- value string
- options *WildcardQueryOptions
+ field string
+ value string
+ params *WildcardQueryParams
}
-type WildcardQueryOptions struct {
+type WildcardQueryParams struct {
Boost float32 `json:"boost,omitempty"`
CaseInsensitive bool `json:"case_insensitive,omitempty"`
Rewrite string `json:"rewrite,omitempty"`
@@ -20,8 +20,8 @@ func NewWildcardQuery(field string) *WildcardQuery {
return &WildcardQuery{field: field}
}
-func (q *WildcardQuery) Options(v *WildcardQueryOptions) *WildcardQuery {
- q.options = v
+func (q *WildcardQuery) Params(v *WildcardQueryParams) *WildcardQuery {
+ q.params = v
return q
}
@@ -31,7 +31,7 @@ func (q *WildcardQuery) Value(v string) *WildcardQuery {
}
func (q *WildcardQuery) Map() (map[string]any, error) {
- base, err := newBase(q.options)
+ base, err := newBase(q.params)
if err != nil {
return nil, err
}
diff --git a/services/search/pkg/opensearch/internal/osu/query_term_level_wildcard_test.go b/services/search/pkg/opensearch/internal/osu/query_term_level_wildcard_test.go
index b23f3e47c..afc810e36 100644
--- a/services/search/pkg/opensearch/internal/osu/query_term_level_wildcard_test.go
+++ b/services/search/pkg/opensearch/internal/osu/query_term_level_wildcard_test.go
@@ -18,7 +18,7 @@ func TestWildcardQuery(t *testing.T) {
},
{
Name: "wildcard",
- Got: osu.NewWildcardQuery("name").Options(&osu.WildcardQueryOptions{
+ Got: osu.NewWildcardQuery("name").Params(&osu.WildcardQueryParams{
Boost: 1.0,
CaseInsensitive: true,
Rewrite: "top_terms_blended_freqs_N",
diff --git a/services/search/pkg/opensearch/internal/osu/request.go b/services/search/pkg/opensearch/internal/osu/request.go
index 60125d0dd..8e845cf0a 100644
--- a/services/search/pkg/opensearch/internal/osu/request.go
+++ b/services/search/pkg/opensearch/internal/osu/request.go
@@ -7,17 +7,17 @@ import (
opensearchgoAPI "github.com/opensearch-project/opensearch-go/v4/opensearchapi"
)
-type RequestBody[O any] struct {
- query Builder
- options O
+type QueryReqBody[P any] struct {
+ query Builder
+ params P
}
-func NewRequestBody[O any](q Builder, o ...O) *RequestBody[O] {
- return &RequestBody[O]{query: q, options: merge(o...)}
+func NewQueryReqBody[P any](q Builder, p ...P) *QueryReqBody[P] {
+ return &QueryReqBody[P]{query: q, params: merge(p...)}
}
-func (q RequestBody[O]) Map() (map[string]any, error) {
- base, err := newBase(q.options)
+func (q QueryReqBody[O]) Map() (map[string]any, error) {
+ base, err := newBase(q.params)
if err != nil {
return nil, err
}
@@ -29,7 +29,7 @@ func (q RequestBody[O]) Map() (map[string]any, error) {
return base, nil
}
-func (q RequestBody[O]) MarshalJSON() ([]byte, error) {
+func (q QueryReqBody[O]) MarshalJSON() ([]byte, error) {
data, err := q.Map()
if err != nil {
return nil, err
@@ -40,13 +40,13 @@ func (q RequestBody[O]) MarshalJSON() ([]byte, error) {
//----------------------------------------------------------------------------//
-type HighlightOption struct {
- PreTags []string `json:"pre_tags,omitempty"`
- PostTags []string `json:"post_tags,omitempty"`
- Fields map[string]HighlightOption `json:"fields,omitempty"`
+type BodyParamHighlight struct {
+ PreTags []string `json:"pre_tags,omitempty"`
+ PostTags []string `json:"post_tags,omitempty"`
+ Fields map[string]BodyParamHighlight `json:"fields,omitempty"`
}
-type ScriptOption struct {
+type BodyParamScript struct {
Source string `json:"source,omitempty"`
Lang string `json:"lang,omitempty"`
Params map[string]any `json:"params,omitempty"`
@@ -54,8 +54,8 @@ type ScriptOption struct {
//----------------------------------------------------------------------------//
-func BuildSearchReq(req *opensearchgoAPI.SearchReq, q Builder, o ...SearchReqOptions) (*opensearchgoAPI.SearchReq, error) {
- body, err := json.Marshal(NewRequestBody(q, o...))
+func BuildSearchReq(req *opensearchgoAPI.SearchReq, q Builder, p ...SearchBodyParams) (*opensearchgoAPI.SearchReq, error) {
+ body, err := json.Marshal(NewQueryReqBody(q, p...))
if err != nil {
return nil, err
}
@@ -63,14 +63,14 @@ func BuildSearchReq(req *opensearchgoAPI.SearchReq, q Builder, o ...SearchReqOpt
return req, nil
}
-type SearchReqOptions struct {
- Highlight *HighlightOption `json:"highlight,omitempty"`
+type SearchBodyParams struct {
+ Highlight *BodyParamHighlight `json:"highlight,omitempty"`
}
//----------------------------------------------------------------------------//
func BuildDocumentDeleteByQueryReq(req opensearchgoAPI.DocumentDeleteByQueryReq, q Builder) (opensearchgoAPI.DocumentDeleteByQueryReq, error) {
- body, err := json.Marshal(NewRequestBody[any](q))
+ body, err := json.Marshal(NewQueryReqBody[any](q))
if err != nil {
return req, err
}
@@ -80,8 +80,8 @@ func BuildDocumentDeleteByQueryReq(req opensearchgoAPI.DocumentDeleteByQueryReq,
//----------------------------------------------------------------------------//
-func BuildUpdateByQueryReq(req opensearchgoAPI.UpdateByQueryReq, q Builder, o ...UpdateByQueryReqOptions) (opensearchgoAPI.UpdateByQueryReq, error) {
- body, err := json.Marshal(NewRequestBody(q, o...))
+func BuildUpdateByQueryReq(req opensearchgoAPI.UpdateByQueryReq, q Builder, o ...UpdateByQueryBodyParams) (opensearchgoAPI.UpdateByQueryReq, error) {
+ body, err := json.Marshal(NewQueryReqBody(q, o...))
if err != nil {
return req, err
}
@@ -89,14 +89,14 @@ func BuildUpdateByQueryReq(req opensearchgoAPI.UpdateByQueryReq, q Builder, o ..
return req, nil
}
-type UpdateByQueryReqOptions struct {
- Script *ScriptOption `json:"script,omitempty"`
+type UpdateByQueryBodyParams struct {
+ Script *BodyParamScript `json:"script,omitempty"`
}
//----------------------------------------------------------------------------//
func BuildIndicesCountReq(req *opensearchgoAPI.IndicesCountReq, q Builder) (*opensearchgoAPI.IndicesCountReq, error) {
- body, err := json.Marshal(NewRequestBody[any](q))
+ body, err := json.Marshal(NewQueryReqBody[any](q))
if err != nil {
return nil, err
}
diff --git a/services/search/pkg/opensearch/internal/osu/request_test.go b/services/search/pkg/opensearch/internal/osu/request_test.go
index 3b607c659..6a48cd398 100644
--- a/services/search/pkg/opensearch/internal/osu/request_test.go
+++ b/services/search/pkg/opensearch/internal/osu/request_test.go
@@ -16,7 +16,7 @@ func TestRequestBody(t *testing.T) {
tests := []opensearchtest.TableTest[osu.Builder, map[string]any]{
{
Name: "simple",
- Got: osu.NewRequestBody[any](osu.NewTermQuery[string]("name").Value("tom")),
+ Got: osu.NewQueryReqBody[any](osu.NewTermQuery[string]("name").Value("tom")),
Want: map[string]any{
"query": map[string]any{
"term": map[string]any{
@@ -44,11 +44,11 @@ func TestBuildSearchReq(t *testing.T) {
req, _ := osu.BuildSearchReq(
&opensearchgoAPI.SearchReq{},
osu.NewTermQuery[string]("content").Value("content"),
- osu.SearchReqOptions{
- Highlight: &osu.HighlightOption{
+ osu.SearchBodyParams{
+ Highlight: &osu.BodyParamHighlight{
PreTags: []string{""},
PostTags: []string{""},
- Fields: map[string]osu.HighlightOption{
+ Fields: map[string]osu.BodyParamHighlight{
"content": {},
},
},