git.iko.soy/typeable/bloodhound
on master help sign in
Use datatype for source patterns.
b54846fThomas van Noort
src/Database/Bloodhound/Types.hs+28−3
@@ -64,6 +64,10 @@ module Database.Bloodhound.Types
64 , From(..)
64 , From(..)
65 , Size(..)
65 , Size(..)
66 , Source(..)
66 , Source(..)
67+ , PatternOrPatterns(..)
68+ , Include(..)
69+ , Exclude(..)
70+ , Pattern(..)
67 , ShardResult(..)
71 , ShardResult(..)
68 , Hit(..)
72 , Hit(..)
69 , Filter(..)
73 , Filter(..)
@@ -610,10 +614,18 @@ data Search = Search { queryBody :: Maybe Query
610
614
611data Source =
615data Source =
612 NoSource
616 NoSource
613− | SourceFields FieldOrFields
617+ | SourcePatterns PatternOrPatterns
614− | SourceIncludeExclude [Text] [Text]
618+ | SourceIncludeExclude Include Exclude
615 deriving (Show, Eq)
619 deriving (Show, Eq)
616
620
621+data PatternOrPatterns = PopPattern Pattern
622+ | PopPatterns [Pattern] deriving (Eq, Show)
623+
624+data Include = Include [Pattern] deriving (Eq, Show)
625+data Exclude = Exclude [Pattern] deriving (Eq, Show)
626+
627+newtype Pattern = Pattern Text deriving (Eq, Show)
628+
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
1940
1952
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 ]
1945
1957
1958+instance ToJSON PatternOrPatterns where
1959+ toJSON (PopPattern pattern) = toJSON pattern
1960+ toJSON (PopPatterns patterns) = toJSON patterns
1961+
1962+instance ToJSON Include where
1963+ toJSON (Include patterns) = toJSON patterns
1964+
1965+instance ToJSON Exclude where
1966+ toJSON (Exclude patterns) = toJSON patterns
1967+
1968+instance ToJSON Pattern where
1969+ toJSON (Pattern pattern) = toJSON pattern
1970+
1946
1971
1947instance ToJSON FieldHighlight where
1972instance ToJSON FieldHighlight where
1948 toJSON (FieldHighlight (FieldName fName) (Just fSettings)) =
1973 toJSON (FieldHighlight (FieldName fName) (Just fSettings)) =