From 1bb7b17d84cafca2e0f2b6d30b3b41b1358ef303 Mon Sep 17 00:00:00 2001 From: PesTospertnyj <88313176+GoncharovArturChi@users.noreply.github.com> Date: Thu, 6 Jan 2022 22:28:19 +0200 Subject: [PATCH] boost support for match query added --- query_match.go | 7 +++++++ query_match_test.go | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/query_match.go b/query_match.go index f34779b..627cdf8 100644 --- a/query_match.go +++ b/query_match.go @@ -71,6 +71,7 @@ type matchParams struct { MinMatch string `structs:"minimum_should_match,omitempty"` ZeroTerms ZeroTerms `structs:"zero_terms_query,string,omitempty"` Slp uint16 `structs:"slop,omitempty"` // only relevant for match_phrase query + Boost float32 `structs:"boost,omitempty"` } // Match creates a new query of type "match" with the provided field name. @@ -202,6 +203,12 @@ func (q *MatchQuery) ZeroTermsQuery(s ZeroTerms) *MatchQuery { return q } +// Boost sets the boost value of the query. +func (q *MatchQuery) Boost(b float32) *MatchQuery { + q.params.Boost = b + return q +} + // MatchOperator is an enumeration type representing supported values for a // match query's "operator" parameter. type MatchOperator uint8 diff --git a/query_match_test.go b/query_match_test.go index 238c68d..e04c3b4 100644 --- a/query_match_test.go +++ b/query_match_test.go @@ -17,6 +17,18 @@ func TestMatch(t *testing.T) { }, }, }, + { + "simple match with boost", + Match("title", "sample text").Boost(50), + map[string]interface{}{ + "match": map[string]interface{}{ + "title": map[string]interface{}{ + "query": "sample text", + "boost": 50, + }, + }, + }, + }, { "match with more params", Match("issue_number").Query(16).Transpositions(false).MaxExpansions(32).Operator(OperatorAnd),