git.iko.soy/typeable/bloodhound
on master help sign in
Drop unnecessary toJSONs

It seems that the .= combinator already turns the RHS into JSON, so this was converting it into JSON and then converting that value into JSON (essentially 'id', may have even been erased by GHC).

commit34af7bff1e93708d372005d2c30553bc6f4c97a8 authorMichael Xavier <michael@michaelxavier.net> dateTue 17 Mar 2015, 08:54 (12 years ago) parente773b5b
2 files changed+163−162
src/Database/Bloodhound/Client.hs+14−13 src/Database/Bloodhound/Types.hs+149−149
src/Database/Bloodhound/Client.hs+14−13
@@ -58,6 +58,7 @@ import qualified Data.ByteString.Lazy.Char8 as L
5858import Data.List (intercalate)
5959import Data.Maybe (fromMaybe)
6060import Data.Text (Text)
61+import qualified Data.Text as T
6162import qualified Data.Vector as V
6263import Network.HTTP.Client
6364import qualified Network.HTTP.Types.Method as NHTM
@@ -136,7 +137,7 @@ mkReplicaCount n
136137emptyBody :: L.ByteString
137138emptyBody = L.pack ""
138139
139−dispatch :: MonadBH m => Method -> String -> Maybe L.ByteString
140+dispatch :: MonadBH m => Method -> Text -> Maybe L.ByteString
140141 -> m Reply
141142dispatch dMethod url body = do
142143 initReq <- liftIO $ parseUrl url
@@ -147,10 +148,10 @@ dispatch dMethod url body = do
147148 mgr <- bhManager <$> getBHEnv
148149 liftIO $ httpLbs req mgr
149150
150−joinPath' :: [String] -> String
151−joinPath' = intercalate "/"
151+joinPath' :: [Text] -> Text
152+joinPath' = T.intercalate "/"
152153
153−joinPath :: MonadBH m => [String] -> m String
154+joinPath :: MonadBH m => [Text] -> m Text
154155joinPath ps = do
155156 Server s <- bhServer <$> getBHEnv
156157 return $ joinPath' (s:ps)
@@ -170,15 +171,15 @@ withBH ms s f = withManager ms $ \mgr -> do
170171 runBH env f
171172
172173-- Shortcut functions for HTTP methods
173−delete :: MonadBH m => String -> m Reply
174+delete :: MonadBH m => Text -> m Reply
174175delete = flip (dispatch NHTM.methodDelete) Nothing
175−get :: MonadBH m => String -> m Reply
176+get :: MonadBH m => Text -> m Reply
176177get = flip (dispatch NHTM.methodGet) Nothing
177−head :: MonadBH m => String -> m Reply
178+head :: MonadBH m => Text -> m Reply
178179head = flip (dispatch NHTM.methodHead) Nothing
179−put :: MonadBH m => String -> Maybe L.ByteString -> m Reply
180+put :: MonadBH m => Text -> Maybe L.ByteString -> m Reply
180181put = dispatch NHTM.methodPost
181−post :: MonadBH m => String -> Maybe L.ByteString -> m Reply
182+post :: MonadBH m => Text -> Maybe L.ByteString -> m Reply
182183post = dispatch NHTM.methodPost
183184
184185-- indexDocument s ix name doc = put (root </> s </> ix </> name </> doc) (Just encode doc)
@@ -229,7 +230,7 @@ statusCodeIs n resp = NHTS.statusCode (responseStatus resp) == n
229230respIsTwoHunna :: Reply -> Bool
230231respIsTwoHunna = statusCodeIs 200
231232
232−existentialQuery :: MonadBH m => String -> m (Reply, Bool)
233+existentialQuery :: MonadBH m => Text -> m (Reply, Bool)
233234existentialQuery url = do
234235 reply <- head url
235236 return (reply, respIsTwoHunna reply)
@@ -253,7 +254,7 @@ refreshIndex (IndexName indexName) =
253254 bindM2 post url (return Nothing)
254255 where url = joinPath [indexName, "_refresh"]
255256
256−stringifyOCIndex :: OpenCloseIndex -> String
257+stringifyOCIndex :: OpenCloseIndex -> Text
257258stringifyOCIndex oci = case oci of
258259 OpenIndex -> "_open"
259260 CloseIndex -> "_close"
@@ -360,7 +361,7 @@ encodeBulkOperations stream = collapsed where
360361mash :: Builder -> V.Vector L.ByteString -> Builder
361362mash = V.foldl' (\b x -> b `mappend` (byteString "\n") `mappend` (lazyByteString x))
362363
363−mkBulkStreamValue :: Text -> String -> String -> String -> Value
364+mkBulkStreamValue :: Text -> Text -> Text -> Text -> Value
364365mkBulkStreamValue operation indexName mappingName docId =
365366 object [operation .=
366367 object [ "_index" .= indexName
@@ -422,7 +423,7 @@ documentExists (IndexName indexName)
422423 return exists
423424 where url = joinPath [indexName, mappingName, docId]
424425
425−dispatchSearch :: MonadBH m => String -> Search -> m Reply
426+dispatchSearch :: MonadBH m => Text -> Search -> m Reply
426427dispatchSearch url search = post url (Just (encode search))
427428
428429-- | 'searchAll', given a 'Search', will perform that search against all indexes
src/Database/Bloodhound/Types.hs+149−149
@@ -457,22 +457,22 @@ newtype ReplicaCount = ReplicaCount Int deriving (Eq, Show, Generic)
457457
458458{-| 'Server' is used with the client functions to point at the ES instance
459459-}
460−newtype Server = Server String deriving (Eq, Show)
460+newtype Server = Server Text deriving (Eq, Show)
461461
462462{-| 'IndexName' is used to describe which index to query/create/delete
463463-}
464−newtype IndexName = IndexName String deriving (Eq, Generic, Show)
464+newtype IndexName = IndexName Text deriving (Eq, Generic, Show)
465465
466466{-| 'MappingName' is part of mappings which are how ES describes and schematizes
467467 the data in the indices.
468468-}
469−newtype MappingName = MappingName String deriving (Eq, Generic, Show)
469+newtype MappingName = MappingName Text deriving (Eq, Generic, Show)
470470
471471{-| 'DocId' is a generic wrapper value for expressing unique Document IDs.
472472 Can be set by the user or created by ES itself. Often used in client
473473 functions for poking at specific documents.
474474-}
475−newtype DocId = DocId String deriving (Eq, Generic, Show)
475+newtype DocId = DocId Text deriving (Eq, Generic, Show)
476476
477477{-| 'QueryString' is used to wrap query text bodies, be they human written or not.
478478-}
@@ -583,7 +583,7 @@ newtype MaxDocFrequency = MaxDocFrequency Int deriving (Eq, Show, Generic)
583583
584584{-| 'unpackId' is a silly convenience function that gets used once.
585585-}
586−unpackId :: DocId -> String
586+unpackId :: DocId -> Text
587587unpackId (DocId docId) = docId
588588
589589type TrackSortScores = Bool
@@ -1252,29 +1252,29 @@ instance Show TimeInterval where
12521252instance ToJSON Aggregation where
12531253 toJSON (TermsAgg (TermsAggregation term include exclude order minDocCount size shardSize collectMode executionHint termAggs)) =
12541254 omitNulls ["terms" .= omitNulls [ toJSON' term,
1255− "include" .= toJSON include,
1256− "exclude" .= toJSON exclude,
1257− "order" .= toJSON order,
1258− "min_doc_count" .= toJSON minDocCount,
1259− "size" .= toJSON size,
1260− "shard_size" .= toJSON shardSize,
1261− "collect_mode" .= toJSON collectMode,
1262− "execution_hint" .= toJSON executionHint
1255+ "include" .= include,
1256+ "exclude" .= exclude,
1257+ "order" .= order,
1258+ "min_doc_count" .= minDocCount,
1259+ "size" .= size,
1260+ "shard_size" .= shardSize,
1261+ "collect_mode" .= collectMode,
1262+ "execution_hint" .= executionHint
12631263 ],
1264− "aggs" .= toJSON termAggs ]
1264+ "aggs" .= termAggs ]
12651265 where
1266− toJSON' x = case x of { Left y -> "field" .= toJSON y; Right y -> "script" .= toJSON y }
1266+ toJSON' x = case x of { Left y -> "field" .= y; Right y -> "script" .= y }
12671267
12681268 toJSON (DateHistogramAgg (DateHistogramAggregation field interval format preZone postZone preOffset postOffset dateHistoAggs)) =
1269− omitNulls ["date_histogram" .= omitNulls [ "field" .= toJSON field,
1270− "interval" .= toJSON interval,
1271− "format" .= toJSON format,
1272− "pre_zone" .= toJSON preZone,
1273− "post_zone" .= toJSON postZone,
1274− "pre_offset" .= toJSON preOffset,
1275− "post_offset" .= toJSON postOffset
1269+ omitNulls ["date_histogram" .= omitNulls [ "field" .= field,
1270+ "interval" .= interval,
1271+ "format" .= format,
1272+ "pre_zone" .= preZone,
1273+ "post_zone" .= postZone,
1274+ "pre_offset" .= preOffset,
1275+ "post_offset" .= postOffset
12761276 ],
1277− "aggs" .= toJSON dateHistoAggs ]
1277+ "aggs" .= dateHistoAggs ]
12781278
12791279type AggregationResults = M.Map Text Value
12801280
@@ -1352,7 +1352,7 @@ instance ToJSON Filter where
13521352
13531353 toJSON (NotFilter notFilter cache) =
13541354 object ["not" .=
1355− object ["filter" .= toJSON notFilter
1355+ object ["filter" .= notFilter
13561356 , "_cache" .= cache]]
13571357
13581358 toJSON (IdentityFilter) =
@@ -1368,26 +1368,26 @@ instance ToJSON Filter where
13681368 ["field" .= fieldName]]
13691369
13701370 toJSON (BoolFilter boolMatch) =
1371− object ["bool" .= toJSON boolMatch]
1371+ object ["bool" .= boolMatch]
13721372
13731373 toJSON (GeoBoundingBoxFilter bbConstraint) =
1374− object ["geo_bounding_box" .= toJSON bbConstraint]
1374+ object ["geo_bounding_box" .= bbConstraint]
13751375
13761376 toJSON (GeoDistanceFilter (GeoPoint (FieldName distanceGeoField) geoDistLatLon)
13771377 distance distanceType optimizeBbox cache) =
13781378 object ["geo_distance" .=
1379− object ["distance" .= toJSON distance
1380− , "distance_type" .= toJSON distanceType
1379+ object ["distance" .= distance
1380+ , "distance_type" .= distanceType
13811381 , "optimize_bbox" .= optimizeBbox
1382− , distanceGeoField .= toJSON geoDistLatLon
1382+ , distanceGeoField .= geoDistLatLon
13831383 , "_cache" .= cache]]
13841384
13851385 toJSON (GeoDistanceRangeFilter (GeoPoint (FieldName gddrField) drLatLon)
13861386 (DistanceRange geoDistRangeDistFrom drDistanceTo)) =
13871387 object ["geo_distance_range" .=
1388− object ["from" .= toJSON geoDistRangeDistFrom
1389− , "to" .= toJSON drDistanceTo
1390− , gddrField .= toJSON drLatLon]]
1388+ object ["from" .= geoDistRangeDistFrom
1389+ , "to" .= drDistanceTo
1390+ , gddrField .= drLatLon]]
13911391
13921392 toJSON (GeoPolygonFilter (FieldName geoPolygonFilterField) latLons) =
13931393 object ["geo_polygon" .=
@@ -1397,7 +1397,7 @@ instance ToJSON Filter where
13971397 toJSON (IdsFilter (MappingName mappingName) values) =
13981398 object ["ids" .=
13991399 object ["type" .= mappingName
1400− , "values" .= fmap (T.pack . unpackId) values]]
1400+ , "values" .= fmap unpackId values]]
14011401
14021402 toJSON (LimitFilter limit) =
14031403 object ["limit" .= object ["value" .= limit]]
@@ -1416,7 +1416,7 @@ instance ToJSON Filter where
14161416 toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =
14171417 object ["range" .=
14181418 object [ fieldName .= object (rangeValueToPair rangeValue)
1419− , "execution" .= toJSON rangeExecution
1419+ , "execution" .= rangeExecution
14201420 , "_cache" .= cache]]
14211421
14221422 toJSON (RegexpFilter (FieldName fieldName)
@@ -1424,14 +1424,14 @@ instance ToJSON Filter where
14241424 object ["regexp" .=
14251425 object [fieldName .=
14261426 object ["value" .= regexText
1427− , "flags" .= toJSON flags]
1427+ , "flags" .= flags]
14281428 , "_name" .= cacheName
14291429 , "_cache" .= cache
14301430 , "_cache_key" .= cacheKey]]
14311431
14321432instance ToJSON GeoPoint where
14331433 toJSON (GeoPoint (FieldName geoPointField) geoPointLatLon) =
1434− object [ geoPointField .= toJSON geoPointLatLon ]
1434+ object [ geoPointField .= geoPointLatLon ]
14351435
14361436
14371437instance ToJSON Query where
@@ -1451,82 +1451,82 @@ instance ToJSON Query where
14511451 getTermValue (Term _ v) = v
14521452 toJSON (IdsQuery idsQueryMappingName docIds) =
14531453 object [ "ids" .= object conjoined ]
1454− where conjoined = [ "type" .= toJSON idsQueryMappingName
1454+ where conjoined = [ "type" .= idsQueryMappingName
14551455 , "values" .= fmap toJSON docIds ]
14561456
14571457 toJSON (QueryQueryStringQuery qQueryStringQuery) =
1458− object [ "query_string" .= toJSON qQueryStringQuery ]
1458+ object [ "query_string" .= qQueryStringQuery ]
14591459
14601460 toJSON (QueryMatchQuery matchQuery) =
1461− object [ "match" .= toJSON matchQuery ]
1461+ object [ "match" .= matchQuery ]
14621462
14631463 toJSON (QueryMultiMatchQuery multiMatchQuery) =
14641464 toJSON multiMatchQuery
14651465
14661466 toJSON (QueryBoolQuery boolQuery) =
1467− object [ "bool" .= toJSON boolQuery ]
1467+ object [ "bool" .= boolQuery ]
14681468
14691469 toJSON (QueryBoostingQuery boostingQuery) =
1470− object [ "boosting" .= toJSON boostingQuery ]
1470+ object [ "boosting" .= boostingQuery ]
14711471
14721472 toJSON (QueryCommonTermsQuery commonTermsQuery) =
1473− object [ "common" .= toJSON commonTermsQuery ]
1473+ object [ "common" .= commonTermsQuery ]
14741474
14751475 toJSON (ConstantScoreFilter csFilter boost) =
1476− object [ "constant_score" .= toJSON csFilter
1477− , "boost" .= toJSON boost]
1476+ object [ "constant_score" .= csFilter
1477+ , "boost" .= boost]
14781478
14791479 toJSON (ConstantScoreQuery query boost) =
1480− object [ "constant_score" .= toJSON query
1481− , "boost" .= toJSON boost]
1480+ object [ "constant_score" .= query
1481+ , "boost" .= boost]
14821482
14831483 toJSON (QueryDisMaxQuery disMaxQuery) =
1484− object [ "dis_max" .= toJSON disMaxQuery ]
1484+ object [ "dis_max" .= disMaxQuery ]
14851485
14861486 toJSON (QueryFilteredQuery qFilteredQuery) =
1487− object [ "filtered" .= toJSON qFilteredQuery ]
1487+ object [ "filtered" .= qFilteredQuery ]
14881488
14891489 toJSON (QueryFuzzyLikeThisQuery fuzzyQuery) =
1490− object [ "fuzzy_like_this" .= toJSON fuzzyQuery ]
1490+ object [ "fuzzy_like_this" .= fuzzyQuery ]
14911491
14921492 toJSON (QueryFuzzyLikeFieldQuery fuzzyFieldQuery) =
1493− object [ "fuzzy_like_this_field" .= toJSON fuzzyFieldQuery ]
1493+ object [ "fuzzy_like_this_field" .= fuzzyFieldQuery ]
14941494
14951495 toJSON (QueryFuzzyQuery fuzzyQuery) =
1496− object [ "fuzzy" .= toJSON fuzzyQuery ]
1496+ object [ "fuzzy" .= fuzzyQuery ]
14971497
14981498 toJSON (QueryHasChildQuery childQuery) =
1499− object [ "has_child" .= toJSON childQuery ]
1499+ object [ "has_child" .= childQuery ]
15001500
15011501 toJSON (QueryHasParentQuery parentQuery) =
1502− object [ "has_parent" .= toJSON parentQuery ]
1502+ object [ "has_parent" .= parentQuery ]
15031503
15041504 toJSON (QueryIndicesQuery qIndicesQuery) =
1505− object [ "indices" .= toJSON qIndicesQuery ]
1505+ object [ "indices" .= qIndicesQuery ]
15061506
15071507 toJSON (MatchAllQuery boost) =
15081508 object [ "match_all" .= omitNulls [ "boost" .= boost ] ]
15091509
15101510 toJSON (QueryMoreLikeThisQuery query) =
1511− object [ "more_like_this" .= toJSON query ]
1511+ object [ "more_like_this" .= query ]
15121512
15131513 toJSON (QueryMoreLikeThisFieldQuery query) =
1514− object [ "more_like_this_field" .= toJSON query ]
1514+ object [ "more_like_this_field" .= query ]
15151515
15161516 toJSON (QueryNestedQuery query) =
1517− object [ "nested" .= toJSON query ]
1517+ object [ "nested" .= query ]
15181518
15191519 toJSON (QueryPrefixQuery query) =
1520− object [ "prefix" .= toJSON query ]
1520+ object [ "prefix" .= query ]
15211521
15221522 toJSON (QueryRangeQuery query) =
1523− object [ "range" .= toJSON query ]
1523+ object [ "range" .= query ]
15241524
15251525 toJSON (QueryRegexpQuery query) =
1526− object [ "regexp" .= toJSON query ]
1526+ object [ "regexp" .= query ]
15271527
15281528 toJSON (QuerySimpleQueryStringQuery query) =
1529− object [ "simple_query_string" .= toJSON query ]
1529+ object [ "simple_query_string" .= query ]
15301530
15311531
15321532omitNulls :: [(Text, Value)] -> Value
@@ -1539,7 +1539,7 @@ omitNulls = object . filter notNull where
15391539instance ToJSON SimpleQueryStringQuery where
15401540 toJSON SimpleQueryStringQuery {..} =
15411541 omitNulls (base ++ maybeAdd)
1542− where base = [ "query" .= toJSON simpleQueryStringQuery ]
1542+ where base = [ "query" .= simpleQueryStringQuery ]
15431543 maybeAdd = [ "fields" .= simpleQueryStringField
15441544 , "default_operator" .= simpleQueryStringOperator
15451545 , "analyzer" .= simpleQueryStringAnalyzer
@@ -1575,7 +1575,7 @@ instance ToJSON RegexpQuery where
15751575 rqQueryBoost) =
15761576 object [ rqQueryField .= omitNulls base ]
15771577 where base = [ "value" .= regexpQueryQuery
1578− , "flags" .= toJSON rqQueryFlags
1578+ , "flags" .= rqQueryFlags
15791579 , "boost" .= rqQueryBoost ]
15801580
15811581
@@ -1591,7 +1591,7 @@ instance ToJSON QueryStringQuery where
15911591 qsLenient qsLocale) =
15921592 omitNulls base
15931593 where
1594− base = [ "query" .= toJSON qsQueryString
1594+ base = [ "query" .= qsQueryString
15951595 , "default_field" .= qsDefaultField
15961596 , "default_operator" .= qsOperator
15971597 , "analyzer" .= qsAnalyzer
@@ -1613,21 +1613,21 @@ instance ToJSON QueryStringQuery where
16131613instance ToJSON RangeQuery where
16141614 toJSON (RangeQuery (FieldName fieldName) range boost) =
16151615 object [ fieldName .= conjoined ]
1616− where conjoined = [ "boost" .= toJSON boost ] ++ (rangeValueToPair range)
1616+ where conjoined = [ "boost" .= boost ] ++ (rangeValueToPair range)
16171617
16181618
16191619instance ToJSON PrefixQuery where
16201620 toJSON (PrefixQuery (FieldName fieldName) queryValue boost) =
16211621 object [ fieldName .= omitNulls base ]
1622− where base = [ "value" .= toJSON queryValue
1622+ where base = [ "value" .= queryValue
16231623 , "boost" .= boost ]
16241624
16251625
16261626instance ToJSON NestedQuery where
16271627 toJSON (NestedQuery nqPath nqScoreType nqQuery) =
1628− object [ "path" .= toJSON nqPath
1629− , "score_mode" .= toJSON nqScoreType
1630− , "query" .= toJSON nqQuery ]
1628+ object [ "path" .= nqPath
1629+ , "score_mode" .= nqScoreType
1630+ , "query" .= nqQuery ]
16311631
16321632
16331633instance ToJSON MoreLikeThisFieldQuery where
@@ -1635,7 +1635,7 @@ instance ToJSON MoreLikeThisFieldQuery where
16351635 percent mtf mqt stopwords mindf maxdf
16361636 minwl maxwl boostTerms boost analyzer) =
16371637 object [ fieldName .= omitNulls base ]
1638− where base = [ "like_text" .= toJSON text
1638+ where base = [ "like_text" .= text
16391639 , "percent_terms_to_match" .= percent
16401640 , "min_term_freq" .= mtf
16411641 , "max_query_terms" .= mqt
@@ -1654,7 +1654,7 @@ instance ToJSON MoreLikeThisQuery where
16541654 mtf mqt stopwords mindf maxdf
16551655 minwl maxwl boostTerms boost analyzer) =
16561656 omitNulls base
1657− where base = [ "like_text" .= toJSON text
1657+ where base = [ "like_text" .= text
16581658 , "fields" .= fields
16591659 , "percent_terms_to_match" .= percent
16601660 , "min_term_freq" .= mtf
@@ -1671,34 +1671,34 @@ instance ToJSON MoreLikeThisQuery where
16711671
16721672instance ToJSON IndicesQuery where
16731673 toJSON (IndicesQuery indices query noMatch) =
1674− omitNulls [ "indices" .= toJSON indices
1675− , "no_match_query" .= toJSON noMatch
1676− , "query" .= toJSON query ]
1674+ omitNulls [ "indices" .= indices
1675+ , "no_match_query" .= noMatch
1676+ , "query" .= query ]
16771677
16781678
16791679instance ToJSON HasParentQuery where
16801680 toJSON (HasParentQuery queryType query scoreType) =
1681− omitNulls [ "parent_type" .= toJSON queryType
1682− , "score_type" .= toJSON scoreType
1683− , "query" .= toJSON query ]
1681+ omitNulls [ "parent_type" .= queryType
1682+ , "score_type" .= scoreType
1683+ , "query" .= query ]
16841684
16851685
16861686instance ToJSON HasChildQuery where
16871687 toJSON (HasChildQuery queryType query scoreType) =
1688− omitNulls [ "query" .= toJSON query
1689− , "score_type" .= toJSON scoreType
1690− , "type" .= toJSON queryType ]
1688+ omitNulls [ "query" .= query
1689+ , "score_type" .= scoreType
1690+ , "type" .= queryType ]
16911691
16921692
16931693instance ToJSON FuzzyQuery where
16941694 toJSON (FuzzyQuery (FieldName fieldName) queryText
16951695 prefixLength maxEx fuzziness boost) =
16961696 object [ fieldName .= omitNulls base ]
1697− where base = [ "value" .= toJSON queryText
1698− , "fuzziness" .= toJSON fuzziness
1699− , "prefix_length" .= toJSON prefixLength
1700− , "boost" .= toJSON boost
1701− , "max_expansions" .= toJSON maxEx ]
1697+ where base = [ "value" .= queryText
1698+ , "fuzziness" .= fuzziness
1699+ , "prefix_length" .= prefixLength
1700+ , "boost" .= boost
1701+ , "max_expansions" .= maxEx ]
17021702
17031703
17041704instance ToJSON FuzzyLikeFieldQuery where
@@ -1706,41 +1706,41 @@ instance ToJSON FuzzyLikeFieldQuery where
17061706 fieldText maxTerms ignoreFreq fuzziness prefixLength
17071707 boost analyzer) =
17081708 object [ fieldName .=
1709− omitNulls [ "like_text" .= toJSON fieldText
1710− , "max_query_terms" .= toJSON maxTerms
1711− , "ignore_tf" .= toJSON ignoreFreq
1712− , "fuzziness" .= toJSON fuzziness
1713− , "prefix_length" .= toJSON prefixLength
1714− , "analyzer" .= toJSON analyzer
1715− , "boost" .= toJSON boost ]]
1709+ omitNulls [ "like_text" .= fieldText
1710+ , "max_query_terms" .= maxTerms
1711+ , "ignore_tf" .= ignoreFreq
1712+ , "fuzziness" .= fuzziness
1713+ , "prefix_length" .= prefixLength
1714+ , "analyzer" .= analyzer
1715+ , "boost" .= boost ]]
17161716
17171717
17181718instance ToJSON FuzzyLikeThisQuery where
17191719 toJSON (FuzzyLikeThisQuery fields text maxTerms
17201720 ignoreFreq fuzziness prefixLength boost analyzer) =
17211721 omitNulls base
1722− where base = [ "fields" .= toJSON fields
1723− , "like_text" .= toJSON text
1724− , "max_query_terms" .= toJSON maxTerms
1725− , "ignore_tf" .= toJSON ignoreFreq
1726− , "fuzziness" .= toJSON fuzziness
1727− , "prefix_length" .= toJSON prefixLength
1728− , "analyzer" .= toJSON analyzer
1729− , "boost" .= toJSON boost ]
1722+ where base = [ "fields" .= fields
1723+ , "like_text" .= text
1724+ , "max_query_terms" .= maxTerms
1725+ , "ignore_tf" .= ignoreFreq
1726+ , "fuzziness" .= fuzziness
1727+ , "prefix_length" .= prefixLength
1728+ , "analyzer" .= analyzer
1729+ , "boost" .= boost ]
17301730
17311731
17321732instance ToJSON FilteredQuery where
17331733 toJSON (FilteredQuery query fFilter) =
1734− object [ "query" .= toJSON query
1735− , "filter" .= toJSON fFilter ]
1734+ object [ "query" .= query
1735+ , "filter" .= fFilter ]
17361736
17371737
17381738instance ToJSON DisMaxQuery where
17391739 toJSON (DisMaxQuery queries tiebreaker boost) =
17401740 omitNulls base
1741− where base = [ "queries" .= toJSON queries
1742− , "boost" .= toJSON boost
1743− , "tie_breaker" .= toJSON tiebreaker ]
1741+ where base = [ "queries" .= queries
1742+ , "boost" .= boost
1743+ , "tie_breaker" .= tiebreaker ]
17441744
17451745
17461746instance ToJSON CommonTermsQuery where
@@ -1748,38 +1748,38 @@ instance ToJSON CommonTermsQuery where
17481748 (QueryString query) cf lfo hfo msm
17491749 boost analyzer disableCoord) =
17501750 object [fieldName .= omitNulls base ]
1751− where base = [ "query" .= toJSON query
1752− , "cutoff_frequency" .= toJSON cf
1753− , "low_freq_operator" .= toJSON lfo
1754− , "minimum_should_match" .= toJSON msm
1755− , "boost" .= toJSON boost
1756− , "analyzer" .= toJSON analyzer
1757− , "disable_coord" .= toJSON disableCoord
1758− , "high_freq_operator" .= toJSON hfo ]
1751+ where base = [ "query" .= query
1752+ , "cutoff_frequency" .= cf
1753+ , "low_freq_operator" .= lfo
1754+ , "minimum_should_match" .= msm
1755+ , "boost" .= boost
1756+ , "analyzer" .= analyzer
1757+ , "disable_coord" .= disableCoord
1758+ , "high_freq_operator" .= hfo ]
17591759
17601760
17611761instance ToJSON CommonMinimumMatch where
17621762 toJSON (CommonMinimumMatch mm) = toJSON mm
17631763 toJSON (CommonMinimumMatchHighLow (MinimumMatchHighLow lowF highF)) =
1764− object [ "low_freq" .= toJSON lowF
1765− , "high_freq" .= toJSON highF ]
1764+ object [ "low_freq" .= lowF
1765+ , "high_freq" .= highF ]
17661766
17671767instance ToJSON BoostingQuery where
17681768 toJSON (BoostingQuery bqPositiveQuery bqNegativeQuery bqNegativeBoost) =
1769− object [ "positive" .= toJSON bqPositiveQuery
1770− , "negative" .= toJSON bqNegativeQuery
1771− , "negative_boost" .= toJSON bqNegativeBoost ]
1769+ object [ "positive" .= bqPositiveQuery
1770+ , "negative" .= bqNegativeQuery
1771+ , "negative_boost" .= bqNegativeBoost ]
17721772
17731773
17741774instance ToJSON BoolQuery where
17751775 toJSON (BoolQuery mustM notM shouldM bqMin boost disableCoord) =
17761776 omitNulls base
1777− where base = [ "must" .= toJSON mustM
1778− , "must_not" .= toJSON notM
1779− , "should" .= toJSON shouldM
1780− , "minimum_should_match" .= toJSON bqMin
1781− , "boost" .= toJSON boost
1782− , "disable_coord" .= toJSON disableCoord ]
1777+ where base = [ "must" .= mustM
1778+ , "must_not" .= notM
1779+ , "should" .= shouldM
1780+ , "minimum_should_match" .= bqMin
1781+ , "boost" .= boost
1782+ , "disable_coord" .= disableCoord ]
17831783
17841784
17851785instance ToJSON MatchQuery where
@@ -1789,13 +1789,13 @@ instance ToJSON MatchQuery where
17891789 analyzer maxExpansions lenient) =
17901790 object [ fieldName .= omitNulls base ]
17911791 where base = [ "query" .= mqQueryString
1792− , "operator" .= toJSON booleanOperator
1793− , "zero_terms_query" .= toJSON zeroTermsQuery
1794− , "cutoff_frequency" .= toJSON cutoffFrequency
1795− , "type" .= toJSON matchQueryType
1796− , "analyzer" .= toJSON analyzer
1797− , "max_expansions" .= toJSON maxExpansions
1798− , "lenient" .= toJSON lenient ]
1792+ , "operator" .= booleanOperator
1793+ , "zero_terms_query" .= zeroTermsQuery
1794+ , "cutoff_frequency" .= cutoffFrequency
1795+ , "type" .= matchQueryType
1796+ , "analyzer" .= analyzer
1797+ , "max_expansions" .= maxExpansions
1798+ , "lenient" .= lenient ]
17991799
18001800
18011801instance ToJSON MultiMatchQuery where
@@ -1804,14 +1804,14 @@ instance ToJSON MultiMatchQuery where
18041804 object ["multi_match" .= omitNulls base]
18051805 where base = [ "fields" .= fmap toJSON fields
18061806 , "query" .= query
1807− , "operator" .= toJSON boolOp
1808− , "zero_terms_query" .= toJSON ztQ
1809− , "tiebreaker" .= toJSON tb
1810− , "type" .= toJSON mmqt
1811− , "cutoff_frequency" .= toJSON cf
1812− , "analyzer" .= toJSON analyzer
1813− , "max_expansions" .= toJSON maxEx
1814− , "lenient" .= toJSON lenient ]
1807+ , "operator" .= boolOp
1808+ , "zero_terms_query" .= ztQ
1809+ , "tiebreaker" .= tb
1810+ , "type" .= mmqt
1811+ , "cutoff_frequency" .= cf
1812+ , "analyzer" .= analyzer
1813+ , "max_expansions" .= maxEx
1814+ , "lenient" .= lenient ]
18151815
18161816
18171817instance ToJSON MultiMatchQueryType where
@@ -1923,7 +1923,7 @@ instance ToJSON FieldHighlight where
19231923
19241924instance ToJSON Highlights where
19251925 toJSON (Highlights global fields) =
1926− omitNulls (("fields" .= toJSON fields)
1926+ omitNulls (("fields" .= fields)
19271927 : highlightSettingsPairs global)
19281928
19291929instance ToJSON HighlightSettings where
@@ -2001,16 +2001,16 @@ instance ToJSON SortSpec where
20012001 (DefaultSort (FieldName dsSortFieldName) dsSortOrder dsIgnoreUnmapped
20022002 dsSortMode dsMissingSort dsNestedFilter)) =
20032003 object [dsSortFieldName .= omitNulls base] where
2004− base = [ "order" .= toJSON dsSortOrder
2004+ base = [ "order" .= dsSortOrder
20052005 , "ignore_unmapped" .= dsIgnoreUnmapped
20062006 , "mode" .= dsSortMode
20072007 , "missing" .= dsMissingSort
20082008 , "nested_filter" .= dsNestedFilter ]
20092009
20102010 toJSON (GeoDistanceSortSpec gdsSortOrder (GeoPoint (FieldName field) gdsLatLon) units) =
2011− object [ "unit" .= toJSON units
2012− , field .= toJSON gdsLatLon
2013− , "order" .= toJSON gdsSortOrder ]
2011+ object [ "unit" .= units
2012+ , field .= gdsLatLon
2013+ , "order" .= gdsSortOrder ]
20142014
20152015
20162016instance ToJSON SortOrder where
@@ -2072,7 +2072,7 @@ instance ToJSON OptimizeBbox where
20722072instance ToJSON GeoBoundingBoxConstraint where
20732073 toJSON (GeoBoundingBoxConstraint
20742074 (FieldName gbbcGeoBBField) gbbcConstraintBox cache type') =
2075− object [gbbcGeoBBField .= toJSON gbbcConstraintBox
2075+ object [gbbcGeoBBField .= gbbcConstraintBox
20762076 , "_cache" .= cache
20772077 , "type" .= type']
20782078
@@ -2084,8 +2084,8 @@ instance ToJSON GeoFilterType where
20842084
20852085instance ToJSON GeoBoundingBox where
20862086 toJSON (GeoBoundingBox gbbTopLeft gbbBottomRight) =
2087− object ["top_left" .= toJSON gbbTopLeft
2088− , "bottom_right" .= toJSON gbbBottomRight]
2087+ object ["top_left" .= gbbTopLeft
2088+ , "bottom_right" .= gbbBottomRight]
20892089
20902090
20912091instance ToJSON LatLon where
@@ -2118,9 +2118,9 @@ instance ToJSON Term where
21182118
21192119
21202120instance ToJSON BoolMatch where
2121− toJSON (MustMatch term cache) = object ["must" .= toJSON term,
2121+ toJSON (MustMatch term cache) = object ["must" .= term,
21222122 "_cache" .= cache]
2123− toJSON (MustNotMatch term cache) = object ["must_not" .= toJSON term,
2123+ toJSON (MustNotMatch term cache) = object ["must_not" .= term,
21242124 "_cache" .= cache]
21252125 toJSON (ShouldMatch terms cache) = object ["should" .= fmap toJSON terms,
21262126 "_cache" .= cache]