Copyright | (C) 2014 2015 2016 Chris Allen |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Chris Allen <cma@bitemyapp.com |
Stability | provisional |
Portability | DeriveGeneric, RecordWildCards |
Safe Haskell | None |
Language | Haskell2010 |
Data types for describing actions and data structures performed to interact
with Elasticsearch. The two main buckets your queries against Elasticsearch
will fall into are Query
s and Filter
s. Filter
s are more like
traditional database constraints and often have preferable performance
properties. Query
s support human-written textual queries, such as fuzzy
queries.
- defaultCache :: Cache
- defaultIndexSettings :: IndexSettings
- defaultIndexDocumentSettings :: IndexDocumentSettings
- mkSort :: FieldName -> SortOrder -> DefaultSort
- showText :: Show a => a -> Text
- unpackId :: DocId -> Text
- mkMatchQuery :: FieldName -> QueryString -> MatchQuery
- mkMultiMatchQuery :: [FieldName] -> QueryString -> MultiMatchQuery
- mkBoolQuery :: [Query] -> [Query] -> [Query] -> BoolQuery
- mkRangeQuery :: FieldName -> RangeValue -> RangeQuery
- mkQueryStringQuery :: QueryString -> QueryStringQuery
- mkAggregations :: Text -> Aggregation -> Aggregations
- mkTermsAggregation :: Text -> TermsAggregation
- mkTermsScriptAggregation :: Text -> TermsAggregation
- mkDateHistogram :: FieldName -> Interval -> DateHistogramAggregation
- mkCardinalityAggregation :: FieldName -> CardinalityAggregation
- mkDocVersion :: Int -> Maybe DocVersion
- docVersionNumber :: DocVersion -> Int
- toMissing :: Text -> AggregationResults -> Maybe MissingResult
- toTerms :: Text -> AggregationResults -> Maybe (Bucket TermsResult)
- toDateHistogram :: Text -> AggregationResults -> Maybe (Bucket DateHistogramResult)
- toTopHits :: FromJSON a => Text -> AggregationResults -> Maybe (TopHitResult a)
- omitNulls :: [(Text, Value)] -> Value
- newtype BH m a = BH {}
- runBH :: BHEnv -> BH m a -> m a
- data BHEnv
- bhServer :: BHEnv -> Server
- bhManager :: BHEnv -> Manager
- bhRequestHook :: BHEnv -> Request -> IO Request
- mkBHEnv :: Server -> Manager -> BHEnv
- class (Functor m, Applicative m, MonadIO m) => MonadBH m where
- data Version = Version {}
- newtype VersionNumber = VersionNumber {}
- newtype MaybeNA a = MaybeNA {}
- newtype BuildHash = BuildHash {}
- data Status = Status {}
- newtype Existence = Existence Bool
- newtype NullValue = NullValue Bool
- data IndexSettings = IndexSettings {}
- data UpdatableIndexSetting
- = NumberOfReplicas ReplicaCount
- | AutoExpandReplicas ReplicaBounds
- | BlocksReadOnly Bool
- | BlocksRead Bool
- | BlocksWrite Bool
- | BlocksMetaData Bool
- | RefreshInterval NominalDiffTime
- | IndexConcurrency Int
- | FailOnMergeFailure Bool
- | TranslogFlushThresholdOps Int
- | TranslogFlushThresholdSize Bytes
- | TranslogFlushThresholdPeriod NominalDiffTime
- | TranslogDisableFlush Bool
- | CacheFilterMaxSize (Maybe Bytes)
- | CacheFilterExpire (Maybe NominalDiffTime)
- | GatewaySnapshotInterval NominalDiffTime
- | RoutingAllocationInclude (NonEmpty NodeAttrFilter)
- | RoutingAllocationExclude (NonEmpty NodeAttrFilter)
- | RoutingAllocationRequire (NonEmpty NodeAttrFilter)
- | RoutingAllocationEnable AllocationPolicy
- | RoutingAllocationShardsPerNode ShardCount
- | RecoveryInitialShards InitialShardCount
- | GCDeletes NominalDiffTime
- | TTLDisablePurge Bool
- | TranslogFSType FSType
- | IndexCompoundFormat CompoundFormat
- | IndexCompoundOnFlush Bool
- | WarmerEnabled Bool
- data IndexSettingsSummary = IndexSettingsSummary {}
- data AllocationPolicy
- data ReplicaBounds
- newtype Bytes = Bytes Int
- gigabytes :: Int -> Bytes
- megabytes :: Int -> Bytes
- kilobytes :: Int -> Bytes
- data FSType
- data InitialShardCount
- data NodeAttrFilter = NodeAttrFilter {}
- newtype NodeAttrName = NodeAttrName Text
- data CompoundFormat
- data IndexTemplate = IndexTemplate {}
- newtype Server = Server Text
- type Reply = Response LByteString
- data EsResult a = EsResult {
- _index :: Text
- _type :: Text
- _id :: Text
- foundResult :: Maybe (EsResultFound a)
- data EsResultFound a = EsResultFound {
- _version :: DocVersion
- _source :: a
- data EsError = EsError {
- errorStatus :: Int
- errorMessage :: Text
- data EsProtocolException = EsProtocolException {
- esProtoExBody :: LByteString
- data IndexAlias = IndexAlias {}
- newtype IndexAliasName = IndexAliasName {}
- data IndexAliasAction
- data IndexAliasCreate = IndexAliasCreate {}
- data IndexAliasSummary = IndexAliasSummary {}
- newtype IndexAliasesSummary = IndexAliasesSummary {}
- data AliasRouting
- newtype SearchAliasRouting = SearchAliasRouting (NonEmpty RoutingValue)
- newtype IndexAliasRouting = IndexAliasRouting RoutingValue
- newtype RoutingValue = RoutingValue {
- routingValue :: Text
- data DocVersion
- newtype ExternalDocVersion = ExternalDocVersion DocVersion
- data VersionControl
- newtype DocumentParent = DocumentParent DocId
- data IndexDocumentSettings = IndexDocumentSettings {}
- data Query
- = TermQuery Term (Maybe Boost)
- | TermsQuery Text (NonEmpty Text)
- | QueryMatchQuery MatchQuery
- | QueryMultiMatchQuery MultiMatchQuery
- | QueryBoolQuery BoolQuery
- | QueryBoostingQuery BoostingQuery
- | QueryCommonTermsQuery CommonTermsQuery
- | ConstantScoreFilter Filter Boost
- | ConstantScoreQuery Query Boost
- | QueryDisMaxQuery DisMaxQuery
- | QueryFilteredQuery FilteredQuery
- | QueryFuzzyLikeThisQuery FuzzyLikeThisQuery
- | QueryFuzzyLikeFieldQuery FuzzyLikeFieldQuery
- | QueryFuzzyQuery FuzzyQuery
- | QueryHasChildQuery HasChildQuery
- | QueryHasParentQuery HasParentQuery
- | IdsQuery MappingName [DocId]
- | QueryIndicesQuery IndicesQuery
- | MatchAllQuery (Maybe Boost)
- | QueryMoreLikeThisQuery MoreLikeThisQuery
- | QueryMoreLikeThisFieldQuery MoreLikeThisFieldQuery
- | QueryNestedQuery NestedQuery
- | QueryPrefixQuery PrefixQuery
- | QueryQueryStringQuery QueryStringQuery
- | QuerySimpleQueryStringQuery SimpleQueryStringQuery
- | QueryRangeQuery RangeQuery
- | QueryRegexpQuery RegexpQuery
- | QueryTemplateQueryInline TemplateQueryInline
- data Search = Search {
- queryBody :: Maybe Query
- filterBody :: Maybe Filter
- sortBody :: Maybe Sort
- aggBody :: Maybe Aggregations
- highlight :: Maybe Highlights
- trackSortScores :: TrackSortScores
- from :: From
- size :: Size
- searchType :: SearchType
- fields :: Maybe [FieldName]
- source :: Maybe Source
- suggestBody :: Maybe Suggest
- data SearchType
- data SearchResult a = SearchResult {}
- newtype ScrollId = ScrollId Text
- data SearchHits a = SearchHits {}
- type TrackSortScores = Bool
- newtype From = From Int
- newtype Size = Size Int
- data Source
- data PatternOrPatterns
- data Include = Include [Pattern]
- data Exclude = Exclude [Pattern]
- newtype Pattern = Pattern Text
- data ShardResult = ShardResult {
- shardTotal :: Int
- shardsSuccessful :: Int
- shardsFailed :: Int
- data Hit a = Hit {
- hitIndex :: IndexName
- hitType :: MappingName
- hitDocId :: DocId
- hitScore :: Score
- hitSource :: Maybe a
- hitHighlight :: Maybe HitHighlight
- data Filter
- = AndFilter [Filter] Cache
- | OrFilter [Filter] Cache
- | NotFilter Filter Cache
- | IdentityFilter
- | BoolFilter BoolMatch
- | ExistsFilter FieldName
- | GeoBoundingBoxFilter GeoBoundingBoxConstraint
- | GeoDistanceFilter GeoPoint Distance DistanceType OptimizeBbox Cache
- | GeoDistanceRangeFilter GeoPoint DistanceRange
- | GeoPolygonFilter FieldName [LatLon]
- | IdsFilter MappingName [DocId]
- | LimitFilter Int
- | MissingFilter FieldName Existence NullValue
- | PrefixFilter FieldName PrefixValue Cache
- | QueryFilter Query Cache
- | RangeFilter FieldName RangeValue RangeExecution Cache
- | RegexpFilter FieldName Regexp RegexpFlags CacheName Cache CacheKey
- | TermFilter Term Cache
- class Monoid a => Seminearring a where
- data BoolMatch
- data Term = Term {}
- data GeoPoint = GeoPoint {}
- data GeoBoundingBoxConstraint = GeoBoundingBoxConstraint {}
- data GeoBoundingBox = GeoBoundingBox {
- topLeft :: LatLon
- bottomRight :: LatLon
- data GeoFilterType
- data Distance = Distance {}
- data DistanceUnit
- = Miles
- | Yards
- | Feet
- | Inches
- | Kilometers
- | Meters
- | Centimeters
- | Millimeters
- | NauticalMiles
- data DistanceType
- data DistanceRange = DistanceRange {}
- data OptimizeBbox
- data LatLon = LatLon {}
- data RangeValue
- = RangeDateLte LessThanEqD
- | RangeDateLt LessThanD
- | RangeDateGte GreaterThanEqD
- | RangeDateGt GreaterThanD
- | RangeDateGtLt GreaterThanD LessThanD
- | RangeDateGteLte GreaterThanEqD LessThanEqD
- | RangeDateGteLt GreaterThanEqD LessThanD
- | RangeDateGtLte GreaterThanD LessThanEqD
- | RangeDoubleLte LessThanEq
- | RangeDoubleLt LessThan
- | RangeDoubleGte GreaterThanEq
- | RangeDoubleGt GreaterThan
- | RangeDoubleGtLt GreaterThan LessThan
- | RangeDoubleGteLte GreaterThanEq LessThanEq
- | RangeDoubleGteLt GreaterThanEq LessThan
- | RangeDoubleGtLte GreaterThan LessThanEq
- data RangeExecution
- newtype LessThan = LessThan Double
- newtype LessThanEq = LessThanEq Double
- newtype GreaterThan = GreaterThan Double
- newtype GreaterThanEq = GreaterThanEq Double
- newtype LessThanD = LessThanD UTCTime
- newtype LessThanEqD = LessThanEqD UTCTime
- newtype GreaterThanD = GreaterThanD UTCTime
- newtype GreaterThanEqD = GreaterThanEqD UTCTime
- newtype Regexp = Regexp Text
- data RegexpFlags
- data RegexpFlag
- newtype FieldName = FieldName Text
- newtype Script = Script {
- scriptText :: Text
- newtype IndexName = IndexName Text
- data IndexSelection
- data NodeSelection
- data NodeSelector
- data IndexOptimizationSettings = IndexOptimizationSettings {}
- defaultIndexOptimizationSettings :: IndexOptimizationSettings
- newtype TemplateName = TemplateName Text
- newtype TemplatePattern = TemplatePattern Text
- newtype MappingName = MappingName Text
- newtype DocId = DocId Text
- newtype CacheName = CacheName Text
- newtype CacheKey = CacheKey Text
- data BulkOperation
- newtype ReplicaCount = ReplicaCount Int
- newtype ShardCount = ShardCount Int
- type Sort = [SortSpec]
- data SortMode
- data SortOrder
- data SortSpec
- data DefaultSort = DefaultSort {}
- data Missing
- data OpenCloseIndex
- type Method = Method
- newtype Boost = Boost Double
- data MatchQuery = MatchQuery {
- matchQueryField :: FieldName
- matchQueryQueryString :: QueryString
- matchQueryOperator :: BooleanOperator
- matchQueryZeroTerms :: ZeroTermsQuery
- matchQueryCutoffFrequency :: Maybe CutoffFrequency
- matchQueryMatchType :: Maybe MatchQueryType
- matchQueryAnalyzer :: Maybe Analyzer
- matchQueryMaxExpansions :: Maybe MaxExpansions
- matchQueryLenient :: Maybe Lenient
- matchQueryBoost :: Maybe Boost
- data MultiMatchQuery = MultiMatchQuery {
- multiMatchQueryFields :: [FieldName]
- multiMatchQueryString :: QueryString
- multiMatchQueryOperator :: BooleanOperator
- multiMatchQueryZeroTerms :: ZeroTermsQuery
- multiMatchQueryTiebreaker :: Maybe Tiebreaker
- multiMatchQueryType :: Maybe MultiMatchQueryType
- multiMatchQueryCutoffFrequency :: Maybe CutoffFrequency
- multiMatchQueryAnalyzer :: Maybe Analyzer
- multiMatchQueryMaxExpansions :: Maybe MaxExpansions
- multiMatchQueryLenient :: Maybe Lenient
- data BoolQuery = BoolQuery {}
- data BoostingQuery = BoostingQuery {}
- data CommonTermsQuery = CommonTermsQuery {
- commonField :: FieldName
- commonQuery :: QueryString
- commonCutoffFrequency :: CutoffFrequency
- commonLowFreqOperator :: BooleanOperator
- commonHighFreqOperator :: BooleanOperator
- commonMinimumShouldMatch :: Maybe CommonMinimumMatch
- commonBoost :: Maybe Boost
- commonAnalyzer :: Maybe Analyzer
- commonDisableCoord :: Maybe DisableCoord
- data DisMaxQuery = DisMaxQuery {}
- data FilteredQuery = FilteredQuery {}
- data FuzzyLikeThisQuery = FuzzyLikeThisQuery {}
- data FuzzyLikeFieldQuery = FuzzyLikeFieldQuery {}
- data FuzzyQuery = FuzzyQuery {}
- data HasChildQuery = HasChildQuery {}
- data HasParentQuery = HasParentQuery {}
- data IndicesQuery = IndicesQuery {}
- data MoreLikeThisQuery = MoreLikeThisQuery {
- moreLikeThisText :: Text
- moreLikeThisFields :: Maybe (NonEmpty FieldName)
- moreLikeThisPercentMatch :: Maybe PercentMatch
- moreLikeThisMinimumTermFreq :: Maybe MinimumTermFrequency
- moreLikeThisMaxQueryTerms :: Maybe MaxQueryTerms
- moreLikeThisStopWords :: Maybe (NonEmpty StopWord)
- moreLikeThisMinDocFrequency :: Maybe MinDocFrequency
- moreLikeThisMaxDocFrequency :: Maybe MaxDocFrequency
- moreLikeThisMinWordLength :: Maybe MinWordLength
- moreLikeThisMaxWordLength :: Maybe MaxWordLength
- moreLikeThisBoostTerms :: Maybe BoostTerms
- moreLikeThisBoost :: Maybe Boost
- moreLikeThisAnalyzer :: Maybe Analyzer
- data MoreLikeThisFieldQuery = MoreLikeThisFieldQuery {
- moreLikeThisFieldText :: Text
- moreLikeThisFieldFields :: FieldName
- moreLikeThisFieldPercentMatch :: Maybe PercentMatch
- moreLikeThisFieldMinimumTermFreq :: Maybe MinimumTermFrequency
- moreLikeThisFieldMaxQueryTerms :: Maybe MaxQueryTerms
- moreLikeThisFieldStopWords :: Maybe (NonEmpty StopWord)
- moreLikeThisFieldMinDocFrequency :: Maybe MinDocFrequency
- moreLikeThisFieldMaxDocFrequency :: Maybe MaxDocFrequency
- moreLikeThisFieldMinWordLength :: Maybe MinWordLength
- moreLikeThisFieldMaxWordLength :: Maybe MaxWordLength
- moreLikeThisFieldBoostTerms :: Maybe BoostTerms
- moreLikeThisFieldBoost :: Maybe Boost
- moreLikeThisFieldAnalyzer :: Maybe Analyzer
- data NestedQuery = NestedQuery {}
- data PrefixQuery = PrefixQuery {}
- data QueryStringQuery = QueryStringQuery {
- queryStringQuery :: QueryString
- queryStringDefaultField :: Maybe FieldName
- queryStringOperator :: Maybe BooleanOperator
- queryStringAnalyzer :: Maybe Analyzer
- queryStringAllowLeadingWildcard :: Maybe AllowLeadingWildcard
- queryStringLowercaseExpanded :: Maybe LowercaseExpanded
- queryStringEnablePositionIncrements :: Maybe EnablePositionIncrements
- queryStringFuzzyMaxExpansions :: Maybe MaxExpansions
- queryStringFuzziness :: Maybe Fuzziness
- queryStringFuzzyPrefixLength :: Maybe PrefixLength
- queryStringPhraseSlop :: Maybe PhraseSlop
- queryStringBoost :: Maybe Boost
- queryStringAnalyzeWildcard :: Maybe AnalyzeWildcard
- queryStringGeneratePhraseQueries :: Maybe GeneratePhraseQueries
- queryStringMinimumShouldMatch :: Maybe MinimumMatch
- queryStringLenient :: Maybe Lenient
- queryStringLocale :: Maybe Locale
- data SimpleQueryStringQuery = SimpleQueryStringQuery {
- simpleQueryStringQuery :: QueryString
- simpleQueryStringField :: Maybe FieldOrFields
- simpleQueryStringOperator :: Maybe BooleanOperator
- simpleQueryStringAnalyzer :: Maybe Analyzer
- simpleQueryStringFlags :: Maybe (NonEmpty SimpleQueryFlag)
- simpleQueryStringLowercaseExpanded :: Maybe LowercaseExpanded
- simpleQueryStringLocale :: Maybe Locale
- data RangeQuery = RangeQuery {}
- data RegexpQuery = RegexpQuery {}
- newtype QueryString = QueryString Text
- data TemplateQueryInline = TemplateQueryInline {}
- newtype TemplateQueryKeyValuePairs = TemplateQueryKeyValuePairs (HashMap TemplateQueryKey TemplateQueryValue)
- data BooleanOperator
- data ZeroTermsQuery
- newtype CutoffFrequency = CutoffFrequency Double
- newtype Analyzer = Analyzer Text
- newtype MaxExpansions = MaxExpansions Int
- newtype Lenient = Lenient Bool
- data MatchQueryType
- data MultiMatchQueryType
- newtype Tiebreaker = Tiebreaker Double
- newtype MinimumMatch = MinimumMatch Int
- newtype DisableCoord = DisableCoord Bool
- data CommonMinimumMatch
- data MinimumMatchHighLow = MinimumMatchHighLow {}
- newtype PrefixLength = PrefixLength Int
- newtype Fuzziness = Fuzziness Double
- newtype IgnoreTermFrequency = IgnoreTermFrequency Bool
- newtype MaxQueryTerms = MaxQueryTerms Int
- data ScoreType
- type Score = Maybe Double
- type Cache = Bool
- newtype TypeName = TypeName Text
- newtype BoostTerms = BoostTerms Double
- newtype MaxWordLength = MaxWordLength Int
- newtype MinWordLength = MinWordLength Int
- newtype MaxDocFrequency = MaxDocFrequency Int
- newtype MinDocFrequency = MinDocFrequency Int
- newtype PhraseSlop = PhraseSlop Int
- newtype StopWord = StopWord Text
- newtype QueryPath = QueryPath Text
- newtype MinimumTermFrequency = MinimumTermFrequency Int
- newtype PercentMatch = PercentMatch Double
- data FieldDefinition = FieldDefinition {}
- data MappingField = MappingField {}
- data Mapping = Mapping {}
- newtype AllowLeadingWildcard = AllowLeadingWildcard Bool
- newtype LowercaseExpanded = LowercaseExpanded Bool
- newtype GeneratePhraseQueries = GeneratePhraseQueries Bool
- newtype Locale = Locale Text
- newtype AnalyzeWildcard = AnalyzeWildcard Bool
- newtype EnablePositionIncrements = EnablePositionIncrements Bool
- data SimpleQueryFlag
- data FieldOrFields
- class Monoid a where
- class ToJSON a where
- data Interval
- data TimeInterval
- data ExecutionHint
- data CollectionMode
- data TermOrder = TermOrder {}
- data TermInclusion
- data SnapshotRepoSelection
- data GenericSnapshotRepo = GenericSnapshotRepo {}
- class SnapshotRepo r where
- data SnapshotRepoConversionError
- newtype SnapshotRepoType = SnapshotRepoType {}
- newtype GenericSnapshotRepoSettings = GenericSnapshotRepoSettings {}
- data SnapshotRepoUpdateSettings = SnapshotRepoUpdateSettings {}
- defaultSnapshotRepoUpdateSettings :: SnapshotRepoUpdateSettings
- newtype SnapshotRepoName = SnapshotRepoName {}
- data SnapshotRepoPattern
- newtype SnapshotVerification = SnapshotVerification {}
- data SnapshotNodeVerification = SnapshotNodeVerification {}
- newtype FullNodeId = FullNodeId {
- fullNodeId :: Text
- newtype NodeName = NodeName {}
- newtype ClusterName = ClusterName {
- clusterName :: Text
- data NodesInfo = NodesInfo {}
- data NodesStats = NodesStats {}
- data NodeStats = NodeStats {
- nodeStatsName :: NodeName
- nodeStatsFullId :: FullNodeId
- nodeStatsBreakersStats :: Maybe NodeBreakersStats
- nodeStatsHTTP :: NodeHTTPStats
- nodeStatsTransport :: NodeTransportStats
- nodeStatsFS :: NodeFSStats
- nodeStatsNetwork :: NodeNetworkStats
- nodeStatsThreadPool :: NodeThreadPoolsStats
- nodeStatsJVM :: NodeJVMStats
- nodeStatsProcess :: NodeProcessStats
- nodeStatsOS :: NodeOSStats
- nodeStatsIndices :: NodeIndicesStats
- data NodeBreakersStats = NodeBreakersStats {}
- data NodeBreakerStats = NodeBreakerStats {}
- data NodeHTTPStats = NodeHTTPStats {}
- data NodeTransportStats = NodeTransportStats {}
- data NodeFSStats = NodeFSStats {}
- data NodeDataPathStats = NodeDataPathStats {
- nodeDataPathDiskServiceTime :: Maybe Double
- nodeDataPathDiskQueue :: Maybe Double
- nodeDataPathIOSize :: Maybe Bytes
- nodeDataPathWriteSize :: Maybe Bytes
- nodeDataPathReadSize :: Maybe Bytes
- nodeDataPathIOOps :: Maybe Int
- nodeDataPathWrites :: Maybe Int
- nodeDataPathReads :: Maybe Int
- nodeDataPathAvailable :: Bytes
- nodeDataPathFree :: Bytes
- nodeDataPathTotal :: Bytes
- nodeDataPathType :: Maybe Text
- nodeDataPathDevice :: Text
- nodeDataPathMount :: Text
- nodeDataPathPath :: Text
- data NodeFSTotalStats = NodeFSTotalStats {
- nodeFSTotalDiskServiceTime :: Maybe Double
- nodeFSTotalDiskQueue :: Maybe Double
- nodeFSTotalIOSize :: Maybe Bytes
- nodeFSTotalWriteSize :: Maybe Bytes
- nodeFSTotalReadSize :: Maybe Bytes
- nodeFSTotalIOOps :: Maybe Int
- nodeFSTotalWrites :: Maybe Int
- nodeFSTotalReads :: Maybe Int
- nodeFSTotalAvailable :: Bytes
- nodeFSTotalFree :: Bytes
- nodeFSTotalTotal :: Bytes
- data NodeNetworkStats = NodeNetworkStats {}
- data NodeThreadPoolsStats = NodeThreadPoolsStats {
- nodeThreadPoolsStatsSnapshot :: NodeThreadPoolStats
- nodeThreadPoolsStatsBulk :: NodeThreadPoolStats
- nodeThreadPoolsStatsMerge :: NodeThreadPoolStats
- nodeThreadPoolsStatsGet :: NodeThreadPoolStats
- nodeThreadPoolsStatsManagement :: NodeThreadPoolStats
- nodeThreadPoolsStatsFetchShardStore :: Maybe NodeThreadPoolStats
- nodeThreadPoolsStatsOptimize :: NodeThreadPoolStats
- nodeThreadPoolsStatsFlush :: NodeThreadPoolStats
- nodeThreadPoolsStatsSearch :: NodeThreadPoolStats
- nodeThreadPoolsStatsWarmer :: NodeThreadPoolStats
- nodeThreadPoolsStatsGeneric :: NodeThreadPoolStats
- nodeThreadPoolsStatsSuggest :: NodeThreadPoolStats
- nodeThreadPoolsStatsRefresh :: NodeThreadPoolStats
- nodeThreadPoolsStatsIndex :: NodeThreadPoolStats
- nodeThreadPoolsStatsListener :: Maybe NodeThreadPoolStats
- nodeThreadPoolsStatsFetchShardStarted :: Maybe NodeThreadPoolStats
- nodeThreadPoolsStatsPercolate :: NodeThreadPoolStats
- data NodeThreadPoolStats = NodeThreadPoolStats {}
- data NodeJVMStats = NodeJVMStats {
- nodeJVMStatsMappedBufferPool :: JVMBufferPoolStats
- nodeJVMStatsDirectBufferPool :: JVMBufferPoolStats
- nodeJVMStatsGCOldCollector :: JVMGCStats
- nodeJVMStatsGCYoungCollector :: JVMGCStats
- nodeJVMStatsPeakThreadsCount :: Int
- nodeJVMStatsThreadsCount :: Int
- nodeJVMStatsOldPool :: JVMPoolStats
- nodeJVMStatsSurvivorPool :: JVMPoolStats
- nodeJVMStatsYoungPool :: JVMPoolStats
- nodeJVMStatsNonHeapCommitted :: Bytes
- nodeJVMStatsNonHeapUsed :: Bytes
- nodeJVMStatsHeapMax :: Bytes
- nodeJVMStatsHeapCommitted :: Bytes
- nodeJVMStatsHeapUsedPercent :: Int
- nodeJVMStatsHeapUsed :: Bytes
- nodeJVMStatsUptime :: NominalDiffTime
- nodeJVMStatsTimestamp :: UTCTime
- data JVMBufferPoolStats = JVMBufferPoolStats {}
- data JVMGCStats = JVMGCStats {}
- data JVMPoolStats = JVMPoolStats {}
- data NodeProcessStats = NodeProcessStats {}
- data NodeOSStats = NodeOSStats {
- nodeOSSwapFree :: Bytes
- nodeOSSwapUsed :: Bytes
- nodeOSMemActualUsed :: Bytes
- nodeOSMemActualFree :: Bytes
- nodeOSMemUsedPercent :: Int
- nodeOSMemFreePercent :: Int
- nodeOSMemUsed :: Bytes
- nodeOSMemFree :: Bytes
- nodeOSCPUStolen :: Int
- nodeOSCPUUsage :: Int
- nodeOSCPUIdle :: Int
- nodeOSCPUUser :: Int
- nodeOSCPUSys :: Int
- nodeOSLoad :: Maybe LoadAvgs
- nodeOSUptime :: NominalDiffTime
- nodeOSTimestamp :: UTCTime
- data LoadAvgs = LoadAvgs {}
- data NodeIndicesStats = NodeIndicesStats {
- nodeIndicesStatsRecoveryThrottleTime :: Maybe NominalDiffTime
- nodeIndicesStatsRecoveryCurrentAsTarget :: Maybe Int
- nodeIndicesStatsRecoveryCurrentAsSource :: Maybe Int
- nodeIndicesStatsQueryCacheMisses :: Maybe Int
- nodeIndicesStatsQueryCacheHits :: Maybe Int
- nodeIndicesStatsQueryCacheEvictions :: Maybe Int
- nodeIndicesStatsQueryCacheSize :: Maybe Bytes
- nodeIndicesStatsSuggestCurrent :: Int
- nodeIndicesStatsSuggestTime :: NominalDiffTime
- nodeIndicesStatsSuggestTotal :: Int
- nodeIndicesStatsTranslogSize :: Bytes
- nodeIndicesStatsTranslogOps :: Int
- nodeIndicesStatsSegFixedBitSetMemory :: Maybe Bytes
- nodeIndicesStatsSegVersionMapMemory :: Bytes
- nodeIndicesStatsSegIndexWriterMaxMemory :: Maybe Bytes
- nodeIndicesStatsSegIndexWriterMemory :: Bytes
- nodeIndicesStatsSegMemory :: Bytes
- nodeIndicesStatsSegCount :: Int
- nodeIndicesStatsCompletionSize :: Bytes
- nodeIndicesStatsPercolateQueries :: Int
- nodeIndicesStatsPercolateMemory :: Bytes
- nodeIndicesStatsPercolateCurrent :: Int
- nodeIndicesStatsPercolateTime :: NominalDiffTime
- nodeIndicesStatsPercolateTotal :: Int
- nodeIndicesStatsFieldDataEvictions :: Int
- nodeIndicesStatsFieldDataMemory :: Bytes
- nodeIndicesStatsIDCacheMemory :: Bytes
- nodeIndicesStatsFilterCacheEvictions :: Int
- nodeIndicesStatsFilterCacheMemory :: Bytes
- nodeIndicesStatsWarmerTotalTime :: NominalDiffTime
- nodeIndicesStatsWarmerTotal :: Int
- nodeIndicesStatsWarmerCurrent :: Int
- nodeIndicesStatsFlushTotalTime :: NominalDiffTime
- nodeIndicesStatsFlushTotal :: Int
- nodeIndicesStatsRefreshTotalTime :: NominalDiffTime
- nodeIndicesStatsRefreshTotal :: Int
- nodeIndicesStatsMergesTotalSize :: Bytes
- nodeIndicesStatsMergesTotalDocs :: Int
- nodeIndicesStatsMergesTotalTime :: NominalDiffTime
- nodeIndicesStatsMergesTotal :: Int
- nodeIndicesStatsMergesCurrentSize :: Bytes
- nodeIndicesStatsMergesCurrentDocs :: Int
- nodeIndicesStatsMergesCurrent :: Int
- nodeIndicesStatsSearchFetchCurrent :: Int
- nodeIndicesStatsSearchFetchTime :: NominalDiffTime
- nodeIndicesStatsSearchFetchTotal :: Int
- nodeIndicesStatsSearchQueryCurrent :: Int
- nodeIndicesStatsSearchQueryTime :: NominalDiffTime
- nodeIndicesStatsSearchQueryTotal :: Int
- nodeIndicesStatsSearchOpenContexts :: Int
- nodeIndicesStatsGetCurrent :: Int
- nodeIndicesStatsGetMissingTime :: NominalDiffTime
- nodeIndicesStatsGetMissingTotal :: Int
- nodeIndicesStatsGetExistsTime :: NominalDiffTime
- nodeIndicesStatsGetExistsTotal :: Int
- nodeIndicesStatsGetTime :: NominalDiffTime
- nodeIndicesStatsGetTotal :: Int
- nodeIndicesStatsIndexingThrottleTime :: Maybe NominalDiffTime
- nodeIndicesStatsIndexingIsThrottled :: Maybe Bool
- nodeIndicesStatsIndexingNoopUpdateTotal :: Maybe Int
- nodeIndicesStatsIndexingDeleteCurrent :: Int
- nodeIndicesStatsIndexingDeleteTime :: NominalDiffTime
- nodeIndicesStatsIndexingDeleteTotal :: Int
- nodeIndicesStatsIndexingIndexCurrent :: Int
- nodeIndicesStatsIndexingIndexTime :: NominalDiffTime
- nodeIndicesStatsIndexingTotal :: Int
- nodeIndicesStatsStoreThrottleTime :: NominalDiffTime
- nodeIndicesStatsStoreSize :: Bytes
- nodeIndicesStatsDocsDeleted :: Int
- nodeIndicesStatsDocsCount :: Int
- newtype EsAddress = EsAddress {}
- newtype PluginName = PluginName {
- pluginName :: Text
- data NodeInfo = NodeInfo {
- nodeInfoHTTPAddress :: EsAddress
- nodeInfoBuild :: BuildHash
- nodeInfoESVersion :: VersionNumber
- nodeInfoIP :: Server
- nodeInfoHost :: Server
- nodeInfoTransportAddress :: EsAddress
- nodeInfoName :: NodeName
- nodeInfoFullId :: FullNodeId
- nodeInfoPlugins :: [NodePluginInfo]
- nodeInfoHTTP :: NodeHTTPInfo
- nodeInfoTransport :: NodeTransportInfo
- nodeInfoNetwork :: NodeNetworkInfo
- nodeInfoThreadPool :: NodeThreadPoolsInfo
- nodeInfoJVM :: NodeJVMInfo
- nodeInfoProcess :: NodeProcessInfo
- nodeInfoOS :: NodeOSInfo
- nodeInfoSettings :: Object
- data NodePluginInfo = NodePluginInfo {}
- data NodeHTTPInfo = NodeHTTPInfo {}
- data NodeTransportInfo = NodeTransportInfo {}
- data BoundTransportAddress = BoundTransportAddress {}
- data NodeNetworkInfo = NodeNetworkInfo {}
- newtype MacAddress = MacAddress {
- macAddress :: Text
- newtype NetworkInterfaceName = NetworkInterfaceName {}
- data NodeNetworkInterface = NodeNetworkInterface {}
- data NodeThreadPoolsInfo = NodeThreadPoolsInfo {
- nodeThreadPoolsRefresh :: NodeThreadPoolInfo
- nodeThreadPoolsManagement :: NodeThreadPoolInfo
- nodeThreadPoolsPercolate :: NodeThreadPoolInfo
- nodeThreadPoolsListener :: Maybe NodeThreadPoolInfo
- nodeThreadPoolsFetchShardStarted :: Maybe NodeThreadPoolInfo
- nodeThreadPoolsSearch :: NodeThreadPoolInfo
- nodeThreadPoolsFlush :: NodeThreadPoolInfo
- nodeThreadPoolsWarmer :: NodeThreadPoolInfo
- nodeThreadPoolsOptimize :: NodeThreadPoolInfo
- nodeThreadPoolsBulk :: NodeThreadPoolInfo
- nodeThreadPoolsSuggest :: NodeThreadPoolInfo
- nodeThreadPoolsMerge :: NodeThreadPoolInfo
- nodeThreadPoolsSnapshot :: NodeThreadPoolInfo
- nodeThreadPoolsGet :: NodeThreadPoolInfo
- nodeThreadPoolsFetchShardStore :: Maybe NodeThreadPoolInfo
- nodeThreadPoolsIndex :: NodeThreadPoolInfo
- nodeThreadPoolsGeneric :: NodeThreadPoolInfo
- data NodeThreadPoolInfo = NodeThreadPoolInfo {}
- data ThreadPoolSize
- data ThreadPoolType
- data NodeJVMInfo = NodeJVMInfo {}
- newtype JVMMemoryPool = JVMMemoryPool {}
- newtype JVMGCCollector = JVMGCCollector {}
- data JVMMemoryInfo = JVMMemoryInfo {}
- newtype PID = PID {}
- data NodeOSInfo = NodeOSInfo {}
- data CPUInfo = CPUInfo {
- cpuCacheSize :: Bytes
- cpuCoresPerSocket :: Int
- cpuTotalSockets :: Int
- cpuTotalCores :: Int
- cpuMHZ :: Int
- cpuModel :: Text
- cpuVendor :: Text
- data NodeProcessInfo = NodeProcessInfo {}
- data FsSnapshotRepo = FsSnapshotRepo {}
- data SnapshotCreateSettings = SnapshotCreateSettings {}
- defaultSnapshotCreateSettings :: SnapshotCreateSettings
- data SnapshotSelection
- data SnapshotPattern
- data SnapshotInfo = SnapshotInfo {}
- data SnapshotShardFailure = SnapshotShardFailure {}
- newtype ShardId = ShardId {}
- newtype SnapshotName = SnapshotName {
- snapshotName :: Text
- data SnapshotState
- data SnapshotRestoreSettings = SnapshotRestoreSettings {
- snapRestoreWaitForCompletion :: Bool
- snapRestoreIndices :: Maybe IndexSelection
- snapRestoreIgnoreUnavailable :: Bool
- snapRestoreIncludeGlobalState :: Bool
- snapRestoreRenamePattern :: Maybe RestoreRenamePattern
- snapRestoreRenameReplacement :: Maybe (NonEmpty RestoreRenameToken)
- snapRestorePartial :: Bool
- snapRestoreIncludeAliases :: Bool
- snapRestoreIndexSettingsOverrides :: Maybe RestoreIndexSettings
- snapRestoreIgnoreIndexSettings :: Maybe (NonEmpty Text)
- defaultSnapshotRestoreSettings :: SnapshotRestoreSettings
- newtype RestoreRenamePattern = RestoreRenamePattern {}
- data RestoreRenameToken
- data RRGroupRefNum
- rrGroupRefNum :: RRGroupRefNum -> Int
- mkRRGroupRefNum :: Int -> Maybe RRGroupRefNum
- data RestoreIndexSettings = RestoreIndexSettings {}
- data Suggest = Suggest {}
- data SuggestType = SuggestTypePhraseSuggester PhraseSuggester
- data PhraseSuggester = PhraseSuggester {
- phraseSuggesterField :: FieldName
- phraseSuggesterGramSize :: Maybe Int
- phraseSuggesterRealWordErrorLikelihood :: Maybe Int
- phraseSuggesterConfidence :: Maybe Int
- phraseSuggesterMaxErrors :: Maybe Int
- phraseSuggesterSeparator :: Maybe Text
- phraseSuggesterSize :: Maybe Size
- phraseSuggesterAnalyzer :: Maybe Analyzer
- phraseSuggesterShardSize :: Maybe Int
- phraseSuggesterHighlight :: Maybe PhraseSuggesterHighlighter
- phraseSuggesterCollate :: Maybe PhraseSuggesterCollate
- phraseSuggesterCandidateGenerators :: [DirectGenerators]
- data PhraseSuggesterHighlighter = PhraseSuggesterHighlighter {}
- data PhraseSuggesterCollate = PhraseSuggesterCollate {}
- mkPhraseSuggester :: FieldName -> PhraseSuggester
- data SuggestOptions = SuggestOptions {}
- data SuggestResponse = SuggestResponse {}
- data NamedSuggestionResponse = NamedSuggestionResponse {
- nsrName :: Text
- nsrResponses :: [SuggestResponse]
- data DirectGenerators = DirectGenerators {
- directGeneratorsField :: FieldName
- directGeneratorsSize :: Maybe Int
- directGeneratorSuggestMode :: DirectGeneratorSuggestModeTypes
- directGeneratorMaxEdits :: Maybe Double
- directGeneratorPrefixLength :: Maybe Int
- directGeneratorMinWordLength :: Maybe Int
- directGeneratorMaxInspections :: Maybe Int
- directGeneratorMinDocFreq :: Maybe Double
- directGeneratorMaxTermFreq :: Maybe Double
- directGeneratorPreFilter :: Maybe Text
- directGeneratorPostFilter :: Maybe Text
- mkDirectGenerators :: FieldName -> DirectGenerators
- data DirectGeneratorSuggestModeTypes
- data Aggregation
- type Aggregations = Map Text Aggregation
- type AggregationResults = Map Text Value
- data BucketValue
- data Bucket a = Bucket {
- buckets :: [a]
- class BucketAggregation a where
- data TermsAggregation = TermsAggregation {
- term :: Either Text Text
- termInclude :: Maybe TermInclusion
- termExclude :: Maybe TermInclusion
- termOrder :: Maybe TermOrder
- termMinDocCount :: Maybe Int
- termSize :: Maybe Int
- termShardSize :: Maybe Int
- termCollectMode :: Maybe CollectionMode
- termExecutionHint :: Maybe ExecutionHint
- termAggs :: Maybe Aggregations
- data MissingAggregation = MissingAggregation {}
- data ValueCountAggregation
- data FilterAggregation = FilterAggregation {}
- data CardinalityAggregation = CardinalityAggregation {}
- data DateHistogramAggregation = DateHistogramAggregation {}
- data DateRangeAggregation = DateRangeAggregation {}
- data DateRangeAggRange
- data DateMathExpr = DateMathExpr DateMathAnchor [DateMathModifier]
- data DateMathAnchor
- data DateMathModifier
- data DateMathUnit
- data TopHitsAggregation = TopHitsAggregation {}
- data Highlights = Highlights {}
- data FieldHighlight = FieldHighlight FieldName (Maybe HighlightSettings)
- data HighlightSettings
- data PlainHighlight = PlainHighlight {}
- data PostingsHighlight = PostingsHighlight (Maybe CommonHighlight)
- data FastVectorHighlight = FastVectorHighlight {}
- data CommonHighlight = CommonHighlight {}
- data NonPostings = NonPostings {}
- data HighlightEncoder
- data HighlightTag
- = TagSchema Text
- | CustomTags ([Text], [Text])
- type HitHighlight = Map Text [Text]
- data MissingResult = MissingResult {}
- data TermsResult = TermsResult {}
- data DateHistogramResult = DateHistogramResult {}
- data DateRangeResult = DateRangeResult {}
- data TopHitResult a = TopHitResult {
- tarHits :: SearchHits a
- newtype EsUsername = EsUsername {
- esUsername :: Text
- newtype EsPassword = EsPassword {
- esPassword :: Text
Documentation
defaultCache :: Cache Source #
defaultIndexSettings :: IndexSettings Source #
defaultIndexSettings
is an IndexSettings
with 3 shards and 2 replicas.
defaultIndexDocumentSettings :: IndexDocumentSettings Source #
Reasonable default settings. Chooses no version control and no parent.
mkMatchQuery :: FieldName -> QueryString -> MatchQuery Source #
mkMatchQuery
is a convenience function that defaults the less common parameters,
enabling you to provide only the FieldName
and QueryString
to make a MatchQuery
mkMultiMatchQuery :: [FieldName] -> QueryString -> MultiMatchQuery Source #
mkMultiMatchQuery
is a convenience function that defaults the less common parameters,
enabling you to provide only the list of FieldName
s and QueryString
to
make a MultiMatchQuery
.
mkRangeQuery :: FieldName -> RangeValue -> RangeQuery Source #
mkAggregations :: Text -> Aggregation -> Aggregations Source #
mkDocVersion :: Int -> Maybe DocVersion Source #
Smart constructor for in-range doc version
docVersionNumber :: DocVersion -> Int Source #
toMissing :: Text -> AggregationResults -> Maybe MissingResult Source #
toTerms :: Text -> AggregationResults -> Maybe (Bucket TermsResult) Source #
toTopHits :: FromJSON a => Text -> AggregationResults -> Maybe (TopHitResult a) Source #
MonadTrans BH Source # | |
MonadWriter w m => MonadWriter w (BH m) Source # | |
MonadState s m => MonadState s (BH m) Source # | |
MonadReader r m => MonadReader r (BH m) Source # | |
MonadError e m => MonadError e (BH m) Source # | |
Monad m => Monad (BH m) Source # | |
Functor m => Functor (BH m) Source # | |
MonadFix m => MonadFix (BH m) Source # | |
Applicative m => Applicative (BH m) Source # | |
Alternative m => Alternative (BH m) Source # | |
MonadPlus m => MonadPlus (BH m) Source # | |
MonadIO m => MonadIO (BH m) Source # | |
MonadThrow m => MonadThrow (BH m) Source # | |
MonadCatch m => MonadCatch (BH m) Source # | |
MonadMask m => MonadMask (BH m) Source # | |
(Functor m, Applicative m, MonadIO m) => MonadBH (BH m) Source # | |
Common environment for Elasticsearch calls. Connections will be pipelined according to the provided HTTP connection manager.
mkBHEnv :: Server -> Manager -> BHEnv Source #
Create a BHEnv
with all optional fields defaulted. HTTP hook
will be a noop. You can use the exported fields to customize it further, e.g.:
> (mkBHEnv myServer myManager) { bhRequestHook = customHook }
class (Functor m, Applicative m, MonadIO m) => MonadBH m where Source #
All API calls to Elasticsearch operate within
MonadBH
. The idea is that it can be easily embedded in your
own monad transformer stack. A default instance for a ReaderT and
alias BH
is provided for the simple case.
newtype VersionNumber Source #
Traditional software versioning number
Typically a 7 character hex string.
Status
is a data type for describing the JSON body returned by
Elasticsearch when you query its status. This was deprecated in 1.2.0.
data IndexSettings Source #
IndexSettings
is used to configure the shards and replicas when you create
an Elasticsearch Index.
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html
data UpdatableIndexSetting Source #
UpdatableIndexSetting
are settings which may be updated after an index is created.
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html
NumberOfReplicas ReplicaCount | The number of replicas each shard has. |
AutoExpandReplicas ReplicaBounds | |
BlocksReadOnly Bool | Set to True to have the index read only. False to allow writes and metadata changes. |
BlocksRead Bool | Set to True to disable read operations against the index. |
BlocksWrite Bool | Set to True to disable write operations against the index. |
BlocksMetaData Bool | Set to True to disable metadata operations against the index. |
RefreshInterval NominalDiffTime | The async refresh interval of a shard |
IndexConcurrency Int | |
FailOnMergeFailure Bool | |
TranslogFlushThresholdOps Int | When to flush on operations. |
TranslogFlushThresholdSize Bytes | When to flush based on translog (bytes) size. |
TranslogFlushThresholdPeriod NominalDiffTime | When to flush based on a period of not flushing. |
TranslogDisableFlush Bool | Disables flushing. Note, should be set for a short interval and then enabled. |
CacheFilterMaxSize (Maybe Bytes) | The maximum size of filter cache (per segment in shard). |
CacheFilterExpire (Maybe NominalDiffTime) | The expire after access time for filter cache. |
GatewaySnapshotInterval NominalDiffTime | The gateway snapshot interval (only applies to shared gateways). |
RoutingAllocationInclude (NonEmpty NodeAttrFilter) | A node matching any rule will be allowed to host shards from the index. |
RoutingAllocationExclude (NonEmpty NodeAttrFilter) | A node matching any rule will NOT be allowed to host shards from the index. |
RoutingAllocationRequire (NonEmpty NodeAttrFilter) | Only nodes matching all rules will be allowed to host shards from the index. |
RoutingAllocationEnable AllocationPolicy | Enables shard allocation for a specific index. |
RoutingAllocationShardsPerNode ShardCount | Controls the total number of shards (replicas and primaries) allowed to be allocated on a single node. |
RecoveryInitialShards InitialShardCount | When using local gateway a particular shard is recovered only if there can be allocated quorum shards in the cluster. |
GCDeletes NominalDiffTime | |
TTLDisablePurge Bool | Disables temporarily the purge of expired docs. |
TranslogFSType FSType | |
IndexCompoundFormat CompoundFormat | |
IndexCompoundOnFlush Bool | |
WarmerEnabled Bool |
data AllocationPolicy Source #
AllocAll | Allows shard allocation for all shards. |
AllocPrimaries | Allows shard allocation only for primary shards. |
AllocNewPrimaries | Allows shard allocation only for primary shards for new indices. |
AllocNone | No shard allocation is allowed |
data ReplicaBounds Source #
A measure of bytes used for various configurations. You may want
to use smart constructors like gigabytes
for larger values.
>>>
gigabytes 9
Bytes 9000000000
>>>
megabytes 9
Bytes 9000000
>>>
kilobytes 9
Bytes 9000
data InitialShardCount Source #
data NodeAttrFilter Source #
newtype NodeAttrName Source #
data CompoundFormat Source #
CompoundFileFormat Bool | |
MergeSegmentVsTotalIndex Double | percentage between 0 and 1 where 0 is false, 1 is true |
data IndexTemplate Source #
An IndexTemplate
defines a template that will automatically be
applied to new indices created. The templates include both
IndexSettings
and mappings, and a simple TemplatePattern
that
controls if the template will be applied to the index created.
Specify mappings as follows: [toJSON TweetMapping, ...]
https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-templates.html
Server
is used with the client functions to point at the ES instance
EsResult
describes the standard wrapper JSON document that you see in
successful Elasticsearch lookups or lookups that couldn't find the document.
EsResult | |
|
data EsResultFound a Source #
EsResultFound
contains the document and its metadata inside of an
EsResult
when the document was successfully found.
EsResultFound | |
|
Eq a => Eq (EsResultFound a) Source # | |
Show a => Show (EsResultFound a) Source # | |
FromJSON a => FromJSON (EsResultFound a) Source # | |
EsError
is the generic type that will be returned when there was a
problem. If you can't parse the expected response, its a good idea to
try parsing this.
EsError | |
|
data EsProtocolException Source #
EsProtocolException
will be thrown if Bloodhound cannot parse a response
returned by the Elasticsearch server. If you encounter this error, please
verify that your domain data types and FromJSON instances are working properly
(for example, the a
of '[Hit a]' in 'SearchResult.searchHits.hits'). If you're
sure that your mappings are correct, then this error may be an indication of an
incompatibility between Bloodhound and Elasticsearch. Please open a bug report
and be sure to include the exception body.
EsProtocolException | |
|
data IndexAlias Source #
newtype IndexAliasName Source #
data IndexAliasAction Source #
data IndexAliasCreate Source #
data IndexAliasSummary Source #
IndexAliasSummary
is a summary of an index alias configured for a server.
newtype IndexAliasesSummary Source #
data AliasRouting Source #
newtype SearchAliasRouting Source #
newtype IndexAliasRouting Source #
newtype RoutingValue Source #
data DocVersion Source #
DocVersion
is an integer version number for a document between 1
and 9.2e+18 used for .
newtype ExternalDocVersion Source #
ExternalDocVersion
is a convenience wrapper if your code uses its
own version numbers instead of ones from ES.
data VersionControl Source #
VersionControl
is specified when indexing documents as a
optimistic concurrency control.
NoVersionControl | Don't send a version. This is a pure overwrite. |
InternalVersion DocVersion | Use the default ES versioning scheme. Only index the document if the version is the same as the one specified. Only applicable to updates, as you should be getting Version from a search result. |
ExternalGT ExternalDocVersion | Use your own version numbering. Only index the document if the version is strictly higher OR the document doesn't exist. The given version will be used as the new version number for the stored document. N.B. All updates must increment this number, meaning there is some global, external ordering of updates. |
ExternalGTE ExternalDocVersion | Use your own version numbering. Only index the document if the version is equal or higher than the stored version. Will succeed if there is no existing document. The given version will be used as the new version number for the stored document. Use with care, as this could result in data loss. |
ForceVersion ExternalDocVersion | The document will always be indexed and the given version will be the new version. This is typically used for correcting errors. Use with care, as this could result in data loss. |
newtype DocumentParent Source #
DocumentParent
is used to specify a parent document.
data IndexDocumentSettings Source #
IndexDocumentSettings
are special settings supplied when indexing
a document. For the best backwards compatiblity when new fields are
added, you should probably prefer to start with defaultIndexDocumentSettings
Search | |
|
data SearchType Source #
data SearchResult a Source #
SearchResult | |
|
Eq a => Eq (SearchResult a) Source # | |
Show a => Show (SearchResult a) Source # | |
FromJSON a => FromJSON (SearchResult a) Source # | |
data SearchHits a Source #
Eq a => Eq (SearchHits a) Source # | |
Show a => Show (SearchHits a) Source # | |
Semigroup (SearchHits a) Source # | |
Monoid (SearchHits a) Source # | |
FromJSON a => FromJSON (SearchHits a) Source # | |
type TrackSortScores = Bool Source #
data PatternOrPatterns Source #
data ShardResult Source #
ShardResult | |
|
Hit | |
|
class Monoid a => Seminearring a where Source #
data GeoBoundingBox Source #
data GeoFilterType Source #
data DistanceUnit Source #
data DistanceType Source #
data DistanceRange Source #
data OptimizeBbox Source #
data RangeValue Source #
data RangeExecution Source #
newtype GreaterThanEq Source #
newtype GreaterThanD Source #
newtype GreaterThanEqD Source #
data RegexpFlags Source #
data RegexpFlag Source #
FieldName
is used all over the place wherever a specific field within
a document needs to be specified, usually in Query
s or Filter
s.
Script
is often used in place of FieldName
to specify more
complex ways of extracting a value from a document.
Script | |
|
IndexName
is used to describe which index to querycreatedelete
data IndexSelection Source #
IndexSelection
is used for APIs which take a single index, a list of
indexes, or the special _all
index.
data NodeSelection Source #
NodeSelection
is used for most cluster APIs. See here for more details.
LocalNode | Whatever node receives this request |
NodeList (NonEmpty NodeSelector) | |
AllNodes |
data NodeSelector Source #
An exact match or pattern to identify a node. Note that All of these options support wildcarding, so your node name, server, attr name can all contain * characters to be a fuzzy match.
NodeByName NodeName | |
NodeByFullNodeId FullNodeId | |
NodeByHost Server | e.g. 10.0.0.1 or even 10.0.0.* |
NodeByAttribute NodeAttrName Text | NodeAttrName can be a pattern, e.g. rack*. The value can too. |
data IndexOptimizationSettings Source #
IndexOptimizationSettings
is used to configure index optimization. See
https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-optimize.html
for more info.
IndexOptimizationSettings | |
|
defaultIndexOptimizationSettings :: IndexOptimizationSettings Source #
defaultIndexOptimizationSettings
implements the default settings that
Elasticsearch uses for index optimization. maxNumSegments
is Nothing,
onlyExpungeDeletes
is False, and flushAfterOptimize is True.
newtype TemplateName Source #
TemplateName
is used to describe which template to querycreatedelete
newtype TemplatePattern Source #
TemplatePattern
represents a pattern which is matched against index names
newtype MappingName Source #
MappingName
is part of mappings which are how ES describes and schematizes
the data in the indices.
DocId
is a generic wrapper value for expressing unique Document IDs.
Can be set by the user or created by ES itself. Often used in client
functions for poking at specific documents.
CacheKey
is used in RegexpFilter
to key regex caching.
data BulkOperation Source #
BulkOperation
is a sum type for expressing the four kinds of bulk
operation index, create, delete, and update. BulkIndex
behaves like an
"upsert", BulkCreate
will fail if a document already exists at the DocId.
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html#docs-bulk
newtype ReplicaCount Source #
ReplicaCount
is part of IndexSettings
newtype ShardCount Source #
ShardCount
is part of IndexSettings
SortMode
prescribes how to handle sorting array/multi-valued fields.
SortOrder
is Ascending
or Descending
, as you might expect. These get
encoded into "asc" or "desc" when turned into JSON.
The two main kinds of SortSpec
are DefaultSortSpec
and
GeoDistanceSortSpec
. The latter takes a SortOrder
, GeoPoint
, and
DistanceUnit
to express "nearness" to a single geographical point as a
sort specification.
data DefaultSort Source #
DefaultSort
is usually the kind of SortSpec
you'll want. There's a
mkSort
convenience function for when you want to specify only the most
common parameters.
Missing
prescribes how to handle missing fields. A missing field can be
sorted last, first, or using a custom value as a substitute.
data OpenCloseIndex Source #
OpenCloseIndex
is a sum type for opening and closing indices.
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html
data MatchQuery Source #
data MultiMatchQuery Source #
data BoostingQuery Source #
data CommonTermsQuery Source #
data DisMaxQuery Source #
data FilteredQuery Source #
data FuzzyLikeFieldQuery Source #
data FuzzyQuery Source #
data MoreLikeThisQuery Source #
data MoreLikeThisFieldQuery Source #
data NestedQuery Source #
data QueryStringQuery Source #
data SimpleQueryStringQuery Source #
data RangeQuery Source #
newtype QueryString Source #
QueryString
is used to wrap query text bodies, be they human written or not.
data TemplateQueryInline Source #
newtype TemplateQueryKeyValuePairs Source #
data BooleanOperator Source #
BooleanOperator
is the usual And/Or operators with an ES compatible
JSON encoding baked in. Used all over the place.
data ZeroTermsQuery Source #
newtype CutoffFrequency Source #
newtype MaxExpansions Source #
Lenient
, if set to true, will cause format based failures to be
ignored. I don't know what the bloody default is, Elasticsearch
documentation didn't say what it was. Let me know if you figure it out.
data MatchQueryType Source #
data MultiMatchQueryType Source #
newtype Tiebreaker Source #
newtype MinimumMatch Source #
MinimumMatch
controls how many should clauses in the bool query should
match. Can be an absolute value (2) or a percentage (30%) or a
combination of both.
newtype DisableCoord Source #
data CommonMinimumMatch Source #
data MinimumMatchHighLow Source #
newtype PrefixLength Source #
PrefixLength
is the prefix length used in queries, defaults to 0.
newtype IgnoreTermFrequency Source #
newtype MaxQueryTerms Source #
newtype BoostTerms Source #
newtype MaxWordLength Source #
newtype MinWordLength Source #
newtype MaxDocFrequency Source #
newtype MinDocFrequency Source #
newtype PhraseSlop Source #
PhraseSlop
sets the default slop for phrases, 0 means exact
phrase matches. Default is 0.
newtype MinimumTermFrequency Source #
newtype PercentMatch Source #
data FieldDefinition Source #
data MappingField Source #
Support for type reification of Mapping
s is currently incomplete, for
now the mapping API verbiage expects a ToJSON
able blob.
Indexes have mappings, mappings are schemas for the documents contained in the index. I'd recommend having only one mapping per index, always having a mapping, and keeping different kinds of documents separated if possible.
Mapping | |
|
newtype AllowLeadingWildcard Source #
Allowing a wildcard at the beginning of a word (eg "*ing") is particularly
heavy, because all terms in the index need to be examined, just in case
they match. Leading wildcards can be disabled by setting
AllowLeadingWildcard
to false.
newtype LowercaseExpanded Source #
newtype GeneratePhraseQueries Source #
GeneratePhraseQueries
defaults to false.
Locale
is used for string conversions - defaults to ROOT.
newtype AnalyzeWildcard Source #
By default, wildcard terms in a query are not analyzed.
Setting AnalyzeWildcard
to true enables best-effort analysis.
newtype EnablePositionIncrements Source #
data SimpleQueryFlag Source #
data FieldOrFields Source #
The class of monoids (types with an associative binary operation that has an identity). Instances should satisfy the following laws:
mappend mempty x = x
mappend x mempty = x
mappend x (mappend y z) = mappend (mappend x y) z
mconcat =
foldr
mappend mempty
The method names refer to the monoid of lists under concatenation, but there are many other instances.
Some types can be viewed as a monoid in more than one way,
e.g. both addition and multiplication on numbers.
In such cases we often define newtype
s and make those instances
of Monoid
, e.g. Sum
and Product
.
Identity of mappend
An associative operation
Fold a list using the monoid.
For most types, the default definition for mconcat
will be
used, but the function is included in the class definition so
that an optimized version can be provided for specific types.
Monoid Ordering | Since: 2.1 |
Monoid () | Since: 2.1 |
Monoid ByteString | |
Monoid ByteString | |
Monoid Builder | |
Monoid Series | |
Monoid More | |
Monoid All | Since: 2.1 |
Monoid Any | Since: 2.1 |
Monoid String | |
Monoid ShortByteString | |
Monoid IntSet | |
Monoid CookieJar | Since 1.9 |
Monoid RequestBody | |
Monoid Filter # | |
Monoid [a] | Since: 2.1 |
Monoid a => Monoid (Maybe a) | Lift a semigroup into Since: 2.1 |
Monoid a => Monoid (IO a) | Since: 4.9.0.0 |
Monoid (IResult a) | |
Monoid (Result a) | |
Monoid (Parser a) | |
(Ord a, Bounded a) => Monoid (Min a) | Since: 4.9.0.0 |
(Ord a, Bounded a) => Monoid (Max a) | Since: 4.9.0.0 |
Monoid m => Monoid (WrappedMonoid m) | Since: 4.9.0.0 |
Semigroup a => Monoid (Option a) | Since: 4.9.0.0 |
Monoid a => Monoid (Identity a) | |
Monoid a => Monoid (Dual a) | Since: 2.1 |
Monoid (Endo a) | Since: 2.1 |
Num a => Monoid (Sum a) | Since: 2.1 |
Num a => Monoid (Product a) | Since: 2.1 |
Monoid (First a) | Since: 2.1 |
Monoid (Last a) | Since: 2.1 |
PrimType ty => Monoid (UArray ty) | |
PrimType ty => Monoid (Block ty) | |
Monoid (CountOf ty) | |
Monoid s => Monoid (CI s) | |
Monoid (IntMap a) | |
Monoid (Seq a) | |
Ord a => Monoid (Set a) | |
Monoid (DList a) | |
Monoid (Array a) | |
(Hashable a, Eq a) => Monoid (HashSet a) | |
Storable a => Monoid (Vector a) | |
Prim a => Monoid (Vector a) | |
Monoid (Vector a) | |
Monoid (SearchHits a) # | |
Monoid (SearchHits a) # | |
Monoid b => Monoid (a -> b) | Since: 2.1 |
(Monoid a, Monoid b) => Monoid (a, b) | Since: 2.1 |
(Eq k, Hashable k) => Monoid (HashMap k v) | |
Ord k => Monoid (Map k v) | |
Monoid (Parser i a) | |
Monoid (Proxy k s) | Since: 4.7.0.0 |
(Monoid a, Monoid b, Monoid c) => Monoid (a, b, c) | Since: 2.1 |
Monoid a => Monoid (Const k a b) | |
Alternative f => Monoid (Alt * f a) | Since: 4.8.0.0 |
(Semigroup a, Monoid a) => Monoid (Tagged k s a) | |
(Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d) | Since: 2.1 |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e) | Since: 2.1 |
A type that can be converted to JSON.
Instances in general must specify toJSON
and should (but don't need
to) specify toEncoding
.
An example type and instance:
-- Allow ourselves to writeText
literals. {-# LANGUAGE OverloadedStrings #-} data Coord = Coord { x :: Double, y :: Double } instanceToJSON
Coord wheretoJSON
(Coord x y) =object
["x".=
x, "y".=
y]toEncoding
(Coord x y) =pairs
("x".=
x<>
"y".=
y)
Instead of manually writing your ToJSON
instance, there are two options
to do it automatically:
- Data.Aeson.TH provides Template Haskell functions which will derive an instance at compile time. The generated instance is optimized for your type so it will probably be more efficient than the following option.
- The compiler can provide a default generic implementation for
toJSON
.
To use the second, simply add a deriving
clause to your
datatype and declare a Generic
ToJSON
instance. If you require nothing other than
defaultOptions
, it is sufficient to write (and this is the only
alternative where the default toJSON
implementation is sufficient):
{-# LANGUAGE DeriveGeneric #-} import GHC.Generics data Coord = Coord { x :: Double, y :: Double } derivingGeneric
instanceToJSON
Coord wheretoEncoding
=genericToEncoding
defaultOptions
If on the other hand you wish to customize the generic decoding, you have to implement both methods:
customOptions =defaultOptions
{fieldLabelModifier
=map
toUpper
} instanceToJSON
Coord wheretoJSON
=genericToJSON
customOptionstoEncoding
=genericToEncoding
customOptions
Previous versions of this library only had the toJSON
method. Adding
toEncoding
had to reasons:
- toEncoding is more efficient for the common case that the output of
toJSON
is directly serialized to aByteString
. Further, expressing either method in terms of the other would be non-optimal. - The choice of defaults allows a smooth transition for existing users:
Existing instances that do not define
toEncoding
still compile and have the correct semantics. This is ensured by making the default implementation oftoEncoding
usetoJSON
. This produces correct results, but since it performs an intermediate conversion to aValue
, it will be less efficient than directly emitting anEncoding
. (this also means that specifying nothing more thaninstance ToJSON Coord
would be sufficient as a generically decoding instance, but there probably exists no good reason to not specifytoEncoding
in new instances.)
Convert a Haskell value to a JSON-friendly intermediate type.
toEncoding :: a -> Encoding #
Encode a Haskell value as JSON.
The default implementation of this method creates an
intermediate Value
using toJSON
. This provides
source-level compatibility for people upgrading from older
versions of this library, but obviously offers no performance
advantage.
To benefit from direct encoding, you must provide an
implementation for this method. The easiest way to do so is by
having your types implement Generic
using the DeriveGeneric
extension, and then have GHC generate a method body as follows.
instanceToJSON
Coord wheretoEncoding
=genericToEncoding
defaultOptions
toJSONList :: [a] -> Value #
toEncodingList :: [a] -> Encoding #
data TimeInterval Source #
data ExecutionHint Source #
data CollectionMode Source #
data TermInclusion Source #
data SnapshotRepoSelection Source #
data GenericSnapshotRepo Source #
A generic representation of a snapshot repo. This is what gets
sent to and parsed from the server. For repo types enabled by
plugins that aren't exported by this library, consider making a
custom type which implements SnapshotRepo
. If it is a common repo
type, consider submitting a pull request to have it included in the
library proper
class SnapshotRepo r where Source #
Law: fromGSnapshotRepo (toGSnapshotRepo r) == Right r
data SnapshotRepoConversionError Source #
RepoTypeMismatch SnapshotRepoType SnapshotRepoType | Expected type and actual type |
OtherRepoConversionError Text |
newtype SnapshotRepoType Source #
newtype GenericSnapshotRepoSettings Source #
Opaque representation of snapshot repo settings. Instances of
SnapshotRepo
will produce this.
data SnapshotRepoUpdateSettings Source #
SnapshotRepoUpdateSettings | |
|
defaultSnapshotRepoUpdateSettings :: SnapshotRepoUpdateSettings Source #
Reasonable defaults for repo creation/update
- repoUpdateVerify True
newtype SnapshotRepoName Source #
The unique name of a snapshot repository.
data SnapshotRepoPattern Source #
Either specifies an exact repo name or one with globs in it,
e.g. RepoPattern "foo*"
NOTE: Patterns are not supported on ES < 1.7
newtype SnapshotVerification Source #
The result of running verifySnapshotRepo
.
data SnapshotNodeVerification Source #
A node that has verified a snapshot
newtype FullNodeId Source #
Unique, automatically-generated name assigned to nodes that are usually returned in node-oriented APIs.
A human-readable node name that is supplied by the user in the node config or automatically generated by Elasticsearch.
newtype ClusterName Source #
data NodesStats Source #
data NodeHTTPStats Source #
data NodeDataPathStats Source #
data NodeFSTotalStats Source #
data NodeThreadPoolsStats Source #
data NodeJVMStats Source #
data JVMGCStats Source #
data NodeOSStats Source #
LoadAvgs | |
|
data NodeIndicesStats Source #
A quirky address format used throughout Elasticsearch. An example would be inet[/1.1.1.1:9200]. inet may be a placeholder for a FQDN.
newtype PluginName Source #
NodeInfo | |
|
data NodePluginInfo Source #
NodePluginInfo | |
|
data NodeHTTPInfo Source #
data BoundTransportAddress Source #
newtype MacAddress Source #
newtype NetworkInterfaceName Source #
data NodeThreadPoolsInfo Source #
data ThreadPoolSize Source #
data ThreadPoolType Source #
data NodeJVMInfo Source #
NodeJVMInfo | |
|
newtype JVMMemoryPool Source #
newtype JVMGCCollector Source #
data NodeOSInfo Source #
CPUInfo | |
|
data FsSnapshotRepo Source #
A filesystem-based snapshot repo that ships with
Elasticsearch. This is an instance of SnapshotRepo
so it can be
used with updateSnapshotRepo
FsSnapshotRepo | |
|
data SnapshotCreateSettings Source #
SnapshotCreateSettings | |
|
defaultSnapshotCreateSettings :: SnapshotCreateSettings Source #
Reasonable defaults for snapshot creation
- snapWaitForCompletion False
- snapIndices Nothing
- snapIgnoreUnavailable False
- snapIncludeGlobalState True
- snapPartial False
data SnapshotSelection Source #
data SnapshotPattern Source #
Either specifies an exact snapshot name or one with globs in it,
e.g. SnapPattern "foo*"
NOTE: Patterns are not supported on
ES < 1.7
data SnapshotInfo Source #
General information about the state of a snapshot. Has some
redundancies with SnapshotStatus
newtype SnapshotName Source #
data SnapshotState Source #
data SnapshotRestoreSettings Source #
SnapshotRestoreSettings | |
|
defaultSnapshotRestoreSettings :: SnapshotRestoreSettings Source #
Reasonable defaults for snapshot restores
- snapRestoreWaitForCompletion False
- snapRestoreIndices Nothing
- snapRestoreIgnoreUnavailable False
- snapRestoreIncludeGlobalState True
- snapRestoreRenamePattern Nothing
- snapRestoreRenameReplacement Nothing
- snapRestorePartial False
- snapRestoreIncludeAliases True
- snapRestoreIndexSettingsOverrides Nothing
- snapRestoreIgnoreIndexSettings Nothing
newtype RestoreRenamePattern Source #
Regex-stype pattern, e.g. "index_(.+)" to match index names
data RestoreRenameToken Source #
A single token in a index renaming scheme for a restore. These are concatenated into a string before being sent to Elasticsearch. Check out these Java docs to find out more if you're into that sort of thing.
RRTLit Text | Just a literal string of characters |
RRSubWholeMatch | Equivalent to $0. The entire matched pattern, not any subgroup |
RRSubGroup RRGroupRefNum | A specific reference to a group number |
data RRGroupRefNum Source #
A group number for regex matching. Only values from 1-9 are
supported. Construct with mkRRGroupRefNum
rrGroupRefNum :: RRGroupRefNum -> Int Source #
mkRRGroupRefNum :: Int -> Maybe RRGroupRefNum Source #
Only allows valid group number references (1-9).
data RestoreIndexSettings Source #
Index settings that can be overridden. The docs only mention you can update number of replicas, but there may be more. You definitely cannot override shard count.
Suggest | |
|
data SuggestType Source #
data PhraseSuggester Source #
data DirectGenerators Source #
data Aggregation Source #
type Aggregations = Map Text Aggregation Source #
data BucketValue Source #
class BucketAggregation a where Source #
key :: a -> BucketValue Source #
aggs :: a -> Maybe AggregationResults Source #
data TermsAggregation Source #
data MissingAggregation Source #
data ValueCountAggregation Source #
data FilterAggregation Source #
Single-bucket filter aggregations. See https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filter-aggregation.html#search-aggregations-bucket-filter-aggregation for more information.
data DateRangeAggRange Source #
data DateMathExpr Source #
See https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math for more information.
data DateMathAnchor Source #
Starting point for a date range. This along with the DateMathModifiers
gets you the date ES will start from.
data DateMathModifier Source #
data DateMathUnit Source #
data TopHitsAggregation Source #
data Highlights Source #
data FieldHighlight Source #
data HighlightSettings Source #
data PlainHighlight Source #
data PostingsHighlight Source #
data FastVectorHighlight Source #
data CommonHighlight Source #
CommonHighlight | |
|
data NonPostings Source #
data HighlightEncoder Source #
data HighlightTag Source #
TagSchema Text | |
CustomTags ([Text], [Text]) |
data MissingResult Source #
data TermsResult Source #
data DateHistogramResult Source #
data TopHitResult a Source #
Show a => Show (TopHitResult a) Source # | |
FromJSON a => FromJSON (TopHitResult a) Source # | |
newtype EsUsername Source #
Username type used for HTTP Basic authentication. See basicAuthHook
.
newtype EsPassword Source #
Password type used for HTTP Basic authentication. See basicAuthHook
.