Merge pull request #212 from andrewthad/match_query_minimum_should_match

add minimum_should_match to MatchQuery
This commit is contained in:
Chris Allen 2017-12-05 13:01:02 -06:00 committed by GitHub
commit 07f6bc5493
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1528,13 +1528,15 @@ data MatchQuery =
, matchQueryAnalyzer :: Maybe Analyzer
, matchQueryMaxExpansions :: Maybe MaxExpansions
, matchQueryLenient :: Maybe Lenient
, matchQueryBoost :: Maybe Boost } deriving (Eq, Read, Show, Generic, Typeable)
, matchQueryBoost :: Maybe Boost
, matchQueryMinimumShouldMatch :: Maybe Text
} deriving (Eq, Read, Show, Generic, Typeable)
{-| 'mkMatchQuery' is a convenience function that defaults the less common parameters,
enabling you to provide only the 'FieldName' and 'QueryString' to make a 'MatchQuery'
-}
mkMatchQuery :: FieldName -> QueryString -> MatchQuery
mkMatchQuery field query = MatchQuery field query Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing
mkMatchQuery field query = MatchQuery field query Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing Nothing
data MatchQueryType =
MatchPhrase
@ -2924,7 +2926,9 @@ instance ToJSON MatchQuery where
toJSON (MatchQuery (FieldName fieldName)
(QueryString mqQueryString) booleanOperator
zeroTermsQuery cutoffFrequency matchQueryType
analyzer maxExpansions lenient boost) =
analyzer maxExpansions lenient boost
minShouldMatch
) =
object [ fieldName .= omitNulls base ]
where base = [ "query" .= mqQueryString
, "operator" .= booleanOperator
@ -2934,7 +2938,9 @@ instance ToJSON MatchQuery where
, "analyzer" .= analyzer
, "max_expansions" .= maxExpansions
, "lenient" .= lenient
, "boost" .= boost ]
, "boost" .= boost
, "minimum_should_match" .= minShouldMatch
]
instance FromJSON MatchQuery where
parseJSON = withObject "MatchQuery" parse
@ -2949,6 +2955,7 @@ instance FromJSON MatchQuery where
<*> o .:? "max_expansions"
<*> o .:? "lenient"
<*> o .:? "boost"
<*> o .:? "minimum_should_match"
instance ToJSON MultiMatchQuery where
toJSON (MultiMatchQuery fields (QueryString query) boolOp