git.iko.soy/typeable/bloodhound
on master help sign in
add minimum_should_match to MatchQuery
f8dd607Andrew Martin
src/Database/V5/Bloodhound/Types.hs+11−4
@@ -1438,13 +1438,15 @@ data MatchQuery =
1438 , matchQueryAnalyzer :: Maybe Analyzer
1438 , matchQueryAnalyzer :: Maybe Analyzer
1439 , matchQueryMaxExpansions :: Maybe MaxExpansions
1439 , matchQueryMaxExpansions :: Maybe MaxExpansions
1440 , matchQueryLenient :: Maybe Lenient
1440 , matchQueryLenient :: Maybe Lenient
1441+ , matchQueryBoost :: Maybe Boost
1442+ , matchQueryMinimumShouldMatch :: Maybe Text
1441− , matchQueryBoost :: Maybe Boost } deriving (Eq, Read, Show, Generic, Typeable)
1443+ } deriving (Eq, Read, Show, Generic, Typeable)
1442
1444
1443{-| 'mkMatchQuery' is a convenience function that defaults the less common parameters,
1445{-| 'mkMatchQuery' is a convenience function that defaults the less common parameters,
1444 enabling you to provide only the 'FieldName' and 'QueryString' to make a 'MatchQuery'
1446 enabling you to provide only the 'FieldName' and 'QueryString' to make a 'MatchQuery'
1445-}
1447-}
1446mkMatchQuery :: FieldName -> QueryString -> MatchQuery
1448mkMatchQuery :: FieldName -> QueryString -> MatchQuery
1447−mkMatchQuery field query = MatchQuery field query Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing
1449+mkMatchQuery field query = MatchQuery field query Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing Nothing
1448
1450
1449data MatchQueryType =
1451data MatchQueryType =
1450 MatchPhrase
1452 MatchPhrase
@@ -2834,7 +2836,9 @@ instance ToJSON MatchQuery where
2834 toJSON (MatchQuery (FieldName fieldName)
2836 toJSON (MatchQuery (FieldName fieldName)
2835 (QueryString mqQueryString) booleanOperator
2837 (QueryString mqQueryString) booleanOperator
2836 zeroTermsQuery cutoffFrequency matchQueryType
2838 zeroTermsQuery cutoffFrequency matchQueryType
2837− analyzer maxExpansions lenient boost) =
2839+ analyzer maxExpansions lenient boost
2840+ minShouldMatch
2841+ ) =
2838 object [ fieldName .= omitNulls base ]
2842 object [ fieldName .= omitNulls base ]
2839 where base = [ "query" .= mqQueryString
2843 where base = [ "query" .= mqQueryString
2840 , "operator" .= booleanOperator
2844 , "operator" .= booleanOperator
@@ -2844,7 +2848,9 @@ instance ToJSON MatchQuery where
2844 , "analyzer" .= analyzer
2848 , "analyzer" .= analyzer
2845 , "max_expansions" .= maxExpansions
2849 , "max_expansions" .= maxExpansions
2846 , "lenient" .= lenient
2850 , "lenient" .= lenient
2847− , "boost" .= boost ]
2851+ , "boost" .= boost
2852+ , "minimum_should_match" .= minShouldMatch
2853+ ]
2848
2854
2849instance FromJSON MatchQuery where
2855instance FromJSON MatchQuery where
2850 parseJSON = withObject "MatchQuery" parse
2856 parseJSON = withObject "MatchQuery" parse
@@ -2859,6 +2865,7 @@ instance FromJSON MatchQuery where
2859 <*> o .:? "max_expansions"
2865 <*> o .:? "max_expansions"
2860 <*> o .:? "lenient"
2866 <*> o .:? "lenient"
2861 <*> o .:? "boost"
2867 <*> o .:? "boost"
2868+ <*> o .:? "minimum_should_match"
2862
2869
2863instance ToJSON MultiMatchQuery where
2870instance ToJSON MultiMatchQuery where
2864 toJSON (MultiMatchQuery fields (QueryString query) boolOp
2871 toJSON (MultiMatchQuery fields (QueryString query) boolOp