@@ -172,10 +172,10 @@ import Data.Aeson.Types (parseMaybe)
172import qualified Data.ByteString.Lazy.Char8 as L
172import qualified Data.ByteString.Lazy.Char8 as L
173import Data.List (nub)
173import Data.List (nub)
174import Data.List.NonEmpty (NonEmpty (..))
174import Data.List.NonEmpty (NonEmpty (..))
175+import qualified Data.Map.Strict as M
175import Data.Monoid
176import Data.Monoid
176import Data.Text (Text)
177import Data.Text (Text)
177import qualified Data.Text as T
178import qualified Data.Text as T
178−import qualified Data.Map.Strict as M
179import Data.Time.Clock (UTCTime)
179import Data.Time.Clock (UTCTime)
180import qualified Data.Vector as V
180import qualified Data.Vector as V
181import GHC.Generics (Generic)
181import GHC.Generics (Generic)
@@ -496,10 +496,10 @@ type TrackSortScores = Bool
496type From = Int
496type From = Int
497type Size = Int
497type Size = Int
499−data Search = Search { queryBody :: Maybe Query
499+data Search = Search { queryBody :: Maybe Query
500− , filterBody :: Maybe Filter
500+ , filterBody :: Maybe Filter
501− , sortBody :: Maybe Sort
501+ , sortBody :: Maybe Sort
502− , aggBody :: Maybe Aggregations
502+ , aggBody :: Maybe Aggregations
503 -- default False
503 -- default False
504 , trackSortScores :: TrackSortScores
504 , trackSortScores :: TrackSortScores
505 , from :: From
505 , from :: From
@@ -1003,7 +1003,7 @@ data Interval = Year
1005 | Minute
1005 | Minute
1006− | Second
1006+ | Second
1007 | FractionalInterval Float TimeInterval deriving (Eq, Show)
1007 | FractionalInterval Float TimeInterval deriving (Eq, Show)
1009data Aggregation = TermsAgg TermsAggregation
1009data Aggregation = TermsAgg TermsAggregation
@@ -1022,14 +1022,14 @@ data TermsAggregation = TermsAggregation { term :: Either Text Text
1022 , termAggs :: Maybe Aggregations
1022 , termAggs :: Maybe Aggregations
1023 } deriving (Eq, Show)
1023 } deriving (Eq, Show)
1025−data DateHistogramAggregation = DateHistogramAggregation { dateField :: FieldName
1025+data DateHistogramAggregation = DateHistogramAggregation { dateField :: FieldName
1026− , dateInterval :: Interval
1026+ , dateInterval :: Interval
1027− , dateFormat :: Maybe Text
1027+ , dateFormat :: Maybe Text
1028− , datePreZone :: Maybe Text
1028+ , datePreZone :: Maybe Text
1029− , datePostZone :: Maybe Text
1029+ , datePostZone :: Maybe Text
1030− , datePreOffset :: Maybe Text
1030+ , datePreOffset :: Maybe Text
1031− , datePostOffset :: Maybe Text
1031+ , datePostOffset :: Maybe Text
1032− , dateAggs :: Maybe Aggregations
1032+ , dateAggs :: Maybe Aggregations
1033 } deriving (Eq, Show)
1033 } deriving (Eq, Show)
@@ -1053,7 +1053,7 @@ instance ToJSON TermInclusion where
1053instance ToJSON CollectionMode where
1053instance ToJSON CollectionMode where
1054 toJSON BreadthFirst = "breadth_first"
1054 toJSON BreadthFirst = "breadth_first"
1055 toJSON DepthFirst = "depth_first"
1055 toJSON DepthFirst = "depth_first"
1057instance ToJSON ExecutionHint where
1057instance ToJSON ExecutionHint where
1058 toJSON Ordinals = "ordinals"
1058 toJSON Ordinals = "ordinals"
1059 toJSON GlobalOrdinals = "global_ordinals"
1059 toJSON GlobalOrdinals = "global_ordinals"
@@ -1083,7 +1083,7 @@ instance ToJSON Aggregation where
1083 toJSON (TermsAgg (TermsAggregation term include exclude order minDocCount size shardSize collectMode executionHint aggs)) =
1083 toJSON (TermsAgg (TermsAggregation term include exclude order minDocCount size shardSize collectMode executionHint aggs)) =
1084 omitNulls ["terms" .= omitNulls [ toJSON' term,
1084 omitNulls ["terms" .= omitNulls [ toJSON' term,
1085 "include" .= toJSON include,
1085 "include" .= toJSON include,
1086− "exclude" .= toJSON exclude,
1086+ "exclude" .= toJSON exclude,
1087 "order" .= toJSON order,
1087 "order" .= toJSON order,
1088 "min_doc_count" .= toJSON minDocCount,
1088 "min_doc_count" .= toJSON minDocCount,
1089 "size" .= toJSON size,
1089 "size" .= toJSON size,
@@ -1116,10 +1116,10 @@ class BucketAggregation a where
1117data (FromJSON a, BucketAggregation a) => Bucket a = Bucket { buckets :: [a]} deriving (Show)
1117data (FromJSON a, BucketAggregation a) => Bucket a = Bucket { buckets :: [a]} deriving (Show)
1119−data TermsResult = TermsResult { termKey :: Text
1119+data TermsResult = TermsResult { termKey :: Text
1120− , termsDocCount :: Int
1120+ , termsDocCount :: Int
1121− , termsAggs :: Maybe AggregationResults } deriving (Show)
1121+ , termsAggs :: Maybe AggregationResults } deriving (Show)
1123data DateHistogramResult = DateHistogramResult { dateKey :: Int
1123data DateHistogramResult = DateHistogramResult { dateKey :: Int
1124 , dateKeyStr :: Maybe Text
1124 , dateKeyStr :: Maybe Text
1125 , dateDocCount :: Int
1125 , dateDocCount :: Int
@@ -1157,7 +1157,7 @@ instance FromJSON TermsResult where
1157instance FromJSON DateHistogramResult where
1157instance FromJSON DateHistogramResult where
1158 parseJSON (Object v) = DateHistogramResult <$>
1158 parseJSON (Object v) = DateHistogramResult <$>
1159 v .: "key" <*>
1159 v .: "key" <*>
1160− v .:? "key_as_string" <*>
1160+ v .:? "key_as_string" <*>
1161 v .: "doc_count" <*>
1161 v .: "doc_count" <*>
1162 v .:? "aggregations"
1162 v .:? "aggregations"
@@ -1302,7 +1302,7 @@ instance ToJSON Query where
1302 object [ "match" .= toJSON matchQuery ]
1302 object [ "match" .= toJSON matchQuery ]
1304 toJSON (QueryMultiMatchQuery multiMatchQuery) =
1304 toJSON (QueryMultiMatchQuery multiMatchQuery) =
1305− object [ "multi_match" .= toJSON multiMatchQuery ]
1305+ toJSON multiMatchQuery
1307 toJSON (QueryBoolQuery boolQuery) =
1307 toJSON (QueryBoolQuery boolQuery) =
1308 object [ "bool" .= toJSON boolQuery ]
1308 object [ "bool" .= toJSON boolQuery ]