@@ -64,6 +64,10 @@ module Database.Bloodhound.Types
64 , From(..)
64 , From(..)
65 , Size(..)
65 , Size(..)
66 , Source(..)
66 , Source(..)
67+ , PatternOrPatterns(..)
67 , ShardResult(..)
71 , ShardResult(..)
69 , Filter(..)
73 , Filter(..)
@@ -610,10 +614,18 @@ data Search = Search { queryBody :: Maybe Query
611data Source =
615data Source =
613− | SourceFields FieldOrFields
617+ | SourcePatterns PatternOrPatterns
614− | SourceIncludeExclude [Text] [Text]
618+ | SourceIncludeExclude Include Exclude
615 deriving (Show, Eq)
619 deriving (Show, Eq)
621+data PatternOrPatterns = PopPattern Pattern
622+ | PopPatterns [Pattern] deriving (Eq, Show)
624+data Include = Include [Pattern] deriving (Eq, Show)
625+data Exclude = Exclude [Pattern] deriving (Eq, Show)
627+newtype Pattern = Pattern Text deriving (Eq, Show)
617data Highlights = Highlights { globalsettings :: Maybe HighlightSettings
629data Highlights = Highlights { globalsettings :: Maybe HighlightSettings
618 , highlightFields :: [FieldHighlight]
630 , highlightFields :: [FieldHighlight]
619 } deriving (Show, Eq)
631 } deriving (Show, Eq)
@@ -1940,9 +1952,22 @@ instance ToJSON Search where
1941instance ToJSON Source where
1953instance ToJSON Source where
1942 toJSON NoSource = toJSON False
1954 toJSON NoSource = toJSON False
1943− toJSON (SourceFields fields) = toJSON fields
1955+ toJSON (SourcePatterns patterns) = toJSON patterns
1944 toJSON (SourceIncludeExclude incl excl) = object [ "include" .= incl, "exclude" .= excl ]
1956 toJSON (SourceIncludeExclude incl excl) = object [ "include" .= incl, "exclude" .= excl ]
1958+instance ToJSON PatternOrPatterns where
1959+ toJSON (PopPattern pattern) = toJSON pattern
1960+ toJSON (PopPatterns patterns) = toJSON patterns
1962+instance ToJSON Include where
1963+ toJSON (Include patterns) = toJSON patterns
1965+instance ToJSON Exclude where
1966+ toJSON (Exclude patterns) = toJSON patterns
1968+instance ToJSON Pattern where
1969+ toJSON (Pattern pattern) = toJSON pattern
1947instance ToJSON FieldHighlight where
1972instance ToJSON FieldHighlight where
1948 toJSON (FieldHighlight (FieldName fName) (Just fSettings)) =
1973 toJSON (FieldHighlight (FieldName fName) (Just fSettings)) =