git.iko.soy/typeable/bloodhound
on master help sign in
more cleanup
b2b5753Chris Allen
Database/Bloodhound/Client.hs+34−19
@@ -125,7 +125,7 @@ newtype Server = Server String deriving (Show)
125-- let (sts, err) = decode (responseBody resp) :: ElasticsearchError
125-- let (sts, err) = decode (responseBody resp) :: ElasticsearchError
126-- if T.isInfixOf "IndexAlreadyExistsException" error
126-- if T.isInfixOf "IndexAlreadyExistsException" error
127-- then IndexAlreadyExistsError
127-- then IndexAlreadyExistsError
128−-- else
128+-- else
129
129
130type Reply = Network.HTTP.Conduit.Response L.ByteString
130type Reply = Network.HTTP.Conduit.Response L.ByteString
131type Method = NHTM.Method
131type Method = NHTM.Method
@@ -300,33 +300,48 @@ data BooleanOperator = AND | OR deriving (Show)
300
300
301type DisMax = Bool -- "use_dis_max"
301type DisMax = Bool -- "use_dis_max"
302newtype TieBreaker = TieBreaker Int deriving (Show)
302newtype TieBreaker = TieBreaker Int deriving (Show)
303+data QueryField = DefaultField Text
303−data QueryField = DefaultField Text | Fields [Text] DisMax TieBreaker deriving (Show)
304+ | Fields [Text] DisMax TieBreaker deriving (Show)
304
305
305data QueryStringQuery =
306data QueryStringQuery =
306 QueryStringQuery { query :: QueryString
307 QueryStringQuery { query :: QueryString
308+ -- default _all
307− , field :: Maybe QueryField -- default _all
309+ , field :: Maybe QueryField
310+ -- default OR
308− , defaultOperator :: Maybe BooleanOperator -- default OR
311+ , defaultOperator :: Maybe BooleanOperator
312+ -- analyzer name
309− , analyzer :: Maybe Text -- analyzer name
313+ , analyzer :: Maybe Text
314+ -- default true
310− , allowLeadingWildcard :: Maybe Bool -- default true
315+ , allowLeadingWildcard :: Maybe Bool
316+ -- default true
311− , lowercaseExpandedTerms :: Maybe Bool -- default true
317+ , lowercaseExpandedTerms :: Maybe Bool
318+ -- default true
312− , enablePositionIncrements :: Maybe Bool -- default true
319+ , enablePositionIncrements :: Maybe Bool
320+ -- default 50
313− , fuzzyMaxExpansions :: Maybe Int -- default 50
321+ , fuzzyMaxExpansions :: Maybe Int
314− , fuzziness :: Maybe Text -- Fuzziness -- default AUTO, add type later
322+ -- Fuzziness -- default AUTO, add type later
323+ , fuzziness :: Maybe Text
315 , fuzzyPrefixLength :: Maybe Int -- default 0
324 , fuzzyPrefixLength :: Maybe Int -- default 0
316− , phraseSlop :: Maybe Int -- default 0, 0 means exact phrase matches
325+ -- default 0, 0 means exact phrase matches
326+ , phraseSlop :: Maybe Int
327+ -- default 1.0
317− , boost :: Maybe Double -- default 1.0
328+ , boost :: Maybe Double
318− , analyzeWildcard :: Maybe Bool -- default false, true forces wildcard analysis
329+ -- default false, true forces wildcard analysis
330+ , analyzeWildcard :: Maybe Bool
331+ -- default false
319− , autoGeneratePhraseQueries :: Maybe Bool -- default false
332+ , autoGeneratePhraseQueries :: Maybe Bool
320− , minimumShouldMatch :: Maybe Text -- # "should" clauses in the boolean query should match
333+ -- # "should" clauses in the boolean query should match
334+ , minimumShouldMatch :: Maybe Text
321− -- Text to handle weird % and other cases. Needs type
335+ -- Text to handle weird % and other cases. Needs type
322− , lenient :: Maybe Bool -- default false, true shuts off format based failures
336+ -- default false, true shuts off format based failures
337+ , lenient :: Maybe Bool
323− , locale :: Maybe Text -- default ROOT, locale used for string conversions
338+ -- default ROOT, locale used for string conversions
339+ , locale :: Maybe Text
324 } deriving (Show)
340 } deriving (Show)
325
341
326emptyQueryStringQuery = QueryStringQuery "" Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing
342emptyQueryStringQuery = QueryStringQuery "" Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing
327queryStringQuery query = emptyQueryStringQuery { query = query }
343queryStringQuery query = emptyQueryStringQuery { query = query }
328
344
329−-- ugh
330type FieldName = Text
345type FieldName = Text
331
346
332type Cache = Bool -- caching on/off
347type Cache = Bool -- caching on/off