packages feed

bloodhound 0.12.1.0 → 0.13.0.0

raw patch · 20 files changed

+14188/−9141 lines, 20 filesdep +unix-compatdep −directorydep −doctestdep −filepathdep ~aesondep ~basedep ~hspecPVP ok

version bump matches the API change (PVP)

Dependencies added: unix-compat

Dependencies removed: directory, doctest, filepath, unix

Dependency ranges changed: aeson, base, hspec, vector

API changes (from Hackage documentation)

- Database.Bloodhound.Client: advanceScroll :: (FromJSON a, MonadBH m, MonadThrow m) => ScrollId -> NominalDiffTime -> m (Either EsError (SearchResult a))
- Database.Bloodhound.Client: basicAuthHook :: Monad m => EsUsername -> EsPassword -> Request -> m Request
- Database.Bloodhound.Client: bulk :: MonadBH m => Vector BulkOperation -> m Reply
- Database.Bloodhound.Client: closeIndex :: MonadBH m => IndexName -> m Reply
- Database.Bloodhound.Client: createIndex :: MonadBH m => IndexSettings -> IndexName -> m Reply
- Database.Bloodhound.Client: createSnapshot :: (MonadBH m) => SnapshotRepoName -> SnapshotName -> SnapshotCreateSettings -> m Reply
- Database.Bloodhound.Client: deleteDocument :: MonadBH m => IndexName -> MappingName -> DocId -> m Reply
- Database.Bloodhound.Client: deleteIndex :: MonadBH m => IndexName -> m Reply
- Database.Bloodhound.Client: deleteMapping :: MonadBH m => IndexName -> MappingName -> m Reply
- Database.Bloodhound.Client: deleteSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> m Reply
- Database.Bloodhound.Client: deleteSnapshotRepo :: MonadBH m => SnapshotRepoName -> m Reply
- Database.Bloodhound.Client: deleteTemplate :: MonadBH m => TemplateName -> m Reply
- Database.Bloodhound.Client: documentExists :: MonadBH m => IndexName -> MappingName -> Maybe DocumentParent -> DocId -> m Bool
- Database.Bloodhound.Client: encodeBulkOperation :: BulkOperation -> ByteString
- Database.Bloodhound.Client: encodeBulkOperations :: Vector BulkOperation -> ByteString
- Database.Bloodhound.Client: getDocument :: MonadBH m => IndexName -> MappingName -> DocId -> m Reply
- Database.Bloodhound.Client: getIndexAliases :: (MonadBH m, MonadThrow m) => m (Either EsError IndexAliasesSummary)
- Database.Bloodhound.Client: getIndexSettings :: (MonadBH m, MonadThrow m) => IndexName -> m (Either EsError IndexSettingsSummary)
- Database.Bloodhound.Client: getInitialScroll :: MonadBH m => IndexName -> MappingName -> Search -> m (Maybe ScrollId)
- Database.Bloodhound.Client: getNodesInfo :: (MonadBH m, MonadThrow m) => NodeSelection -> m (Either EsError NodesInfo)
- Database.Bloodhound.Client: getNodesStats :: (MonadBH m, MonadThrow m) => NodeSelection -> m (Either EsError NodesStats)
- Database.Bloodhound.Client: getSnapshotRepos :: (MonadBH m, MonadThrow m) => SnapshotRepoSelection -> m (Either EsError [GenericSnapshotRepo])
- Database.Bloodhound.Client: getSnapshots :: (MonadBH m, MonadThrow m) => SnapshotRepoName -> SnapshotSelection -> m (Either EsError [SnapshotInfo])
- Database.Bloodhound.Client: getStatus :: MonadBH m => m (Maybe Status)
- Database.Bloodhound.Client: indexDocument :: (ToJSON doc, MonadBH m) => IndexName -> MappingName -> IndexDocumentSettings -> doc -> DocId -> m Reply
- Database.Bloodhound.Client: indexExists :: MonadBH m => IndexName -> m Bool
- Database.Bloodhound.Client: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Client.GSRs
- Database.Bloodhound.Client: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Client.SIs
- Database.Bloodhound.Client: isCreated :: Reply -> Bool
- Database.Bloodhound.Client: isSuccess :: Reply -> Bool
- Database.Bloodhound.Client: isVersionConflict :: Reply -> Bool
- Database.Bloodhound.Client: listIndices :: (MonadThrow m, MonadBH m) => m [IndexName]
- Database.Bloodhound.Client: mkAggregateSearch :: Maybe Query -> Aggregations -> Search
- Database.Bloodhound.Client: mkHighlightSearch :: Maybe Query -> Highlights -> Search
- Database.Bloodhound.Client: mkReplicaCount :: Int -> Maybe ReplicaCount
- Database.Bloodhound.Client: mkSearch :: Maybe Query -> Maybe Filter -> Search
- Database.Bloodhound.Client: mkShardCount :: Int -> Maybe ShardCount
- Database.Bloodhound.Client: openIndex :: MonadBH m => IndexName -> m Reply
- Database.Bloodhound.Client: optimizeIndex :: MonadBH m => IndexSelection -> IndexOptimizationSettings -> m Reply
- Database.Bloodhound.Client: pageSearch :: From -> Size -> Search -> Search
- Database.Bloodhound.Client: parseEsResponse :: (MonadThrow m, FromJSON a) => Reply -> m (Either EsError a)
- Database.Bloodhound.Client: putMapping :: (MonadBH m, ToJSON a) => IndexName -> MappingName -> a -> m Reply
- Database.Bloodhound.Client: putTemplate :: MonadBH m => IndexTemplate -> TemplateName -> m Reply
- Database.Bloodhound.Client: refreshIndex :: MonadBH m => IndexName -> m Reply
- Database.Bloodhound.Client: restoreSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> SnapshotRestoreSettings -> m Reply
- Database.Bloodhound.Client: scanSearch :: (FromJSON a, MonadBH m, MonadThrow m) => IndexName -> MappingName -> Search -> m [Hit a]
- Database.Bloodhound.Client: searchAll :: MonadBH m => Search -> m Reply
- Database.Bloodhound.Client: searchByIndex :: MonadBH m => IndexName -> Search -> m Reply
- Database.Bloodhound.Client: searchByType :: MonadBH m => IndexName -> MappingName -> Search -> m Reply
- Database.Bloodhound.Client: templateExists :: MonadBH m => TemplateName -> m Bool
- Database.Bloodhound.Client: updateDocument :: (ToJSON patch, MonadBH m) => IndexName -> MappingName -> IndexDocumentSettings -> patch -> DocId -> m Reply
- Database.Bloodhound.Client: updateIndexAliases :: MonadBH m => NonEmpty IndexAliasAction -> m Reply
- Database.Bloodhound.Client: updateIndexSettings :: MonadBH m => NonEmpty UpdatableIndexSetting -> IndexName -> m Reply
- Database.Bloodhound.Client: updateSnapshotRepo :: (MonadBH m, SnapshotRepo repo) => SnapshotRepoUpdateSettings -> repo -> m Reply
- Database.Bloodhound.Client: verifySnapshotRepo :: (MonadBH m, MonadThrow m) => SnapshotRepoName -> m (Either EsError SnapshotVerification)
- Database.Bloodhound.Client: waitForYellowIndex :: MonadBH m => IndexName -> m Reply
- Database.Bloodhound.Client: withBH :: ManagerSettings -> Server -> BH IO a -> IO a
- Database.Bloodhound.Types: (<&&>) :: Seminearring a => a -> a -> a
- Database.Bloodhound.Types: (<||>) :: Seminearring a => a -> a -> a
- Database.Bloodhound.Types: AddAlias :: IndexAlias -> IndexAliasCreate -> IndexAliasAction
- Database.Bloodhound.Types: AddTime :: Int -> DateMathUnit -> DateMathModifier
- Database.Bloodhound.Types: AllAliasRouting :: RoutingValue -> AliasRouting
- Database.Bloodhound.Types: AllIndexes :: IndexSelection
- Database.Bloodhound.Types: AllNodes :: NodeSelection
- Database.Bloodhound.Types: AllRegexpFlags :: RegexpFlags
- Database.Bloodhound.Types: AllSnapshotRepos :: SnapshotRepoSelection
- Database.Bloodhound.Types: AllSnapshots :: SnapshotSelection
- Database.Bloodhound.Types: AllocAll :: AllocationPolicy
- Database.Bloodhound.Types: AllocNewPrimaries :: AllocationPolicy
- Database.Bloodhound.Types: AllocNone :: AllocationPolicy
- Database.Bloodhound.Types: AllocPrimaries :: AllocationPolicy
- Database.Bloodhound.Types: AllowLeadingWildcard :: Bool -> AllowLeadingWildcard
- Database.Bloodhound.Types: AnalyzeWildcard :: Bool -> AnalyzeWildcard
- Database.Bloodhound.Types: Analyzer :: Text -> Analyzer
- Database.Bloodhound.Types: And :: BooleanOperator
- Database.Bloodhound.Types: AndFilter :: [Filter] -> Cache -> Filter
- Database.Bloodhound.Types: AnyString :: RegexpFlag
- Database.Bloodhound.Types: Arc :: DistanceType
- Database.Bloodhound.Types: Ascending :: SortOrder
- Database.Bloodhound.Types: AutoExpandReplicas :: ReplicaBounds -> UpdatableIndexSetting
- Database.Bloodhound.Types: Automaton :: RegexpFlag
- Database.Bloodhound.Types: BH :: ReaderT BHEnv m a -> BH m a
- Database.Bloodhound.Types: BlocksMetaData :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: BlocksRead :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: BlocksReadOnly :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: BlocksWrite :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: BoolFilter :: BoolMatch -> Filter
- Database.Bloodhound.Types: BoolQuery :: [Query] -> [Query] -> [Query] -> Maybe MinimumMatch -> Maybe Boost -> Maybe DisableCoord -> BoolQuery
- Database.Bloodhound.Types: BoolValue :: Bool -> BucketValue
- Database.Bloodhound.Types: Boost :: Double -> Boost
- Database.Bloodhound.Types: BoostTerms :: Double -> BoostTerms
- Database.Bloodhound.Types: BoostingQuery :: Query -> Query -> Boost -> BoostingQuery
- Database.Bloodhound.Types: BoundTransportAddress :: EsAddress -> EsAddress -> BoundTransportAddress
- Database.Bloodhound.Types: BreadthFirst :: CollectionMode
- Database.Bloodhound.Types: Bucket :: [a] -> Bucket a
- Database.Bloodhound.Types: BuildHash :: Text -> BuildHash
- Database.Bloodhound.Types: BulkCreate :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
- Database.Bloodhound.Types: BulkDelete :: IndexName -> MappingName -> DocId -> BulkOperation
- Database.Bloodhound.Types: BulkIndex :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
- Database.Bloodhound.Types: BulkUpdate :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
- Database.Bloodhound.Types: Bytes :: Int -> Bytes
- Database.Bloodhound.Types: CPUInfo :: Bytes -> Int -> Int -> Int -> Int -> Text -> Text -> CPUInfo
- Database.Bloodhound.Types: CacheFilterExpire :: (Maybe NominalDiffTime) -> UpdatableIndexSetting
- Database.Bloodhound.Types: CacheFilterMaxSize :: (Maybe Bytes) -> UpdatableIndexSetting
- Database.Bloodhound.Types: CacheKey :: Text -> CacheKey
- Database.Bloodhound.Types: CacheName :: Text -> CacheName
- Database.Bloodhound.Types: CardinalityAgg :: CardinalityAggregation -> Aggregation
- Database.Bloodhound.Types: CardinalityAggregation :: FieldName -> Maybe Int -> CardinalityAggregation
- Database.Bloodhound.Types: Centimeters :: DistanceUnit
- Database.Bloodhound.Types: CloseIndex :: OpenCloseIndex
- Database.Bloodhound.Types: ClusterName :: Text -> ClusterName
- Database.Bloodhound.Types: CommonHighlight :: Maybe Text -> Maybe Bool -> Maybe HighlightTag -> Maybe HighlightEncoder -> Maybe Int -> Maybe Query -> Maybe Bool -> CommonHighlight
- Database.Bloodhound.Types: CommonMinimumMatch :: MinimumMatch -> CommonMinimumMatch
- Database.Bloodhound.Types: CommonMinimumMatchHighLow :: MinimumMatchHighLow -> CommonMinimumMatch
- Database.Bloodhound.Types: CommonTermsQuery :: FieldName -> QueryString -> CutoffFrequency -> BooleanOperator -> BooleanOperator -> Maybe CommonMinimumMatch -> Maybe Boost -> Maybe Analyzer -> Maybe DisableCoord -> CommonTermsQuery
- Database.Bloodhound.Types: Complement :: RegexpFlag
- Database.Bloodhound.Types: CompoundFileFormat :: Bool -> CompoundFormat
- Database.Bloodhound.Types: ConstantScoreFilter :: Filter -> Boost -> Query
- Database.Bloodhound.Types: ConstantScoreQuery :: Query -> Boost -> Query
- Database.Bloodhound.Types: CustomMissing :: Text -> Missing
- Database.Bloodhound.Types: CustomTags :: ([Text], [Text]) -> HighlightTag
- Database.Bloodhound.Types: CutoffFrequency :: Double -> CutoffFrequency
- Database.Bloodhound.Types: DMDate :: Day -> DateMathAnchor
- Database.Bloodhound.Types: DMDay :: DateMathUnit
- Database.Bloodhound.Types: DMHour :: DateMathUnit
- Database.Bloodhound.Types: DMMinute :: DateMathUnit
- Database.Bloodhound.Types: DMMonth :: DateMathUnit
- Database.Bloodhound.Types: DMNow :: DateMathAnchor
- Database.Bloodhound.Types: DMSecond :: DateMathUnit
- Database.Bloodhound.Types: DMWeek :: DateMathUnit
- Database.Bloodhound.Types: DMYear :: DateMathUnit
- Database.Bloodhound.Types: DateHistogramAgg :: DateHistogramAggregation -> Aggregation
- Database.Bloodhound.Types: DateHistogramAggregation :: FieldName -> Interval -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Aggregations -> DateHistogramAggregation
- Database.Bloodhound.Types: DateHistogramResult :: Int -> Maybe Text -> Int -> Maybe AggregationResults -> DateHistogramResult
- Database.Bloodhound.Types: DateMathExpr :: DateMathAnchor -> [DateMathModifier] -> DateMathExpr
- Database.Bloodhound.Types: DateRangeAgg :: DateRangeAggregation -> Aggregation
- Database.Bloodhound.Types: DateRangeAggregation :: FieldName -> Maybe Text -> NonEmpty DateRangeAggRange -> DateRangeAggregation
- Database.Bloodhound.Types: DateRangeFrom :: DateMathExpr -> DateRangeAggRange
- Database.Bloodhound.Types: DateRangeFromAndTo :: DateMathExpr -> DateMathExpr -> DateRangeAggRange
- Database.Bloodhound.Types: DateRangeResult :: Text -> Maybe UTCTime -> Maybe Text -> Maybe UTCTime -> Maybe Text -> Int -> Maybe AggregationResults -> DateRangeResult
- Database.Bloodhound.Types: DateRangeTo :: DateMathExpr -> DateRangeAggRange
- Database.Bloodhound.Types: Day :: Interval
- Database.Bloodhound.Types: Days :: TimeInterval
- Database.Bloodhound.Types: DefaultEncoder :: HighlightEncoder
- Database.Bloodhound.Types: DefaultSort :: FieldName -> SortOrder -> Bool -> Maybe SortMode -> Maybe Missing -> Maybe Filter -> DefaultSort
- Database.Bloodhound.Types: DefaultSortSpec :: DefaultSort -> SortSpec
- Database.Bloodhound.Types: DepthFirst :: CollectionMode
- Database.Bloodhound.Types: Descending :: SortOrder
- Database.Bloodhound.Types: DisMaxQuery :: [Query] -> Tiebreaker -> Maybe Boost -> DisMaxQuery
- Database.Bloodhound.Types: DisableCoord :: Bool -> DisableCoord
- Database.Bloodhound.Types: Distance :: Double -> DistanceUnit -> Distance
- Database.Bloodhound.Types: DistanceRange :: Distance -> Distance -> DistanceRange
- Database.Bloodhound.Types: DocId :: Text -> DocId
- Database.Bloodhound.Types: DocumentParent :: DocId -> DocumentParent
- Database.Bloodhound.Types: Empty :: RegexpFlag
- Database.Bloodhound.Types: EnablePositionIncrements :: Bool -> EnablePositionIncrements
- Database.Bloodhound.Types: EsAddress :: Text -> EsAddress
- Database.Bloodhound.Types: EsError :: Int -> Text -> EsError
- Database.Bloodhound.Types: EsPassword :: Text -> EsPassword
- Database.Bloodhound.Types: EsProtocolException :: ByteString -> EsProtocolException
- Database.Bloodhound.Types: EsResult :: Text -> Text -> Text -> Maybe (EsResultFound a) -> EsResult a
- Database.Bloodhound.Types: EsResultFound :: DocVersion -> a -> EsResultFound a
- Database.Bloodhound.Types: EsUsername :: Text -> EsUsername
- Database.Bloodhound.Types: ExactRepo :: SnapshotRepoName -> SnapshotRepoPattern
- Database.Bloodhound.Types: ExactSnap :: SnapshotName -> SnapshotPattern
- Database.Bloodhound.Types: Exclude :: [Pattern] -> Exclude
- Database.Bloodhound.Types: Existence :: Bool -> Existence
- Database.Bloodhound.Types: ExistsFilter :: FieldName -> Filter
- Database.Bloodhound.Types: ExplicitShards :: Int -> InitialShardCount
- Database.Bloodhound.Types: ExternalDocVersion :: DocVersion -> ExternalDocVersion
- Database.Bloodhound.Types: ExternalGT :: ExternalDocVersion -> VersionControl
- Database.Bloodhound.Types: ExternalGTE :: ExternalDocVersion -> VersionControl
- Database.Bloodhound.Types: FSBuffered :: FSType
- Database.Bloodhound.Types: FSSimple :: FSType
- Database.Bloodhound.Types: FailOnMergeFailure :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: FastVector :: FastVectorHighlight -> HighlightSettings
- Database.Bloodhound.Types: FastVectorHighlight :: Maybe CommonHighlight -> Maybe NonPostings -> Maybe Text -> Maybe Int -> Maybe Int -> [Text] -> Maybe Int -> FastVectorHighlight
- Database.Bloodhound.Types: Feet :: DistanceUnit
- Database.Bloodhound.Types: FieldDefinition :: FieldType -> FieldDefinition
- Database.Bloodhound.Types: FieldHighlight :: FieldName -> (Maybe HighlightSettings) -> FieldHighlight
- Database.Bloodhound.Types: FieldName :: Text -> FieldName
- Database.Bloodhound.Types: FieldValueCount :: FieldName -> ValueCountAggregation
- Database.Bloodhound.Types: FilterAgg :: FilterAggregation -> Aggregation
- Database.Bloodhound.Types: FilterAggregation :: Filter -> Maybe Aggregations -> FilterAggregation
- Database.Bloodhound.Types: FilteredQuery :: Query -> Filter -> FilteredQuery
- Database.Bloodhound.Types: FirstMissing :: Missing
- Database.Bloodhound.Types: FofField :: FieldName -> FieldOrFields
- Database.Bloodhound.Types: FofFields :: (NonEmpty FieldName) -> FieldOrFields
- Database.Bloodhound.Types: ForceVersion :: ExternalDocVersion -> VersionControl
- Database.Bloodhound.Types: FractionalInterval :: Float -> TimeInterval -> Interval
- Database.Bloodhound.Types: From :: Int -> From
- Database.Bloodhound.Types: FsSnapshotRepo :: SnapshotRepoName -> FilePath -> Bool -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> FsSnapshotRepo
- Database.Bloodhound.Types: FullMinus1Shards :: InitialShardCount
- Database.Bloodhound.Types: FullNodeId :: Text -> FullNodeId
- Database.Bloodhound.Types: FullShards :: InitialShardCount
- Database.Bloodhound.Types: Fuzziness :: Double -> Fuzziness
- Database.Bloodhound.Types: FuzzyLikeFieldQuery :: FieldName -> Text -> MaxQueryTerms -> IgnoreTermFrequency -> Fuzziness -> PrefixLength -> Boost -> Maybe Analyzer -> FuzzyLikeFieldQuery
- Database.Bloodhound.Types: FuzzyLikeThisQuery :: [FieldName] -> Text -> MaxQueryTerms -> IgnoreTermFrequency -> Fuzziness -> PrefixLength -> Boost -> Maybe Analyzer -> FuzzyLikeThisQuery
- Database.Bloodhound.Types: FuzzyQuery :: FieldName -> Text -> PrefixLength -> MaxExpansions -> Fuzziness -> Maybe Boost -> FuzzyQuery
- Database.Bloodhound.Types: GCDeletes :: NominalDiffTime -> UpdatableIndexSetting
- Database.Bloodhound.Types: GatewaySnapshotInterval :: NominalDiffTime -> UpdatableIndexSetting
- Database.Bloodhound.Types: GeneratePhraseQueries :: Bool -> GeneratePhraseQueries
- Database.Bloodhound.Types: GenericSnapshotRepo :: SnapshotRepoName -> SnapshotRepoType -> GenericSnapshotRepoSettings -> GenericSnapshotRepo
- Database.Bloodhound.Types: GenericSnapshotRepoSettings :: Object -> GenericSnapshotRepoSettings
- Database.Bloodhound.Types: GeoBoundingBox :: LatLon -> LatLon -> GeoBoundingBox
- Database.Bloodhound.Types: GeoBoundingBoxConstraint :: FieldName -> GeoBoundingBox -> Cache -> GeoFilterType -> GeoBoundingBoxConstraint
- Database.Bloodhound.Types: GeoBoundingBoxFilter :: GeoBoundingBoxConstraint -> Filter
- Database.Bloodhound.Types: GeoDistanceFilter :: GeoPoint -> Distance -> DistanceType -> OptimizeBbox -> Cache -> Filter
- Database.Bloodhound.Types: GeoDistanceRangeFilter :: GeoPoint -> DistanceRange -> Filter
- Database.Bloodhound.Types: GeoDistanceSortSpec :: SortOrder -> GeoPoint -> DistanceUnit -> SortSpec
- Database.Bloodhound.Types: GeoFilterIndexed :: GeoFilterType
- Database.Bloodhound.Types: GeoFilterMemory :: GeoFilterType
- Database.Bloodhound.Types: GeoPoint :: FieldName -> LatLon -> GeoPoint
- Database.Bloodhound.Types: GeoPolygonFilter :: FieldName -> [LatLon] -> Filter
- Database.Bloodhound.Types: GlobalOrdinals :: ExecutionHint
- Database.Bloodhound.Types: GlobalOrdinalsHash :: ExecutionHint
- Database.Bloodhound.Types: GlobalOrdinalsLowCardinality :: ExecutionHint
- Database.Bloodhound.Types: GranularAliasRouting :: (Maybe SearchAliasRouting) -> (Maybe IndexAliasRouting) -> AliasRouting
- Database.Bloodhound.Types: GreaterThan :: Double -> GreaterThan
- Database.Bloodhound.Types: GreaterThanD :: UTCTime -> GreaterThanD
- Database.Bloodhound.Types: GreaterThanEq :: Double -> GreaterThanEq
- Database.Bloodhound.Types: GreaterThanEqD :: UTCTime -> GreaterThanEqD
- Database.Bloodhound.Types: HTMLEncoder :: HighlightEncoder
- Database.Bloodhound.Types: HasChildQuery :: TypeName -> Query -> Maybe ScoreType -> HasChildQuery
- Database.Bloodhound.Types: HasParentQuery :: TypeName -> Query -> Maybe ScoreType -> HasParentQuery
- Database.Bloodhound.Types: Highlights :: Maybe HighlightSettings -> [FieldHighlight] -> Highlights
- Database.Bloodhound.Types: Hit :: IndexName -> MappingName -> DocId -> Score -> Maybe a -> Maybe HitHighlight -> Hit a
- Database.Bloodhound.Types: Hour :: Interval
- Database.Bloodhound.Types: Hours :: TimeInterval
- Database.Bloodhound.Types: IdentityFilter :: Filter
- Database.Bloodhound.Types: IdsFilter :: MappingName -> [DocId] -> Filter
- Database.Bloodhound.Types: IdsQuery :: MappingName -> [DocId] -> Query
- Database.Bloodhound.Types: IgnoreTermFrequency :: Bool -> IgnoreTermFrequency
- Database.Bloodhound.Types: Inches :: DistanceUnit
- Database.Bloodhound.Types: Include :: [Pattern] -> Include
- Database.Bloodhound.Types: IndexAlias :: IndexName -> IndexAliasName -> IndexAlias
- Database.Bloodhound.Types: IndexAliasCreate :: Maybe AliasRouting -> Maybe Filter -> IndexAliasCreate
- Database.Bloodhound.Types: IndexAliasName :: IndexName -> IndexAliasName
- Database.Bloodhound.Types: IndexAliasRouting :: RoutingValue -> IndexAliasRouting
- Database.Bloodhound.Types: IndexAliasSummary :: IndexAlias -> IndexAliasCreate -> IndexAliasSummary
- Database.Bloodhound.Types: IndexAliasesSummary :: [IndexAliasSummary] -> IndexAliasesSummary
- Database.Bloodhound.Types: IndexCompoundFormat :: CompoundFormat -> UpdatableIndexSetting
- Database.Bloodhound.Types: IndexCompoundOnFlush :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: IndexConcurrency :: Int -> UpdatableIndexSetting
- Database.Bloodhound.Types: IndexDocumentSettings :: VersionControl -> Maybe DocumentParent -> IndexDocumentSettings
- Database.Bloodhound.Types: IndexList :: (NonEmpty IndexName) -> IndexSelection
- Database.Bloodhound.Types: IndexName :: Text -> IndexName
- Database.Bloodhound.Types: IndexOptimizationSettings :: Maybe Int -> Bool -> Bool -> IndexOptimizationSettings
- Database.Bloodhound.Types: IndexSettings :: ShardCount -> ReplicaCount -> IndexSettings
- Database.Bloodhound.Types: IndexSettingsSummary :: IndexName -> IndexSettings -> [UpdatableIndexSetting] -> IndexSettingsSummary
- Database.Bloodhound.Types: IndexTemplate :: TemplatePattern -> Maybe IndexSettings -> [Value] -> IndexTemplate
- Database.Bloodhound.Types: IndicesQuery :: [IndexName] -> Query -> Maybe Query -> IndicesQuery
- Database.Bloodhound.Types: InternalVersion :: DocVersion -> VersionControl
- Database.Bloodhound.Types: Intersection :: RegexpFlag
- Database.Bloodhound.Types: Interval :: RegexpFlag
- Database.Bloodhound.Types: JVMBufferPoolStats :: Bytes -> Bytes -> Int -> JVMBufferPoolStats
- Database.Bloodhound.Types: JVMGCCollector :: Text -> JVMGCCollector
- Database.Bloodhound.Types: JVMGCStats :: NominalDiffTime -> Int -> JVMGCStats
- Database.Bloodhound.Types: JVMMemoryInfo :: Bytes -> Bytes -> Bytes -> Bytes -> Bytes -> JVMMemoryInfo
- Database.Bloodhound.Types: JVMMemoryPool :: Text -> JVMMemoryPool
- Database.Bloodhound.Types: JVMPoolStats :: Bytes -> Bytes -> Bytes -> Bytes -> JVMPoolStats
- Database.Bloodhound.Types: Kilometers :: DistanceUnit
- Database.Bloodhound.Types: LastMissing :: Missing
- Database.Bloodhound.Types: LatLon :: Double -> Double -> LatLon
- Database.Bloodhound.Types: Lenient :: Bool -> Lenient
- Database.Bloodhound.Types: LessThan :: Double -> LessThan
- Database.Bloodhound.Types: LessThanD :: UTCTime -> LessThanD
- Database.Bloodhound.Types: LessThanEq :: Double -> LessThanEq
- Database.Bloodhound.Types: LessThanEqD :: UTCTime -> LessThanEqD
- Database.Bloodhound.Types: LimitFilter :: Int -> Filter
- Database.Bloodhound.Types: LoadAvgs :: Double -> Double -> Double -> LoadAvgs
- Database.Bloodhound.Types: LocalNode :: NodeSelection
- Database.Bloodhound.Types: Locale :: Text -> Locale
- Database.Bloodhound.Types: LowercaseExpanded :: Bool -> LowercaseExpanded
- Database.Bloodhound.Types: MacAddress :: Text -> MacAddress
- Database.Bloodhound.Types: Map :: ExecutionHint
- Database.Bloodhound.Types: Mapping :: TypeName -> [MappingField] -> Mapping
- Database.Bloodhound.Types: MappingField :: FieldName -> FieldDefinition -> MappingField
- Database.Bloodhound.Types: MappingName :: Text -> MappingName
- Database.Bloodhound.Types: MatchAllQuery :: (Maybe Boost) -> Query
- Database.Bloodhound.Types: MatchPhrase :: MatchQueryType
- Database.Bloodhound.Types: MatchPhrasePrefix :: MatchQueryType
- Database.Bloodhound.Types: MatchQuery :: FieldName -> QueryString -> BooleanOperator -> ZeroTermsQuery -> Maybe CutoffFrequency -> Maybe MatchQueryType -> Maybe Analyzer -> Maybe MaxExpansions -> Maybe Lenient -> Maybe Boost -> MatchQuery
- Database.Bloodhound.Types: MaxDocFrequency :: Int -> MaxDocFrequency
- Database.Bloodhound.Types: MaxExpansions :: Int -> MaxExpansions
- Database.Bloodhound.Types: MaxQueryTerms :: Int -> MaxQueryTerms
- Database.Bloodhound.Types: MaxWordLength :: Int -> MaxWordLength
- Database.Bloodhound.Types: MaybeNA :: Maybe a -> MaybeNA a
- Database.Bloodhound.Types: MergeSegmentVsTotalIndex :: Double -> CompoundFormat
- Database.Bloodhound.Types: Meters :: DistanceUnit
- Database.Bloodhound.Types: Miles :: DistanceUnit
- Database.Bloodhound.Types: Millimeters :: DistanceUnit
- Database.Bloodhound.Types: MinDocFrequency :: Int -> MinDocFrequency
- Database.Bloodhound.Types: MinWordLength :: Int -> MinWordLength
- Database.Bloodhound.Types: MinimumMatch :: Int -> MinimumMatch
- Database.Bloodhound.Types: MinimumMatchHighLow :: MinimumMatch -> MinimumMatch -> MinimumMatchHighLow
- Database.Bloodhound.Types: MinimumTermFrequency :: Int -> MinimumTermFrequency
- Database.Bloodhound.Types: Minute :: Interval
- Database.Bloodhound.Types: Minutes :: TimeInterval
- Database.Bloodhound.Types: MissingAgg :: MissingAggregation -> Aggregation
- Database.Bloodhound.Types: MissingAggregation :: Text -> MissingAggregation
- Database.Bloodhound.Types: MissingFilter :: FieldName -> Existence -> NullValue -> Filter
- Database.Bloodhound.Types: MissingResult :: Int -> MissingResult
- Database.Bloodhound.Types: Month :: Interval
- Database.Bloodhound.Types: MoreLikeThisFieldQuery :: Text -> FieldName -> Maybe PercentMatch -> Maybe MinimumTermFrequency -> Maybe MaxQueryTerms -> Maybe (NonEmpty StopWord) -> Maybe MinDocFrequency -> Maybe MaxDocFrequency -> Maybe MinWordLength -> Maybe MaxWordLength -> Maybe BoostTerms -> Maybe Boost -> Maybe Analyzer -> MoreLikeThisFieldQuery
- Database.Bloodhound.Types: MoreLikeThisQuery :: Text -> Maybe (NonEmpty FieldName) -> Maybe PercentMatch -> Maybe MinimumTermFrequency -> Maybe MaxQueryTerms -> Maybe (NonEmpty StopWord) -> Maybe MinDocFrequency -> Maybe MaxDocFrequency -> Maybe MinWordLength -> Maybe MaxWordLength -> Maybe BoostTerms -> Maybe Boost -> Maybe Analyzer -> MoreLikeThisQuery
- Database.Bloodhound.Types: MultiMatchBestFields :: MultiMatchQueryType
- Database.Bloodhound.Types: MultiMatchCrossFields :: MultiMatchQueryType
- Database.Bloodhound.Types: MultiMatchMostFields :: MultiMatchQueryType
- Database.Bloodhound.Types: MultiMatchPhrase :: MultiMatchQueryType
- Database.Bloodhound.Types: MultiMatchPhrasePrefix :: MultiMatchQueryType
- Database.Bloodhound.Types: MultiMatchQuery :: [FieldName] -> QueryString -> BooleanOperator -> ZeroTermsQuery -> Maybe Tiebreaker -> Maybe MultiMatchQueryType -> Maybe CutoffFrequency -> Maybe Analyzer -> Maybe MaxExpansions -> Maybe Lenient -> MultiMatchQuery
- Database.Bloodhound.Types: MustMatch :: Term -> Cache -> BoolMatch
- Database.Bloodhound.Types: MustNotMatch :: Term -> Cache -> BoolMatch
- Database.Bloodhound.Types: NauticalMiles :: DistanceUnit
- Database.Bloodhound.Types: NestedQuery :: QueryPath -> ScoreType -> Query -> NestedQuery
- Database.Bloodhound.Types: NetworkInterfaceName :: Text -> NetworkInterfaceName
- Database.Bloodhound.Types: NoOptimizeBbox :: OptimizeBbox
- Database.Bloodhound.Types: NoRegexpFlags :: RegexpFlags
- Database.Bloodhound.Types: NoSource :: Source
- Database.Bloodhound.Types: NoVersionControl :: VersionControl
- Database.Bloodhound.Types: NodeAttrFilter :: NodeAttrName -> NonEmpty Text -> NodeAttrFilter
- Database.Bloodhound.Types: NodeAttrName :: Text -> NodeAttrName
- Database.Bloodhound.Types: NodeBreakerStats :: Int -> Double -> Bytes -> Bytes -> NodeBreakerStats
- Database.Bloodhound.Types: NodeBreakersStats :: NodeBreakerStats -> NodeBreakerStats -> NodeBreakerStats -> NodeBreakersStats
- Database.Bloodhound.Types: NodeByAttribute :: NodeAttrName -> Text -> NodeSelector
- Database.Bloodhound.Types: NodeByFullNodeId :: FullNodeId -> NodeSelector
- Database.Bloodhound.Types: NodeByHost :: Server -> NodeSelector
- Database.Bloodhound.Types: NodeByName :: NodeName -> NodeSelector
- Database.Bloodhound.Types: NodeDataPathStats :: Maybe Double -> Maybe Double -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> Maybe Int -> Maybe Int -> Maybe Int -> Bytes -> Bytes -> Bytes -> Maybe Text -> Text -> Text -> Text -> NodeDataPathStats
- Database.Bloodhound.Types: NodeFSStats :: [NodeDataPathStats] -> NodeFSTotalStats -> UTCTime -> NodeFSStats
- Database.Bloodhound.Types: NodeFSTotalStats :: Maybe Double -> Maybe Double -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> Maybe Int -> Maybe Int -> Maybe Int -> Bytes -> Bytes -> Bytes -> NodeFSTotalStats
- Database.Bloodhound.Types: NodeHTTPInfo :: Bytes -> BoundTransportAddress -> NodeHTTPInfo
- Database.Bloodhound.Types: NodeHTTPStats :: Int -> Int -> NodeHTTPStats
- Database.Bloodhound.Types: NodeIndicesStats :: Maybe NominalDiffTime -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Bytes -> Int -> NominalDiffTime -> Int -> Bytes -> Int -> Maybe Bytes -> Bytes -> Maybe Bytes -> Bytes -> Bytes -> Int -> Bytes -> Int -> Bytes -> Int -> NominalDiffTime -> Int -> Int -> Bytes -> Bytes -> Int -> Bytes -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> Bytes -> Int -> NominalDiffTime -> Int -> Bytes -> Int -> Int -> Int -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> Maybe NominalDiffTime -> Maybe Bool -> Maybe Int -> Int -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Bytes -> Int -> Int -> NodeIndicesStats
- Database.Bloodhound.Types: NodeInfo :: EsAddress -> BuildHash -> VersionNumber -> Server -> Server -> EsAddress -> NodeName -> FullNodeId -> [NodePluginInfo] -> NodeHTTPInfo -> NodeTransportInfo -> NodeNetworkInfo -> NodeThreadPoolsInfo -> NodeJVMInfo -> NodeProcessInfo -> NodeOSInfo -> Object -> NodeInfo
- Database.Bloodhound.Types: NodeJVMInfo :: [JVMMemoryPool] -> [JVMGCCollector] -> JVMMemoryInfo -> UTCTime -> Text -> VersionNumber -> Text -> VersionNumber -> PID -> NodeJVMInfo
- Database.Bloodhound.Types: NodeJVMStats :: JVMBufferPoolStats -> JVMBufferPoolStats -> JVMGCStats -> JVMGCStats -> Int -> Int -> JVMPoolStats -> JVMPoolStats -> JVMPoolStats -> Bytes -> Bytes -> Bytes -> Bytes -> Int -> Bytes -> NominalDiffTime -> UTCTime -> NodeJVMStats
- Database.Bloodhound.Types: NodeList :: (NonEmpty NodeSelector) -> NodeSelection
- Database.Bloodhound.Types: NodeName :: Text -> NodeName
- Database.Bloodhound.Types: NodeNetworkInfo :: NodeNetworkInterface -> NominalDiffTime -> NodeNetworkInfo
- Database.Bloodhound.Types: NodeNetworkInterface :: MacAddress -> NetworkInterfaceName -> Server -> NodeNetworkInterface
- Database.Bloodhound.Types: NodeNetworkStats :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> NodeNetworkStats
- Database.Bloodhound.Types: NodeOSInfo :: Bytes -> Bytes -> CPUInfo -> Int -> NominalDiffTime -> NodeOSInfo
- Database.Bloodhound.Types: NodeOSStats :: Bytes -> Bytes -> Bytes -> Bytes -> Int -> Int -> Bytes -> Bytes -> Int -> Int -> Int -> Int -> Int -> Maybe LoadAvgs -> NominalDiffTime -> UTCTime -> NodeOSStats
- Database.Bloodhound.Types: NodePluginInfo :: Bool -> Bool -> Text -> MaybeNA VersionNumber -> PluginName -> NodePluginInfo
- Database.Bloodhound.Types: NodeProcessInfo :: Bool -> Int -> PID -> NominalDiffTime -> NodeProcessInfo
- Database.Bloodhound.Types: NodeProcessStats :: Bytes -> Bytes -> Bytes -> NominalDiffTime -> NominalDiffTime -> NominalDiffTime -> Int -> Int -> UTCTime -> NodeProcessStats
- Database.Bloodhound.Types: NodeStats :: NodeName -> FullNodeId -> Maybe NodeBreakersStats -> NodeHTTPStats -> NodeTransportStats -> NodeFSStats -> NodeNetworkStats -> NodeThreadPoolsStats -> NodeJVMStats -> NodeProcessStats -> NodeOSStats -> NodeIndicesStats -> NodeStats
- Database.Bloodhound.Types: NodeThreadPoolInfo :: ThreadPoolSize -> Maybe NominalDiffTime -> Maybe Int -> Maybe Int -> ThreadPoolType -> NodeThreadPoolInfo
- Database.Bloodhound.Types: NodeThreadPoolStats :: Int -> Int -> Int -> Int -> Int -> Int -> NodeThreadPoolStats
- Database.Bloodhound.Types: NodeThreadPoolsInfo :: NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolsInfo
- Database.Bloodhound.Types: NodeThreadPoolsStats :: NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolsStats
- Database.Bloodhound.Types: NodeTransportInfo :: [BoundTransportAddress] -> BoundTransportAddress -> NodeTransportInfo
- Database.Bloodhound.Types: NodeTransportStats :: Bytes -> Int -> Bytes -> Int -> Int -> NodeTransportStats
- Database.Bloodhound.Types: NodesInfo :: [NodeInfo] -> ClusterName -> NodesInfo
- Database.Bloodhound.Types: NodesStats :: [NodeStats] -> ClusterName -> NodesStats
- Database.Bloodhound.Types: NonPostings :: Maybe Int -> Maybe Int -> NonPostings
- Database.Bloodhound.Types: NotFilter :: Filter -> Cache -> Filter
- Database.Bloodhound.Types: NullValue :: Bool -> NullValue
- Database.Bloodhound.Types: NumberOfReplicas :: ReplicaCount -> UpdatableIndexSetting
- Database.Bloodhound.Types: OpenIndex :: OpenCloseIndex
- Database.Bloodhound.Types: OptimizeGeoFilterType :: GeoFilterType -> OptimizeBbox
- Database.Bloodhound.Types: Or :: BooleanOperator
- Database.Bloodhound.Types: OrFilter :: [Filter] -> Cache -> Filter
- Database.Bloodhound.Types: Ordinals :: ExecutionHint
- Database.Bloodhound.Types: OtherRepoConversionError :: Text -> SnapshotRepoConversionError
- Database.Bloodhound.Types: PID :: Int -> PID
- Database.Bloodhound.Types: Pattern :: Text -> Pattern
- Database.Bloodhound.Types: PercentMatch :: Double -> PercentMatch
- Database.Bloodhound.Types: PhraseSlop :: Int -> PhraseSlop
- Database.Bloodhound.Types: Plain :: PlainHighlight -> HighlightSettings
- Database.Bloodhound.Types: PlainHighlight :: Maybe CommonHighlight -> Maybe NonPostings -> PlainHighlight
- Database.Bloodhound.Types: Plane :: DistanceType
- Database.Bloodhound.Types: PluginName :: Text -> PluginName
- Database.Bloodhound.Types: PopPattern :: Pattern -> PatternOrPatterns
- Database.Bloodhound.Types: PopPatterns :: [Pattern] -> PatternOrPatterns
- Database.Bloodhound.Types: Postings :: PostingsHighlight -> HighlightSettings
- Database.Bloodhound.Types: PostingsHighlight :: (Maybe CommonHighlight) -> PostingsHighlight
- Database.Bloodhound.Types: PrefixFilter :: FieldName -> PrefixValue -> Cache -> Filter
- Database.Bloodhound.Types: PrefixLength :: Int -> PrefixLength
- Database.Bloodhound.Types: PrefixQuery :: FieldName -> Text -> Maybe Boost -> PrefixQuery
- Database.Bloodhound.Types: Quarter :: Interval
- Database.Bloodhound.Types: QueryBoolQuery :: BoolQuery -> Query
- Database.Bloodhound.Types: QueryBoostingQuery :: BoostingQuery -> Query
- Database.Bloodhound.Types: QueryCommonTermsQuery :: CommonTermsQuery -> Query
- Database.Bloodhound.Types: QueryDisMaxQuery :: DisMaxQuery -> Query
- Database.Bloodhound.Types: QueryFilter :: Query -> Cache -> Filter
- Database.Bloodhound.Types: QueryFilteredQuery :: FilteredQuery -> Query
- Database.Bloodhound.Types: QueryFuzzyLikeFieldQuery :: FuzzyLikeFieldQuery -> Query
- Database.Bloodhound.Types: QueryFuzzyLikeThisQuery :: FuzzyLikeThisQuery -> Query
- Database.Bloodhound.Types: QueryFuzzyQuery :: FuzzyQuery -> Query
- Database.Bloodhound.Types: QueryHasChildQuery :: HasChildQuery -> Query
- Database.Bloodhound.Types: QueryHasParentQuery :: HasParentQuery -> Query
- Database.Bloodhound.Types: QueryIndicesQuery :: IndicesQuery -> Query
- Database.Bloodhound.Types: QueryMatchQuery :: MatchQuery -> Query
- Database.Bloodhound.Types: QueryMoreLikeThisFieldQuery :: MoreLikeThisFieldQuery -> Query
- Database.Bloodhound.Types: QueryMoreLikeThisQuery :: MoreLikeThisQuery -> Query
- Database.Bloodhound.Types: QueryMultiMatchQuery :: MultiMatchQuery -> Query
- Database.Bloodhound.Types: QueryNestedQuery :: NestedQuery -> Query
- Database.Bloodhound.Types: QueryPath :: Text -> QueryPath
- Database.Bloodhound.Types: QueryPrefixQuery :: PrefixQuery -> Query
- Database.Bloodhound.Types: QueryQueryStringQuery :: QueryStringQuery -> Query
- Database.Bloodhound.Types: QueryRangeQuery :: RangeQuery -> Query
- Database.Bloodhound.Types: QueryRegexpQuery :: RegexpQuery -> Query
- Database.Bloodhound.Types: QuerySimpleQueryStringQuery :: SimpleQueryStringQuery -> Query
- Database.Bloodhound.Types: QueryString :: Text -> QueryString
- Database.Bloodhound.Types: QueryStringQuery :: QueryString -> Maybe FieldName -> Maybe BooleanOperator -> Maybe Analyzer -> Maybe AllowLeadingWildcard -> Maybe LowercaseExpanded -> Maybe EnablePositionIncrements -> Maybe MaxExpansions -> Maybe Fuzziness -> Maybe PrefixLength -> Maybe PhraseSlop -> Maybe Boost -> Maybe AnalyzeWildcard -> Maybe GeneratePhraseQueries -> Maybe MinimumMatch -> Maybe Lenient -> Maybe Locale -> QueryStringQuery
- Database.Bloodhound.Types: QuorumMinus1Shards :: InitialShardCount
- Database.Bloodhound.Types: QuorumShards :: InitialShardCount
- Database.Bloodhound.Types: RRSubGroup :: RRGroupRefNum -> RestoreRenameToken
- Database.Bloodhound.Types: RRSubWholeMatch :: RestoreRenameToken
- Database.Bloodhound.Types: RRTLit :: Text -> RestoreRenameToken
- Database.Bloodhound.Types: RangeDateGt :: GreaterThanD -> RangeValue
- Database.Bloodhound.Types: RangeDateGtLt :: GreaterThanD -> LessThanD -> RangeValue
- Database.Bloodhound.Types: RangeDateGtLte :: GreaterThanD -> LessThanEqD -> RangeValue
- Database.Bloodhound.Types: RangeDateGte :: GreaterThanEqD -> RangeValue
- Database.Bloodhound.Types: RangeDateGteLt :: GreaterThanEqD -> LessThanD -> RangeValue
- Database.Bloodhound.Types: RangeDateGteLte :: GreaterThanEqD -> LessThanEqD -> RangeValue
- Database.Bloodhound.Types: RangeDateLt :: LessThanD -> RangeValue
- Database.Bloodhound.Types: RangeDateLte :: LessThanEqD -> RangeValue
- Database.Bloodhound.Types: RangeDoubleGt :: GreaterThan -> RangeValue
- Database.Bloodhound.Types: RangeDoubleGtLt :: GreaterThan -> LessThan -> RangeValue
- Database.Bloodhound.Types: RangeDoubleGtLte :: GreaterThan -> LessThanEq -> RangeValue
- Database.Bloodhound.Types: RangeDoubleGte :: GreaterThanEq -> RangeValue
- Database.Bloodhound.Types: RangeDoubleGteLt :: GreaterThanEq -> LessThan -> RangeValue
- Database.Bloodhound.Types: RangeDoubleGteLte :: GreaterThanEq -> LessThanEq -> RangeValue
- Database.Bloodhound.Types: RangeDoubleLt :: LessThan -> RangeValue
- Database.Bloodhound.Types: RangeDoubleLte :: LessThanEq -> RangeValue
- Database.Bloodhound.Types: RangeExecutionFielddata :: RangeExecution
- Database.Bloodhound.Types: RangeExecutionIndex :: RangeExecution
- Database.Bloodhound.Types: RangeFilter :: FieldName -> RangeValue -> RangeExecution -> Cache -> Filter
- Database.Bloodhound.Types: RangeQuery :: FieldName -> RangeValue -> Boost -> RangeQuery
- Database.Bloodhound.Types: RecoveryInitialShards :: InitialShardCount -> UpdatableIndexSetting
- Database.Bloodhound.Types: RefreshInterval :: NominalDiffTime -> UpdatableIndexSetting
- Database.Bloodhound.Types: Regexp :: Text -> Regexp
- Database.Bloodhound.Types: RegexpFilter :: FieldName -> Regexp -> RegexpFlags -> CacheName -> Cache -> CacheKey -> Filter
- Database.Bloodhound.Types: RegexpQuery :: FieldName -> Regexp -> RegexpFlags -> Maybe Boost -> RegexpQuery
- Database.Bloodhound.Types: RemoveAlias :: IndexAlias -> IndexAliasAction
- Database.Bloodhound.Types: ReplicaCount :: Int -> ReplicaCount
- Database.Bloodhound.Types: ReplicasBounded :: Int -> Int -> ReplicaBounds
- Database.Bloodhound.Types: ReplicasLowerBounded :: Int -> ReplicaBounds
- Database.Bloodhound.Types: ReplicasUnbounded :: ReplicaBounds
- Database.Bloodhound.Types: RepoPattern :: Text -> SnapshotRepoPattern
- Database.Bloodhound.Types: RepoTypeMismatch :: SnapshotRepoType -> SnapshotRepoType -> SnapshotRepoConversionError
- Database.Bloodhound.Types: RestoreIndexSettings :: Maybe ReplicaCount -> RestoreIndexSettings
- Database.Bloodhound.Types: RestoreRenamePattern :: Text -> RestoreRenamePattern
- Database.Bloodhound.Types: RoundDownTo :: DateMathUnit -> DateMathModifier
- Database.Bloodhound.Types: RoutingAllocationEnable :: AllocationPolicy -> UpdatableIndexSetting
- Database.Bloodhound.Types: RoutingAllocationExclude :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
- Database.Bloodhound.Types: RoutingAllocationInclude :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
- Database.Bloodhound.Types: RoutingAllocationRequire :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
- Database.Bloodhound.Types: RoutingAllocationShardsPerNode :: ShardCount -> UpdatableIndexSetting
- Database.Bloodhound.Types: RoutingValue :: Text -> RoutingValue
- Database.Bloodhound.Types: ScientificValue :: Scientific -> BucketValue
- Database.Bloodhound.Types: ScoreTypeAvg :: ScoreType
- Database.Bloodhound.Types: ScoreTypeMax :: ScoreType
- Database.Bloodhound.Types: ScoreTypeNone :: ScoreType
- Database.Bloodhound.Types: ScoreTypeSum :: ScoreType
- Database.Bloodhound.Types: Script :: Text -> Script
- Database.Bloodhound.Types: ScriptValueCount :: Script -> ValueCountAggregation
- Database.Bloodhound.Types: ScrollId :: Text -> ScrollId
- Database.Bloodhound.Types: Search :: Maybe Query -> Maybe Filter -> Maybe Sort -> Maybe Aggregations -> Maybe Highlights -> TrackSortScores -> From -> Size -> SearchType -> Maybe [FieldName] -> Maybe Source -> Search
- Database.Bloodhound.Types: SearchAliasRouting :: (NonEmpty RoutingValue) -> SearchAliasRouting
- Database.Bloodhound.Types: SearchHits :: Int -> Score -> [Hit a] -> SearchHits a
- Database.Bloodhound.Types: SearchResult :: Int -> Bool -> ShardResult -> SearchHits a -> Maybe AggregationResults -> Maybe ScrollId -> SearchResult a
- Database.Bloodhound.Types: SearchTypeCount :: SearchType
- Database.Bloodhound.Types: SearchTypeDfsQueryAndFetch :: SearchType
- Database.Bloodhound.Types: SearchTypeDfsQueryThenFetch :: SearchType
- Database.Bloodhound.Types: SearchTypeQueryAndFetch :: SearchType
- Database.Bloodhound.Types: SearchTypeQueryThenFetch :: SearchType
- Database.Bloodhound.Types: SearchTypeScan :: SearchType
- Database.Bloodhound.Types: Second :: Interval
- Database.Bloodhound.Types: Seconds :: TimeInterval
- Database.Bloodhound.Types: Server :: Text -> Server
- Database.Bloodhound.Types: ShardCount :: Int -> ShardCount
- Database.Bloodhound.Types: ShardId :: Int -> ShardId
- Database.Bloodhound.Types: ShardResult :: Int -> Int -> Int -> ShardResult
- Database.Bloodhound.Types: ShouldMatch :: [Term] -> Cache -> BoolMatch
- Database.Bloodhound.Types: SimpleQueryAll :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryAnd :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryEscape :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryFuzzy :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryNear :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryNone :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryOr :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryPhrase :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryPrecedence :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryPrefix :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQuerySlop :: SimpleQueryFlag
- Database.Bloodhound.Types: SimpleQueryStringQuery :: QueryString -> Maybe FieldOrFields -> Maybe BooleanOperator -> Maybe Analyzer -> Maybe (NonEmpty SimpleQueryFlag) -> Maybe LowercaseExpanded -> Maybe Locale -> SimpleQueryStringQuery
- Database.Bloodhound.Types: SimpleQueryWhitespace :: SimpleQueryFlag
- Database.Bloodhound.Types: Size :: Int -> Size
- Database.Bloodhound.Types: SloppyArc :: DistanceType
- Database.Bloodhound.Types: SnapPattern :: Text -> SnapshotPattern
- Database.Bloodhound.Types: SnapshotAborted :: SnapshotState
- Database.Bloodhound.Types: SnapshotCreateSettings :: Bool -> Maybe IndexSelection -> Bool -> Bool -> Bool -> SnapshotCreateSettings
- Database.Bloodhound.Types: SnapshotFailed :: SnapshotState
- Database.Bloodhound.Types: SnapshotInfo :: ShardResult -> [SnapshotShardFailure] -> NominalDiffTime -> UTCTime -> UTCTime -> SnapshotState -> [IndexName] -> SnapshotName -> SnapshotInfo
- Database.Bloodhound.Types: SnapshotInit :: SnapshotState
- Database.Bloodhound.Types: SnapshotList :: (NonEmpty SnapshotPattern) -> SnapshotSelection
- Database.Bloodhound.Types: SnapshotMissing :: SnapshotState
- Database.Bloodhound.Types: SnapshotName :: Text -> SnapshotName
- Database.Bloodhound.Types: SnapshotNodeVerification :: FullNodeId -> NodeName -> SnapshotNodeVerification
- Database.Bloodhound.Types: SnapshotRepoList :: (NonEmpty SnapshotRepoPattern) -> SnapshotRepoSelection
- Database.Bloodhound.Types: SnapshotRepoName :: Text -> SnapshotRepoName
- Database.Bloodhound.Types: SnapshotRepoType :: Text -> SnapshotRepoType
- Database.Bloodhound.Types: SnapshotRepoUpdateSettings :: Bool -> SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: SnapshotRestoreSettings :: Bool -> Maybe IndexSelection -> Bool -> Bool -> Maybe RestoreRenamePattern -> Maybe (NonEmpty RestoreRenameToken) -> Bool -> Bool -> Maybe RestoreIndexSettings -> Maybe (NonEmpty Text) -> SnapshotRestoreSettings
- Database.Bloodhound.Types: SnapshotShardFailure :: IndexName -> Maybe NodeName -> Text -> ShardId -> SnapshotShardFailure
- Database.Bloodhound.Types: SnapshotStarted :: SnapshotState
- Database.Bloodhound.Types: SnapshotSuccess :: SnapshotState
- Database.Bloodhound.Types: SnapshotVerification :: [SnapshotNodeVerification] -> SnapshotVerification
- Database.Bloodhound.Types: SnapshotWaiting :: SnapshotState
- Database.Bloodhound.Types: SomeRegexpFlags :: (NonEmpty RegexpFlag) -> RegexpFlags
- Database.Bloodhound.Types: SortAvg :: SortMode
- Database.Bloodhound.Types: SortMax :: SortMode
- Database.Bloodhound.Types: SortMin :: SortMode
- Database.Bloodhound.Types: SortSum :: SortMode
- Database.Bloodhound.Types: SourceIncludeExclude :: Include -> Exclude -> Source
- Database.Bloodhound.Types: SourcePatterns :: PatternOrPatterns -> Source
- Database.Bloodhound.Types: Status :: Maybe Bool -> Int -> Text -> Version -> Text -> Status
- Database.Bloodhound.Types: StopWord :: Text -> StopWord
- Database.Bloodhound.Types: SubtractTime :: Int -> DateMathUnit -> DateMathModifier
- Database.Bloodhound.Types: TTLDisablePurge :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: TagSchema :: Text -> HighlightTag
- Database.Bloodhound.Types: TemplateName :: Text -> TemplateName
- Database.Bloodhound.Types: TemplatePattern :: Text -> TemplatePattern
- Database.Bloodhound.Types: Term :: Text -> Text -> Term
- Database.Bloodhound.Types: TermFilter :: Term -> Cache -> Filter
- Database.Bloodhound.Types: TermInclusion :: Text -> TermInclusion
- Database.Bloodhound.Types: TermOrder :: Text -> SortOrder -> TermOrder
- Database.Bloodhound.Types: TermPattern :: Text -> Text -> TermInclusion
- Database.Bloodhound.Types: TermQuery :: Term -> (Maybe Boost) -> Query
- Database.Bloodhound.Types: TermsAgg :: TermsAggregation -> Aggregation
- Database.Bloodhound.Types: TermsAggregation :: Either Text Text -> Maybe TermInclusion -> Maybe TermInclusion -> Maybe TermOrder -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe CollectionMode -> Maybe ExecutionHint -> Maybe Aggregations -> TermsAggregation
- Database.Bloodhound.Types: TermsQuery :: Text -> (NonEmpty Text) -> Query
- Database.Bloodhound.Types: TermsResult :: BucketValue -> Int -> Maybe AggregationResults -> TermsResult
- Database.Bloodhound.Types: TextValue :: Text -> BucketValue
- Database.Bloodhound.Types: ThreadPoolBounded :: Int -> ThreadPoolSize
- Database.Bloodhound.Types: ThreadPoolCached :: ThreadPoolType
- Database.Bloodhound.Types: ThreadPoolFixed :: ThreadPoolType
- Database.Bloodhound.Types: ThreadPoolScaling :: ThreadPoolType
- Database.Bloodhound.Types: ThreadPoolUnbounded :: ThreadPoolSize
- Database.Bloodhound.Types: Tiebreaker :: Double -> Tiebreaker
- Database.Bloodhound.Types: TranslogDisableFlush :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: TranslogFSType :: FSType -> UpdatableIndexSetting
- Database.Bloodhound.Types: TranslogFlushThresholdOps :: Int -> UpdatableIndexSetting
- Database.Bloodhound.Types: TranslogFlushThresholdPeriod :: NominalDiffTime -> UpdatableIndexSetting
- Database.Bloodhound.Types: TranslogFlushThresholdSize :: Bytes -> UpdatableIndexSetting
- Database.Bloodhound.Types: TypeName :: Text -> TypeName
- Database.Bloodhound.Types: ValueCountAgg :: ValueCountAggregation -> Aggregation
- Database.Bloodhound.Types: Version :: VersionNumber -> BuildHash -> UTCTime -> Bool -> VersionNumber -> Version
- Database.Bloodhound.Types: VersionNumber :: Version -> VersionNumber
- Database.Bloodhound.Types: WarmerEnabled :: Bool -> UpdatableIndexSetting
- Database.Bloodhound.Types: Week :: Interval
- Database.Bloodhound.Types: Weeks :: TimeInterval
- Database.Bloodhound.Types: Yards :: DistanceUnit
- Database.Bloodhound.Types: Year :: Interval
- Database.Bloodhound.Types: ZeroTermsAll :: ZeroTermsQuery
- Database.Bloodhound.Types: ZeroTermsNone :: ZeroTermsQuery
- Database.Bloodhound.Types: [_id] :: EsResult a -> Text
- Database.Bloodhound.Types: [_index] :: EsResult a -> Text
- Database.Bloodhound.Types: [_source] :: EsResultFound a -> a
- Database.Bloodhound.Types: [_type] :: EsResult a -> Text
- Database.Bloodhound.Types: [_version] :: EsResultFound a -> DocVersion
- Database.Bloodhound.Types: [aggBody] :: Search -> Maybe Aggregations
- Database.Bloodhound.Types: [aggregations] :: SearchResult a -> Maybe AggregationResults
- Database.Bloodhound.Types: [aliasCreateFilter] :: IndexAliasCreate -> Maybe Filter
- Database.Bloodhound.Types: [aliasCreateRouting] :: IndexAliasCreate -> Maybe AliasRouting
- Database.Bloodhound.Types: [bbConstraintcache] :: GeoBoundingBoxConstraint -> Cache
- Database.Bloodhound.Types: [boolQueryBoost] :: BoolQuery -> Maybe Boost
- Database.Bloodhound.Types: [boolQueryDisableCoord] :: BoolQuery -> Maybe DisableCoord
- Database.Bloodhound.Types: [boolQueryMinimumShouldMatch] :: BoolQuery -> Maybe MinimumMatch
- Database.Bloodhound.Types: [boolQueryMustMatch] :: BoolQuery -> [Query]
- Database.Bloodhound.Types: [boolQueryMustNotMatch] :: BoolQuery -> [Query]
- Database.Bloodhound.Types: [boolQueryShouldMatch] :: BoolQuery -> [Query]
- Database.Bloodhound.Types: [bottomRight] :: GeoBoundingBox -> LatLon
- Database.Bloodhound.Types: [boundAddress] :: BoundTransportAddress -> EsAddress
- Database.Bloodhound.Types: [boundaryChars] :: FastVectorHighlight -> Maybe Text
- Database.Bloodhound.Types: [boundaryMaxScan] :: FastVectorHighlight -> Maybe Int
- Database.Bloodhound.Types: [buckets] :: Bucket a -> [a]
- Database.Bloodhound.Types: [buildHash] :: BuildHash -> Text
- Database.Bloodhound.Types: [build_hash] :: Version -> BuildHash
- Database.Bloodhound.Types: [build_snapshot] :: Version -> Bool
- Database.Bloodhound.Types: [build_timestamp] :: Version -> UTCTime
- Database.Bloodhound.Types: [cardinalityField] :: CardinalityAggregation -> FieldName
- Database.Bloodhound.Types: [clusterName] :: ClusterName -> Text
- Database.Bloodhound.Types: [coefficient] :: Distance -> Double
- Database.Bloodhound.Types: [commonAnalyzer] :: CommonTermsQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [commonBoost] :: CommonTermsQuery -> Maybe Boost
- Database.Bloodhound.Types: [commonCutoffFrequency] :: CommonTermsQuery -> CutoffFrequency
- Database.Bloodhound.Types: [commonDisableCoord] :: CommonTermsQuery -> Maybe DisableCoord
- Database.Bloodhound.Types: [commonField] :: CommonTermsQuery -> FieldName
- Database.Bloodhound.Types: [commonHighFreqOperator] :: CommonTermsQuery -> BooleanOperator
- Database.Bloodhound.Types: [commonLowFreqOperator] :: CommonTermsQuery -> BooleanOperator
- Database.Bloodhound.Types: [commonMinimumShouldMatch] :: CommonTermsQuery -> Maybe CommonMinimumMatch
- Database.Bloodhound.Types: [commonQuery] :: CommonTermsQuery -> QueryString
- Database.Bloodhound.Types: [constraintBox] :: GeoBoundingBoxConstraint -> GeoBoundingBox
- Database.Bloodhound.Types: [cpuCacheSize] :: CPUInfo -> Bytes
- Database.Bloodhound.Types: [cpuCoresPerSocket] :: CPUInfo -> Int
- Database.Bloodhound.Types: [cpuMHZ] :: CPUInfo -> Int
- Database.Bloodhound.Types: [cpuModel] :: CPUInfo -> Text
- Database.Bloodhound.Types: [cpuTotalCores] :: CPUInfo -> Int
- Database.Bloodhound.Types: [cpuTotalSockets] :: CPUInfo -> Int
- Database.Bloodhound.Types: [cpuVendor] :: CPUInfo -> Text
- Database.Bloodhound.Types: [dateAggs] :: DateHistogramAggregation -> Maybe Aggregations
- Database.Bloodhound.Types: [dateDocCount] :: DateHistogramResult -> Int
- Database.Bloodhound.Types: [dateField] :: DateHistogramAggregation -> FieldName
- Database.Bloodhound.Types: [dateFormat] :: DateHistogramAggregation -> Maybe Text
- Database.Bloodhound.Types: [dateHistogramAggs] :: DateHistogramResult -> Maybe AggregationResults
- Database.Bloodhound.Types: [dateInterval] :: DateHistogramAggregation -> Interval
- Database.Bloodhound.Types: [dateKeyStr] :: DateHistogramResult -> Maybe Text
- Database.Bloodhound.Types: [dateKey] :: DateHistogramResult -> Int
- Database.Bloodhound.Types: [datePostOffset] :: DateHistogramAggregation -> Maybe Text
- Database.Bloodhound.Types: [datePostZone] :: DateHistogramAggregation -> Maybe Text
- Database.Bloodhound.Types: [datePreOffset] :: DateHistogramAggregation -> Maybe Text
- Database.Bloodhound.Types: [datePreZone] :: DateHistogramAggregation -> Maybe Text
- Database.Bloodhound.Types: [dateRangeAggs] :: DateRangeResult -> Maybe AggregationResults
- Database.Bloodhound.Types: [dateRangeDocCount] :: DateRangeResult -> Int
- Database.Bloodhound.Types: [dateRangeFromAsString] :: DateRangeResult -> Maybe Text
- Database.Bloodhound.Types: [dateRangeFrom] :: DateRangeResult -> Maybe UTCTime
- Database.Bloodhound.Types: [dateRangeKey] :: DateRangeResult -> Text
- Database.Bloodhound.Types: [dateRangeToAsString] :: DateRangeResult -> Maybe Text
- Database.Bloodhound.Types: [dateRangeTo] :: DateRangeResult -> Maybe UTCTime
- Database.Bloodhound.Types: [disMaxBoost] :: DisMaxQuery -> Maybe Boost
- Database.Bloodhound.Types: [disMaxQueries] :: DisMaxQuery -> [Query]
- Database.Bloodhound.Types: [disMaxTiebreaker] :: DisMaxQuery -> Tiebreaker
- Database.Bloodhound.Types: [distanceFrom] :: DistanceRange -> Distance
- Database.Bloodhound.Types: [distanceTo] :: DistanceRange -> Distance
- Database.Bloodhound.Types: [draField] :: DateRangeAggregation -> FieldName
- Database.Bloodhound.Types: [draFormat] :: DateRangeAggregation -> Maybe Text
- Database.Bloodhound.Types: [draRanges] :: DateRangeAggregation -> NonEmpty DateRangeAggRange
- Database.Bloodhound.Types: [encoder] :: CommonHighlight -> Maybe HighlightEncoder
- Database.Bloodhound.Types: [errorMessage] :: EsError -> Text
- Database.Bloodhound.Types: [errorStatus] :: EsError -> Int
- Database.Bloodhound.Types: [esAddress] :: EsAddress -> Text
- Database.Bloodhound.Types: [esPassword] :: EsPassword -> Text
- Database.Bloodhound.Types: [esProtoExBody] :: EsProtocolException -> ByteString
- Database.Bloodhound.Types: [esUsername] :: EsUsername -> Text
- Database.Bloodhound.Types: [faAggs] :: FilterAggregation -> Maybe Aggregations
- Database.Bloodhound.Types: [faFilter] :: FilterAggregation -> Filter
- Database.Bloodhound.Types: [fieldDefinition] :: MappingField -> FieldDefinition
- Database.Bloodhound.Types: [fieldType] :: FieldDefinition -> FieldType
- Database.Bloodhound.Types: [fields] :: Search -> Maybe [FieldName]
- Database.Bloodhound.Types: [filterBody] :: Search -> Maybe Filter
- Database.Bloodhound.Types: [filteredFilter] :: FilteredQuery -> Filter
- Database.Bloodhound.Types: [filteredQuery] :: FilteredQuery -> Query
- Database.Bloodhound.Types: [flushAfterOptimize] :: IndexOptimizationSettings -> Bool
- Database.Bloodhound.Types: [forceSource] :: CommonHighlight -> Maybe Bool
- Database.Bloodhound.Types: [foundResult] :: EsResult a -> Maybe (EsResultFound a)
- Database.Bloodhound.Types: [fragmentOffset] :: FastVectorHighlight -> Maybe Int
- Database.Bloodhound.Types: [fragmentSize] :: NonPostings -> Maybe Int
- Database.Bloodhound.Types: [from] :: Search -> From
- Database.Bloodhound.Types: [fsrChunkSize] :: FsSnapshotRepo -> Maybe Bytes
- Database.Bloodhound.Types: [fsrCompressMetadata] :: FsSnapshotRepo -> Bool
- Database.Bloodhound.Types: [fsrLocation] :: FsSnapshotRepo -> FilePath
- Database.Bloodhound.Types: [fsrMaxRestoreBytesPerSec] :: FsSnapshotRepo -> Maybe Bytes
- Database.Bloodhound.Types: [fsrMaxSnapshotBytesPerSec] :: FsSnapshotRepo -> Maybe Bytes
- Database.Bloodhound.Types: [fsrName] :: FsSnapshotRepo -> SnapshotRepoName
- Database.Bloodhound.Types: [fullNodeId] :: FullNodeId -> Text
- Database.Bloodhound.Types: [fuzzyLikeAnalyzer] :: FuzzyLikeThisQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [fuzzyLikeBoost] :: FuzzyLikeThisQuery -> Boost
- Database.Bloodhound.Types: [fuzzyLikeFieldAnalyzer] :: FuzzyLikeFieldQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [fuzzyLikeFieldBoost] :: FuzzyLikeFieldQuery -> Boost
- Database.Bloodhound.Types: [fuzzyLikeFieldFuzziness] :: FuzzyLikeFieldQuery -> Fuzziness
- Database.Bloodhound.Types: [fuzzyLikeFieldIgnoreTermFrequency] :: FuzzyLikeFieldQuery -> IgnoreTermFrequency
- Database.Bloodhound.Types: [fuzzyLikeFieldMaxQueryTerms] :: FuzzyLikeFieldQuery -> MaxQueryTerms
- Database.Bloodhound.Types: [fuzzyLikeFieldPrefixLength] :: FuzzyLikeFieldQuery -> PrefixLength
- Database.Bloodhound.Types: [fuzzyLikeFieldText] :: FuzzyLikeFieldQuery -> Text
- Database.Bloodhound.Types: [fuzzyLikeField] :: FuzzyLikeFieldQuery -> FieldName
- Database.Bloodhound.Types: [fuzzyLikeFields] :: FuzzyLikeThisQuery -> [FieldName]
- Database.Bloodhound.Types: [fuzzyLikeFuzziness] :: FuzzyLikeThisQuery -> Fuzziness
- Database.Bloodhound.Types: [fuzzyLikeIgnoreTermFrequency] :: FuzzyLikeThisQuery -> IgnoreTermFrequency
- Database.Bloodhound.Types: [fuzzyLikeMaxQueryTerms] :: FuzzyLikeThisQuery -> MaxQueryTerms
- Database.Bloodhound.Types: [fuzzyLikePrefixLength] :: FuzzyLikeThisQuery -> PrefixLength
- Database.Bloodhound.Types: [fuzzyLikeText] :: FuzzyLikeThisQuery -> Text
- Database.Bloodhound.Types: [fuzzyQueryBoost] :: FuzzyQuery -> Maybe Boost
- Database.Bloodhound.Types: [fuzzyQueryField] :: FuzzyQuery -> FieldName
- Database.Bloodhound.Types: [fuzzyQueryFuzziness] :: FuzzyQuery -> Fuzziness
- Database.Bloodhound.Types: [fuzzyQueryMaxExpansions] :: FuzzyQuery -> MaxExpansions
- Database.Bloodhound.Types: [fuzzyQueryPrefixLength] :: FuzzyQuery -> PrefixLength
- Database.Bloodhound.Types: [fuzzyQueryValue] :: FuzzyQuery -> Text
- Database.Bloodhound.Types: [fvCommon] :: FastVectorHighlight -> Maybe CommonHighlight
- Database.Bloodhound.Types: [fvNonPostSettings] :: FastVectorHighlight -> Maybe NonPostings
- Database.Bloodhound.Types: [gSnapshotRepoName] :: GenericSnapshotRepo -> SnapshotRepoName
- Database.Bloodhound.Types: [gSnapshotRepoSettingsObject] :: GenericSnapshotRepoSettings -> Object
- Database.Bloodhound.Types: [gSnapshotRepoSettings] :: GenericSnapshotRepo -> GenericSnapshotRepoSettings
- Database.Bloodhound.Types: [gSnapshotRepoType] :: GenericSnapshotRepo -> SnapshotRepoType
- Database.Bloodhound.Types: [geoBBField] :: GeoBoundingBoxConstraint -> FieldName
- Database.Bloodhound.Types: [geoField] :: GeoPoint -> FieldName
- Database.Bloodhound.Types: [geoType] :: GeoBoundingBoxConstraint -> GeoFilterType
- Database.Bloodhound.Types: [globalsettings] :: Highlights -> Maybe HighlightSettings
- Database.Bloodhound.Types: [hasChildQueryScoreType] :: HasChildQuery -> Maybe ScoreType
- Database.Bloodhound.Types: [hasChildQueryType] :: HasChildQuery -> TypeName
- Database.Bloodhound.Types: [hasChildQuery] :: HasChildQuery -> Query
- Database.Bloodhound.Types: [hasParentQueryScoreType] :: HasParentQuery -> Maybe ScoreType
- Database.Bloodhound.Types: [hasParentQueryType] :: HasParentQuery -> TypeName
- Database.Bloodhound.Types: [hasParentQuery] :: HasParentQuery -> Query
- Database.Bloodhound.Types: [highFreq] :: MinimumMatchHighLow -> MinimumMatch
- Database.Bloodhound.Types: [highlightFields] :: Highlights -> [FieldHighlight]
- Database.Bloodhound.Types: [highlightQuery] :: CommonHighlight -> Maybe Query
- Database.Bloodhound.Types: [highlight] :: Search -> Maybe Highlights
- Database.Bloodhound.Types: [hitDocId] :: Hit a -> DocId
- Database.Bloodhound.Types: [hitHighlight] :: Hit a -> Maybe HitHighlight
- Database.Bloodhound.Types: [hitIndex] :: Hit a -> IndexName
- Database.Bloodhound.Types: [hitScore] :: Hit a -> Score
- Database.Bloodhound.Types: [hitSource] :: Hit a -> Maybe a
- Database.Bloodhound.Types: [hitType] :: Hit a -> MappingName
- Database.Bloodhound.Types: [hitsTotal] :: SearchHits a -> Int
- Database.Bloodhound.Types: [hits] :: SearchHits a -> [Hit a]
- Database.Bloodhound.Types: [idsParent] :: IndexDocumentSettings -> Maybe DocumentParent
- Database.Bloodhound.Types: [idsVersionControl] :: IndexDocumentSettings -> VersionControl
- Database.Bloodhound.Types: [ignoreUnmapped] :: DefaultSort -> Bool
- Database.Bloodhound.Types: [indexAliasName] :: IndexAliasName -> IndexName
- Database.Bloodhound.Types: [indexAliasSummaryAlias] :: IndexAliasSummary -> IndexAlias
- Database.Bloodhound.Types: [indexAliasSummaryCreate] :: IndexAliasSummary -> IndexAliasCreate
- Database.Bloodhound.Types: [indexAlias] :: IndexAlias -> IndexAliasName
- Database.Bloodhound.Types: [indexAliasesSummary] :: IndexAliasesSummary -> [IndexAliasSummary]
- Database.Bloodhound.Types: [indexReplicas] :: IndexSettings -> ReplicaCount
- Database.Bloodhound.Types: [indexShards] :: IndexSettings -> ShardCount
- Database.Bloodhound.Types: [indicesQueryIndices] :: IndicesQuery -> [IndexName]
- Database.Bloodhound.Types: [indicesQueryNoMatch] :: IndicesQuery -> Maybe Query
- Database.Bloodhound.Types: [indicesQuery] :: IndicesQuery -> Query
- Database.Bloodhound.Types: [jvmBufferPoolStatsCount] :: JVMBufferPoolStats -> Int
- Database.Bloodhound.Types: [jvmBufferPoolStatsTotalCapacity] :: JVMBufferPoolStats -> Bytes
- Database.Bloodhound.Types: [jvmBufferPoolStatsUsed] :: JVMBufferPoolStats -> Bytes
- Database.Bloodhound.Types: [jvmGCCollector] :: JVMGCCollector -> Text
- Database.Bloodhound.Types: [jvmGCStatsCollectionCount] :: JVMGCStats -> Int
- Database.Bloodhound.Types: [jvmGCStatsCollectionTime] :: JVMGCStats -> NominalDiffTime
- Database.Bloodhound.Types: [jvmMemoryInfoDirectMax] :: JVMMemoryInfo -> Bytes
- Database.Bloodhound.Types: [jvmMemoryInfoHeapInit] :: JVMMemoryInfo -> Bytes
- Database.Bloodhound.Types: [jvmMemoryInfoHeapMax] :: JVMMemoryInfo -> Bytes
- Database.Bloodhound.Types: [jvmMemoryInfoNonHeapInit] :: JVMMemoryInfo -> Bytes
- Database.Bloodhound.Types: [jvmMemoryInfoNonHeapMax] :: JVMMemoryInfo -> Bytes
- Database.Bloodhound.Types: [jvmMemoryPool] :: JVMMemoryPool -> Text
- Database.Bloodhound.Types: [jvmPoolStatsMax] :: JVMPoolStats -> Bytes
- Database.Bloodhound.Types: [jvmPoolStatsPeakMax] :: JVMPoolStats -> Bytes
- Database.Bloodhound.Types: [jvmPoolStatsPeakUsed] :: JVMPoolStats -> Bytes
- Database.Bloodhound.Types: [jvmPoolStatsUsed] :: JVMPoolStats -> Bytes
- Database.Bloodhound.Types: [latLon] :: GeoPoint -> LatLon
- Database.Bloodhound.Types: [lat] :: LatLon -> Double
- Database.Bloodhound.Types: [loadAvg15Min] :: LoadAvgs -> Double
- Database.Bloodhound.Types: [loadAvg1Min] :: LoadAvgs -> Double
- Database.Bloodhound.Types: [loadAvg5Min] :: LoadAvgs -> Double
- Database.Bloodhound.Types: [lon] :: LatLon -> Double
- Database.Bloodhound.Types: [lowFreq] :: MinimumMatchHighLow -> MinimumMatch
- Database.Bloodhound.Types: [lucene_version] :: Version -> VersionNumber
- Database.Bloodhound.Types: [maField] :: MissingAggregation -> Text
- Database.Bloodhound.Types: [macAddress] :: MacAddress -> Text
- Database.Bloodhound.Types: [mappingFieldName] :: MappingField -> FieldName
- Database.Bloodhound.Types: [mappingFields] :: Mapping -> [MappingField]
- Database.Bloodhound.Types: [matchQueryAnalyzer] :: MatchQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [matchQueryBoost] :: MatchQuery -> Maybe Boost
- Database.Bloodhound.Types: [matchQueryCutoffFrequency] :: MatchQuery -> Maybe CutoffFrequency
- Database.Bloodhound.Types: [matchQueryField] :: MatchQuery -> FieldName
- Database.Bloodhound.Types: [matchQueryLenient] :: MatchQuery -> Maybe Lenient
- Database.Bloodhound.Types: [matchQueryMatchType] :: MatchQuery -> Maybe MatchQueryType
- Database.Bloodhound.Types: [matchQueryMaxExpansions] :: MatchQuery -> Maybe MaxExpansions
- Database.Bloodhound.Types: [matchQueryOperator] :: MatchQuery -> BooleanOperator
- Database.Bloodhound.Types: [matchQueryQueryString] :: MatchQuery -> QueryString
- Database.Bloodhound.Types: [matchQueryZeroTerms] :: MatchQuery -> ZeroTermsQuery
- Database.Bloodhound.Types: [matchedFields] :: FastVectorHighlight -> [Text]
- Database.Bloodhound.Types: [maxNumSegments] :: IndexOptimizationSettings -> Maybe Int
- Database.Bloodhound.Types: [maxScore] :: SearchHits a -> Score
- Database.Bloodhound.Types: [missingDocCount] :: MissingResult -> Int
- Database.Bloodhound.Types: [missingSort] :: DefaultSort -> Maybe Missing
- Database.Bloodhound.Types: [moreLikeThisAnalyzer] :: MoreLikeThisQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [moreLikeThisBoostTerms] :: MoreLikeThisQuery -> Maybe BoostTerms
- Database.Bloodhound.Types: [moreLikeThisBoost] :: MoreLikeThisQuery -> Maybe Boost
- Database.Bloodhound.Types: [moreLikeThisFieldAnalyzer] :: MoreLikeThisFieldQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [moreLikeThisFieldBoostTerms] :: MoreLikeThisFieldQuery -> Maybe BoostTerms
- Database.Bloodhound.Types: [moreLikeThisFieldBoost] :: MoreLikeThisFieldQuery -> Maybe Boost
- Database.Bloodhound.Types: [moreLikeThisFieldFields] :: MoreLikeThisFieldQuery -> FieldName
- Database.Bloodhound.Types: [moreLikeThisFieldMaxDocFrequency] :: MoreLikeThisFieldQuery -> Maybe MaxDocFrequency
- Database.Bloodhound.Types: [moreLikeThisFieldMaxQueryTerms] :: MoreLikeThisFieldQuery -> Maybe MaxQueryTerms
- Database.Bloodhound.Types: [moreLikeThisFieldMaxWordLength] :: MoreLikeThisFieldQuery -> Maybe MaxWordLength
- Database.Bloodhound.Types: [moreLikeThisFieldMinDocFrequency] :: MoreLikeThisFieldQuery -> Maybe MinDocFrequency
- Database.Bloodhound.Types: [moreLikeThisFieldMinWordLength] :: MoreLikeThisFieldQuery -> Maybe MinWordLength
- Database.Bloodhound.Types: [moreLikeThisFieldMinimumTermFreq] :: MoreLikeThisFieldQuery -> Maybe MinimumTermFrequency
- Database.Bloodhound.Types: [moreLikeThisFieldPercentMatch] :: MoreLikeThisFieldQuery -> Maybe PercentMatch
- Database.Bloodhound.Types: [moreLikeThisFieldStopWords] :: MoreLikeThisFieldQuery -> Maybe (NonEmpty StopWord)
- Database.Bloodhound.Types: [moreLikeThisFieldText] :: MoreLikeThisFieldQuery -> Text
- Database.Bloodhound.Types: [moreLikeThisFields] :: MoreLikeThisQuery -> Maybe (NonEmpty FieldName)
- Database.Bloodhound.Types: [moreLikeThisMaxDocFrequency] :: MoreLikeThisQuery -> Maybe MaxDocFrequency
- Database.Bloodhound.Types: [moreLikeThisMaxQueryTerms] :: MoreLikeThisQuery -> Maybe MaxQueryTerms
- Database.Bloodhound.Types: [moreLikeThisMaxWordLength] :: MoreLikeThisQuery -> Maybe MaxWordLength
- Database.Bloodhound.Types: [moreLikeThisMinDocFrequency] :: MoreLikeThisQuery -> Maybe MinDocFrequency
- Database.Bloodhound.Types: [moreLikeThisMinWordLength] :: MoreLikeThisQuery -> Maybe MinWordLength
- Database.Bloodhound.Types: [moreLikeThisMinimumTermFreq] :: MoreLikeThisQuery -> Maybe MinimumTermFrequency
- Database.Bloodhound.Types: [moreLikeThisPercentMatch] :: MoreLikeThisQuery -> Maybe PercentMatch
- Database.Bloodhound.Types: [moreLikeThisStopWords] :: MoreLikeThisQuery -> Maybe (NonEmpty StopWord)
- Database.Bloodhound.Types: [moreLikeThisText] :: MoreLikeThisQuery -> Text
- Database.Bloodhound.Types: [multiMatchQueryAnalyzer] :: MultiMatchQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [multiMatchQueryCutoffFrequency] :: MultiMatchQuery -> Maybe CutoffFrequency
- Database.Bloodhound.Types: [multiMatchQueryFields] :: MultiMatchQuery -> [FieldName]
- Database.Bloodhound.Types: [multiMatchQueryLenient] :: MultiMatchQuery -> Maybe Lenient
- Database.Bloodhound.Types: [multiMatchQueryMaxExpansions] :: MultiMatchQuery -> Maybe MaxExpansions
- Database.Bloodhound.Types: [multiMatchQueryOperator] :: MultiMatchQuery -> BooleanOperator
- Database.Bloodhound.Types: [multiMatchQueryString] :: MultiMatchQuery -> QueryString
- Database.Bloodhound.Types: [multiMatchQueryTiebreaker] :: MultiMatchQuery -> Maybe Tiebreaker
- Database.Bloodhound.Types: [multiMatchQueryType] :: MultiMatchQuery -> Maybe MultiMatchQueryType
- Database.Bloodhound.Types: [multiMatchQueryZeroTerms] :: MultiMatchQuery -> ZeroTermsQuery
- Database.Bloodhound.Types: [name] :: Status -> Text
- Database.Bloodhound.Types: [negativeBoost] :: BoostingQuery -> Boost
- Database.Bloodhound.Types: [negativeQuery] :: BoostingQuery -> Query
- Database.Bloodhound.Types: [nestedFilter] :: DefaultSort -> Maybe Filter
- Database.Bloodhound.Types: [nestedQueryPath] :: NestedQuery -> QueryPath
- Database.Bloodhound.Types: [nestedQueryScoreType] :: NestedQuery -> ScoreType
- Database.Bloodhound.Types: [nestedQuery] :: NestedQuery -> Query
- Database.Bloodhound.Types: [networkInterfaceName] :: NetworkInterfaceName -> Text
- Database.Bloodhound.Types: [noMatchSize] :: CommonHighlight -> Maybe Int
- Database.Bloodhound.Types: [nodeAttrFilterName] :: NodeAttrFilter -> NodeAttrName
- Database.Bloodhound.Types: [nodeAttrFilterValues] :: NodeAttrFilter -> NonEmpty Text
- Database.Bloodhound.Types: [nodeBreakersEstSize] :: NodeBreakerStats -> Bytes
- Database.Bloodhound.Types: [nodeBreakersLimitSize] :: NodeBreakerStats -> Bytes
- Database.Bloodhound.Types: [nodeBreakersOverhead] :: NodeBreakerStats -> Double
- Database.Bloodhound.Types: [nodeBreakersTripped] :: NodeBreakerStats -> Int
- Database.Bloodhound.Types: [nodeDataPathAvailable] :: NodeDataPathStats -> Bytes
- Database.Bloodhound.Types: [nodeDataPathDevice] :: NodeDataPathStats -> Text
- Database.Bloodhound.Types: [nodeDataPathDiskQueue] :: NodeDataPathStats -> Maybe Double
- Database.Bloodhound.Types: [nodeDataPathDiskServiceTime] :: NodeDataPathStats -> Maybe Double
- Database.Bloodhound.Types: [nodeDataPathFree] :: NodeDataPathStats -> Bytes
- Database.Bloodhound.Types: [nodeDataPathIOOps] :: NodeDataPathStats -> Maybe Int
- Database.Bloodhound.Types: [nodeDataPathIOSize] :: NodeDataPathStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeDataPathMount] :: NodeDataPathStats -> Text
- Database.Bloodhound.Types: [nodeDataPathPath] :: NodeDataPathStats -> Text
- Database.Bloodhound.Types: [nodeDataPathReadSize] :: NodeDataPathStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeDataPathReads] :: NodeDataPathStats -> Maybe Int
- Database.Bloodhound.Types: [nodeDataPathTotal] :: NodeDataPathStats -> Bytes
- Database.Bloodhound.Types: [nodeDataPathType] :: NodeDataPathStats -> Maybe Text
- Database.Bloodhound.Types: [nodeDataPathWriteSize] :: NodeDataPathStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeDataPathWrites] :: NodeDataPathStats -> Maybe Int
- Database.Bloodhound.Types: [nodeFSDataPaths] :: NodeFSStats -> [NodeDataPathStats]
- Database.Bloodhound.Types: [nodeFSTimestamp] :: NodeFSStats -> UTCTime
- Database.Bloodhound.Types: [nodeFSTotalAvailable] :: NodeFSTotalStats -> Bytes
- Database.Bloodhound.Types: [nodeFSTotalDiskQueue] :: NodeFSTotalStats -> Maybe Double
- Database.Bloodhound.Types: [nodeFSTotalDiskServiceTime] :: NodeFSTotalStats -> Maybe Double
- Database.Bloodhound.Types: [nodeFSTotalFree] :: NodeFSTotalStats -> Bytes
- Database.Bloodhound.Types: [nodeFSTotalIOOps] :: NodeFSTotalStats -> Maybe Int
- Database.Bloodhound.Types: [nodeFSTotalIOSize] :: NodeFSTotalStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeFSTotalReadSize] :: NodeFSTotalStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeFSTotalReads] :: NodeFSTotalStats -> Maybe Int
- Database.Bloodhound.Types: [nodeFSTotalTotal] :: NodeFSTotalStats -> Bytes
- Database.Bloodhound.Types: [nodeFSTotalWriteSize] :: NodeFSTotalStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeFSTotalWrites] :: NodeFSTotalStats -> Maybe Int
- Database.Bloodhound.Types: [nodeFSTotal] :: NodeFSStats -> NodeFSTotalStats
- Database.Bloodhound.Types: [nodeHTTPCurrentOpen] :: NodeHTTPStats -> Int
- Database.Bloodhound.Types: [nodeHTTPMaxContentLength] :: NodeHTTPInfo -> Bytes
- Database.Bloodhound.Types: [nodeHTTPTotalOpened] :: NodeHTTPStats -> Int
- Database.Bloodhound.Types: [nodeHTTPTransportAddress] :: NodeHTTPInfo -> BoundTransportAddress
- Database.Bloodhound.Types: [nodeIndicesStatsCompletionSize] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsDocsCount] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsDocsDeleted] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsFieldDataEvictions] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsFieldDataMemory] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsFilterCacheEvictions] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsFilterCacheMemory] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsFlushTotalTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsFlushTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsGetCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsGetExistsTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsGetExistsTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsGetMissingTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsGetMissingTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsGetTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsGetTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsIDCacheMemory] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingIndexCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingIndexTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingIsThrottled] :: NodeIndicesStats -> Maybe Bool
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingNoopUpdateTotal] :: NodeIndicesStats -> Maybe Int
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingThrottleTime] :: NodeIndicesStats -> Maybe NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsIndexingTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsMergesCurrentDocs] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsMergesCurrentSize] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsMergesCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsMergesTotalDocs] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsMergesTotalSize] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsMergesTotalTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsMergesTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsPercolateCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsPercolateMemory] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsPercolateQueries] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsPercolateTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsPercolateTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsQueryCacheEvictions] :: NodeIndicesStats -> Maybe Int
- Database.Bloodhound.Types: [nodeIndicesStatsQueryCacheHits] :: NodeIndicesStats -> Maybe Int
- Database.Bloodhound.Types: [nodeIndicesStatsQueryCacheMisses] :: NodeIndicesStats -> Maybe Int
- Database.Bloodhound.Types: [nodeIndicesStatsQueryCacheSize] :: NodeIndicesStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsRecoveryCurrentAsSource] :: NodeIndicesStats -> Maybe Int
- Database.Bloodhound.Types: [nodeIndicesStatsRecoveryCurrentAsTarget] :: NodeIndicesStats -> Maybe Int
- Database.Bloodhound.Types: [nodeIndicesStatsRecoveryThrottleTime] :: NodeIndicesStats -> Maybe NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsRefreshTotalTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsRefreshTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsSearchFetchCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsSearchFetchTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsSearchFetchTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsSearchOpenContexts] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsSearchQueryCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsSearchQueryTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsSearchQueryTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsSegCount] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsSegFixedBitSetMemory] :: NodeIndicesStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsSegIndexWriterMaxMemory] :: NodeIndicesStats -> Maybe Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsSegIndexWriterMemory] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsSegMemory] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsSegVersionMapMemory] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsStoreSize] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsStoreThrottleTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsSuggestCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsSuggestTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsSuggestTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsTranslogOps] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsTranslogSize] :: NodeIndicesStats -> Bytes
- Database.Bloodhound.Types: [nodeIndicesStatsWarmerCurrent] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeIndicesStatsWarmerTotalTime] :: NodeIndicesStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeIndicesStatsWarmerTotal] :: NodeIndicesStats -> Int
- Database.Bloodhound.Types: [nodeInfoBuild] :: NodeInfo -> BuildHash
- Database.Bloodhound.Types: [nodeInfoESVersion] :: NodeInfo -> VersionNumber
- Database.Bloodhound.Types: [nodeInfoFullId] :: NodeInfo -> FullNodeId
- Database.Bloodhound.Types: [nodeInfoHTTPAddress] :: NodeInfo -> EsAddress
- Database.Bloodhound.Types: [nodeInfoHTTP] :: NodeInfo -> NodeHTTPInfo
- Database.Bloodhound.Types: [nodeInfoHost] :: NodeInfo -> Server
- Database.Bloodhound.Types: [nodeInfoIP] :: NodeInfo -> Server
- Database.Bloodhound.Types: [nodeInfoJVM] :: NodeInfo -> NodeJVMInfo
- Database.Bloodhound.Types: [nodeInfoName] :: NodeInfo -> NodeName
- Database.Bloodhound.Types: [nodeInfoNetwork] :: NodeInfo -> NodeNetworkInfo
- Database.Bloodhound.Types: [nodeInfoOS] :: NodeInfo -> NodeOSInfo
- Database.Bloodhound.Types: [nodeInfoPlugins] :: NodeInfo -> [NodePluginInfo]
- Database.Bloodhound.Types: [nodeInfoProcess] :: NodeInfo -> NodeProcessInfo
- Database.Bloodhound.Types: [nodeInfoSettings] :: NodeInfo -> Object
- Database.Bloodhound.Types: [nodeInfoThreadPool] :: NodeInfo -> NodeThreadPoolsInfo
- Database.Bloodhound.Types: [nodeInfoTransportAddress] :: NodeInfo -> EsAddress
- Database.Bloodhound.Types: [nodeInfoTransport] :: NodeInfo -> NodeTransportInfo
- Database.Bloodhound.Types: [nodeJVMInfoMemoryInfo] :: NodeJVMInfo -> JVMMemoryInfo
- Database.Bloodhound.Types: [nodeJVMInfoMemoryPoolsGCCollectors] :: NodeJVMInfo -> [JVMGCCollector]
- Database.Bloodhound.Types: [nodeJVMInfoMemoryPools] :: NodeJVMInfo -> [JVMMemoryPool]
- Database.Bloodhound.Types: [nodeJVMInfoStartTime] :: NodeJVMInfo -> UTCTime
- Database.Bloodhound.Types: [nodeJVMInfoVMVendor] :: NodeJVMInfo -> Text
- Database.Bloodhound.Types: [nodeJVMPID] :: NodeJVMInfo -> PID
- Database.Bloodhound.Types: [nodeJVMStatsDirectBufferPool] :: NodeJVMStats -> JVMBufferPoolStats
- Database.Bloodhound.Types: [nodeJVMStatsGCOldCollector] :: NodeJVMStats -> JVMGCStats
- Database.Bloodhound.Types: [nodeJVMStatsGCYoungCollector] :: NodeJVMStats -> JVMGCStats
- Database.Bloodhound.Types: [nodeJVMStatsHeapCommitted] :: NodeJVMStats -> Bytes
- Database.Bloodhound.Types: [nodeJVMStatsHeapMax] :: NodeJVMStats -> Bytes
- Database.Bloodhound.Types: [nodeJVMStatsHeapUsedPercent] :: NodeJVMStats -> Int
- Database.Bloodhound.Types: [nodeJVMStatsHeapUsed] :: NodeJVMStats -> Bytes
- Database.Bloodhound.Types: [nodeJVMStatsMappedBufferPool] :: NodeJVMStats -> JVMBufferPoolStats
- Database.Bloodhound.Types: [nodeJVMStatsNonHeapCommitted] :: NodeJVMStats -> Bytes
- Database.Bloodhound.Types: [nodeJVMStatsNonHeapUsed] :: NodeJVMStats -> Bytes
- Database.Bloodhound.Types: [nodeJVMStatsOldPool] :: NodeJVMStats -> JVMPoolStats
- Database.Bloodhound.Types: [nodeJVMStatsPeakThreadsCount] :: NodeJVMStats -> Int
- Database.Bloodhound.Types: [nodeJVMStatsSurvivorPool] :: NodeJVMStats -> JVMPoolStats
- Database.Bloodhound.Types: [nodeJVMStatsThreadsCount] :: NodeJVMStats -> Int
- Database.Bloodhound.Types: [nodeJVMStatsTimestamp] :: NodeJVMStats -> UTCTime
- Database.Bloodhound.Types: [nodeJVMStatsUptime] :: NodeJVMStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeJVMStatsYoungPool] :: NodeJVMStats -> JVMPoolStats
- Database.Bloodhound.Types: [nodeJVMVMName] :: NodeJVMInfo -> Text
- Database.Bloodhound.Types: [nodeJVMVMVersion] :: NodeJVMInfo -> VersionNumber
- Database.Bloodhound.Types: [nodeJVMVersion] :: NodeJVMInfo -> VersionNumber
- Database.Bloodhound.Types: [nodeName] :: NodeName -> Text
- Database.Bloodhound.Types: [nodeNetIfaceAddress] :: NodeNetworkInterface -> Server
- Database.Bloodhound.Types: [nodeNetIfaceMacAddress] :: NodeNetworkInterface -> MacAddress
- Database.Bloodhound.Types: [nodeNetIfaceName] :: NodeNetworkInterface -> NetworkInterfaceName
- Database.Bloodhound.Types: [nodeNetTCPActiveOpens] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPAttemptFails] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPCurrEstab] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPEstabResets] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPInErrs] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPInSegs] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPOutRSTs] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPOutSegs] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPPassiveOpens] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetTCPRetransSegs] :: NodeNetworkStats -> Int
- Database.Bloodhound.Types: [nodeNetworkPrimaryInterface] :: NodeNetworkInfo -> NodeNetworkInterface
- Database.Bloodhound.Types: [nodeNetworkRefreshInterval] :: NodeNetworkInfo -> NominalDiffTime
- Database.Bloodhound.Types: [nodeOSAvailableProcessors] :: NodeOSInfo -> Int
- Database.Bloodhound.Types: [nodeOSCPUIdle] :: NodeOSStats -> Int
- Database.Bloodhound.Types: [nodeOSCPUInfo] :: NodeOSInfo -> CPUInfo
- Database.Bloodhound.Types: [nodeOSCPUStolen] :: NodeOSStats -> Int
- Database.Bloodhound.Types: [nodeOSCPUSys] :: NodeOSStats -> Int
- Database.Bloodhound.Types: [nodeOSCPUUsage] :: NodeOSStats -> Int
- Database.Bloodhound.Types: [nodeOSCPUUser] :: NodeOSStats -> Int
- Database.Bloodhound.Types: [nodeOSLoad] :: NodeOSStats -> Maybe LoadAvgs
- Database.Bloodhound.Types: [nodeOSMemActualFree] :: NodeOSStats -> Bytes
- Database.Bloodhound.Types: [nodeOSMemActualUsed] :: NodeOSStats -> Bytes
- Database.Bloodhound.Types: [nodeOSMemFreePercent] :: NodeOSStats -> Int
- Database.Bloodhound.Types: [nodeOSMemFree] :: NodeOSStats -> Bytes
- Database.Bloodhound.Types: [nodeOSMemUsedPercent] :: NodeOSStats -> Int
- Database.Bloodhound.Types: [nodeOSMemUsed] :: NodeOSStats -> Bytes
- Database.Bloodhound.Types: [nodeOSMem] :: NodeOSInfo -> Bytes
- Database.Bloodhound.Types: [nodeOSRefreshInterval] :: NodeOSInfo -> NominalDiffTime
- Database.Bloodhound.Types: [nodeOSSwapFree] :: NodeOSStats -> Bytes
- Database.Bloodhound.Types: [nodeOSSwapUsed] :: NodeOSStats -> Bytes
- Database.Bloodhound.Types: [nodeOSSwap] :: NodeOSInfo -> Bytes
- Database.Bloodhound.Types: [nodeOSTimestamp] :: NodeOSStats -> UTCTime
- Database.Bloodhound.Types: [nodeOSUptime] :: NodeOSStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodePluginDescription] :: NodePluginInfo -> Text
- Database.Bloodhound.Types: [nodePluginJVM] :: NodePluginInfo -> Bool
- Database.Bloodhound.Types: [nodePluginName] :: NodePluginInfo -> PluginName
- Database.Bloodhound.Types: [nodePluginSite] :: NodePluginInfo -> Bool
- Database.Bloodhound.Types: [nodePluginVersion] :: NodePluginInfo -> MaybeNA VersionNumber
- Database.Bloodhound.Types: [nodeProcessCPUPercent] :: NodeProcessStats -> Int
- Database.Bloodhound.Types: [nodeProcessCPUSys] :: NodeProcessStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeProcessCPUTotal] :: NodeProcessStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeProcessCPUUser] :: NodeProcessStats -> NominalDiffTime
- Database.Bloodhound.Types: [nodeProcessId] :: NodeProcessInfo -> PID
- Database.Bloodhound.Types: [nodeProcessMLockAll] :: NodeProcessInfo -> Bool
- Database.Bloodhound.Types: [nodeProcessMaxFileDescriptors] :: NodeProcessInfo -> Int
- Database.Bloodhound.Types: [nodeProcessMemResident] :: NodeProcessStats -> Bytes
- Database.Bloodhound.Types: [nodeProcessMemShare] :: NodeProcessStats -> Bytes
- Database.Bloodhound.Types: [nodeProcessMemTotalVirtual] :: NodeProcessStats -> Bytes
- Database.Bloodhound.Types: [nodeProcessOpenFDs] :: NodeProcessStats -> Int
- Database.Bloodhound.Types: [nodeProcessRefreshInterval] :: NodeProcessInfo -> NominalDiffTime
- Database.Bloodhound.Types: [nodeProcessTimestamp] :: NodeProcessStats -> UTCTime
- Database.Bloodhound.Types: [nodeStatsBreakersStats] :: NodeStats -> Maybe NodeBreakersStats
- Database.Bloodhound.Types: [nodeStatsFS] :: NodeStats -> NodeFSStats
- Database.Bloodhound.Types: [nodeStatsFieldDataBreaker] :: NodeBreakersStats -> NodeBreakerStats
- Database.Bloodhound.Types: [nodeStatsFullId] :: NodeStats -> FullNodeId
- Database.Bloodhound.Types: [nodeStatsHTTP] :: NodeStats -> NodeHTTPStats
- Database.Bloodhound.Types: [nodeStatsIndices] :: NodeStats -> NodeIndicesStats
- Database.Bloodhound.Types: [nodeStatsJVM] :: NodeStats -> NodeJVMStats
- Database.Bloodhound.Types: [nodeStatsName] :: NodeStats -> NodeName
- Database.Bloodhound.Types: [nodeStatsNetwork] :: NodeStats -> NodeNetworkStats
- Database.Bloodhound.Types: [nodeStatsOS] :: NodeStats -> NodeOSStats
- Database.Bloodhound.Types: [nodeStatsParentBreaker] :: NodeBreakersStats -> NodeBreakerStats
- Database.Bloodhound.Types: [nodeStatsProcess] :: NodeStats -> NodeProcessStats
- Database.Bloodhound.Types: [nodeStatsRequestBreaker] :: NodeBreakersStats -> NodeBreakerStats
- Database.Bloodhound.Types: [nodeStatsThreadPool] :: NodeStats -> NodeThreadPoolsStats
- Database.Bloodhound.Types: [nodeStatsTransport] :: NodeStats -> NodeTransportStats
- Database.Bloodhound.Types: [nodeThreadPoolActive] :: NodeThreadPoolStats -> Int
- Database.Bloodhound.Types: [nodeThreadPoolCompleted] :: NodeThreadPoolStats -> Int
- Database.Bloodhound.Types: [nodeThreadPoolKeepalive] :: NodeThreadPoolInfo -> Maybe NominalDiffTime
- Database.Bloodhound.Types: [nodeThreadPoolLargest] :: NodeThreadPoolStats -> Int
- Database.Bloodhound.Types: [nodeThreadPoolMax] :: NodeThreadPoolInfo -> Maybe Int
- Database.Bloodhound.Types: [nodeThreadPoolMin] :: NodeThreadPoolInfo -> Maybe Int
- Database.Bloodhound.Types: [nodeThreadPoolQueueSize] :: NodeThreadPoolInfo -> ThreadPoolSize
- Database.Bloodhound.Types: [nodeThreadPoolQueue] :: NodeThreadPoolStats -> Int
- Database.Bloodhound.Types: [nodeThreadPoolRejected] :: NodeThreadPoolStats -> Int
- Database.Bloodhound.Types: [nodeThreadPoolThreads] :: NodeThreadPoolStats -> Int
- Database.Bloodhound.Types: [nodeThreadPoolType] :: NodeThreadPoolInfo -> ThreadPoolType
- Database.Bloodhound.Types: [nodeThreadPoolsBulk] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsFetchShardStarted] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsFetchShardStore] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsFlush] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsGeneric] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsGet] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsIndex] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsListener] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsManagement] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsMerge] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsOptimize] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsPercolate] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsRefresh] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsSearch] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsSnapshot] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsStatsBulk] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsFetchShardStarted] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsFetchShardStore] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsFlush] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsGeneric] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsGet] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsIndex] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsListener] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsManagement] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsMerge] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsOptimize] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsPercolate] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsRefresh] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsSearch] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsSnapshot] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsSuggest] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsStatsWarmer] :: NodeThreadPoolsStats -> NodeThreadPoolStats
- Database.Bloodhound.Types: [nodeThreadPoolsSuggest] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeThreadPoolsWarmer] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
- Database.Bloodhound.Types: [nodeTransportAddress] :: NodeTransportInfo -> BoundTransportAddress
- Database.Bloodhound.Types: [nodeTransportCount] :: NodeTransportStats -> Int
- Database.Bloodhound.Types: [nodeTransportProfiles] :: NodeTransportInfo -> [BoundTransportAddress]
- Database.Bloodhound.Types: [nodeTransportRXCount] :: NodeTransportStats -> Int
- Database.Bloodhound.Types: [nodeTransportRXSize] :: NodeTransportStats -> Bytes
- Database.Bloodhound.Types: [nodeTransportServerOpen] :: NodeTransportStats -> Int
- Database.Bloodhound.Types: [nodeTransportTXSize] :: NodeTransportStats -> Bytes
- Database.Bloodhound.Types: [nodesClusterName] :: NodesInfo -> ClusterName
- Database.Bloodhound.Types: [nodesInfo] :: NodesInfo -> [NodeInfo]
- Database.Bloodhound.Types: [nodesStatsClusterName] :: NodesStats -> ClusterName
- Database.Bloodhound.Types: [nodesStats] :: NodesStats -> [NodeStats]
- Database.Bloodhound.Types: [numberOfFragments] :: NonPostings -> Maybe Int
- Database.Bloodhound.Types: [number] :: Version -> VersionNumber
- Database.Bloodhound.Types: [ok] :: Status -> Maybe Bool
- Database.Bloodhound.Types: [onlyExpungeDeletes] :: IndexOptimizationSettings -> Bool
- Database.Bloodhound.Types: [order] :: CommonHighlight -> Maybe Text
- Database.Bloodhound.Types: [phraseLimit] :: FastVectorHighlight -> Maybe Int
- Database.Bloodhound.Types: [pid] :: PID -> Int
- Database.Bloodhound.Types: [plainCommon] :: PlainHighlight -> Maybe CommonHighlight
- Database.Bloodhound.Types: [plainNonPost] :: PlainHighlight -> Maybe NonPostings
- Database.Bloodhound.Types: [pluginName] :: PluginName -> Text
- Database.Bloodhound.Types: [positiveQuery] :: BoostingQuery -> Query
- Database.Bloodhound.Types: [precisionThreshold] :: CardinalityAggregation -> Maybe Int
- Database.Bloodhound.Types: [prefixQueryBoost] :: PrefixQuery -> Maybe Boost
- Database.Bloodhound.Types: [prefixQueryField] :: PrefixQuery -> FieldName
- Database.Bloodhound.Types: [prefixQueryPrefixValue] :: PrefixQuery -> Text
- Database.Bloodhound.Types: [publishAddress] :: BoundTransportAddress -> EsAddress
- Database.Bloodhound.Types: [queryBody] :: Search -> Maybe Query
- Database.Bloodhound.Types: [queryStringAllowLeadingWildcard] :: QueryStringQuery -> Maybe AllowLeadingWildcard
- Database.Bloodhound.Types: [queryStringAnalyzeWildcard] :: QueryStringQuery -> Maybe AnalyzeWildcard
- Database.Bloodhound.Types: [queryStringAnalyzer] :: QueryStringQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [queryStringBoost] :: QueryStringQuery -> Maybe Boost
- Database.Bloodhound.Types: [queryStringDefaultField] :: QueryStringQuery -> Maybe FieldName
- Database.Bloodhound.Types: [queryStringEnablePositionIncrements] :: QueryStringQuery -> Maybe EnablePositionIncrements
- Database.Bloodhound.Types: [queryStringFuzziness] :: QueryStringQuery -> Maybe Fuzziness
- Database.Bloodhound.Types: [queryStringFuzzyMaxExpansions] :: QueryStringQuery -> Maybe MaxExpansions
- Database.Bloodhound.Types: [queryStringFuzzyPrefixLength] :: QueryStringQuery -> Maybe PrefixLength
- Database.Bloodhound.Types: [queryStringGeneratePhraseQueries] :: QueryStringQuery -> Maybe GeneratePhraseQueries
- Database.Bloodhound.Types: [queryStringLenient] :: QueryStringQuery -> Maybe Lenient
- Database.Bloodhound.Types: [queryStringLocale] :: QueryStringQuery -> Maybe Locale
- Database.Bloodhound.Types: [queryStringLowercaseExpanded] :: QueryStringQuery -> Maybe LowercaseExpanded
- Database.Bloodhound.Types: [queryStringMinimumShouldMatch] :: QueryStringQuery -> Maybe MinimumMatch
- Database.Bloodhound.Types: [queryStringOperator] :: QueryStringQuery -> Maybe BooleanOperator
- Database.Bloodhound.Types: [queryStringPhraseSlop] :: QueryStringQuery -> Maybe PhraseSlop
- Database.Bloodhound.Types: [queryStringQuery] :: QueryStringQuery -> QueryString
- Database.Bloodhound.Types: [rangeQueryBoost] :: RangeQuery -> Boost
- Database.Bloodhound.Types: [rangeQueryField] :: RangeQuery -> FieldName
- Database.Bloodhound.Types: [rangeQueryRange] :: RangeQuery -> RangeValue
- Database.Bloodhound.Types: [regexpQueryBoost] :: RegexpQuery -> Maybe Boost
- Database.Bloodhound.Types: [regexpQueryField] :: RegexpQuery -> FieldName
- Database.Bloodhound.Types: [regexpQueryFlags] :: RegexpQuery -> RegexpFlags
- Database.Bloodhound.Types: [regexpQuery] :: RegexpQuery -> Regexp
- Database.Bloodhound.Types: [repoUpdateVerify] :: SnapshotRepoUpdateSettings -> Bool
- Database.Bloodhound.Types: [requireFieldMatch] :: CommonHighlight -> Maybe Bool
- Database.Bloodhound.Types: [restoreOverrideReplicas] :: RestoreIndexSettings -> Maybe ReplicaCount
- Database.Bloodhound.Types: [routingValue] :: RoutingValue -> Text
- Database.Bloodhound.Types: [rrPattern] :: RestoreRenamePattern -> Text
- Database.Bloodhound.Types: [sSummaryFixedSettings] :: IndexSettingsSummary -> IndexSettings
- Database.Bloodhound.Types: [sSummaryIndexName] :: IndexSettingsSummary -> IndexName
- Database.Bloodhound.Types: [sSummaryUpdateable] :: IndexSettingsSummary -> [UpdatableIndexSetting]
- Database.Bloodhound.Types: [scriptText] :: Script -> Text
- Database.Bloodhound.Types: [scrollId] :: SearchResult a -> Maybe ScrollId
- Database.Bloodhound.Types: [searchHits] :: SearchResult a -> SearchHits a
- Database.Bloodhound.Types: [searchType] :: Search -> SearchType
- Database.Bloodhound.Types: [shardId] :: ShardId -> Int
- Database.Bloodhound.Types: [shardTotal] :: ShardResult -> Int
- Database.Bloodhound.Types: [shardsFailed] :: ShardResult -> Int
- Database.Bloodhound.Types: [shardsSuccessful] :: ShardResult -> Int
- Database.Bloodhound.Types: [shards] :: SearchResult a -> ShardResult
- Database.Bloodhound.Types: [simpleQueryStringAnalyzer] :: SimpleQueryStringQuery -> Maybe Analyzer
- Database.Bloodhound.Types: [simpleQueryStringField] :: SimpleQueryStringQuery -> Maybe FieldOrFields
- Database.Bloodhound.Types: [simpleQueryStringFlags] :: SimpleQueryStringQuery -> Maybe (NonEmpty SimpleQueryFlag)
- Database.Bloodhound.Types: [simpleQueryStringLocale] :: SimpleQueryStringQuery -> Maybe Locale
- Database.Bloodhound.Types: [simpleQueryStringLowercaseExpanded] :: SimpleQueryStringQuery -> Maybe LowercaseExpanded
- Database.Bloodhound.Types: [simpleQueryStringOperator] :: SimpleQueryStringQuery -> Maybe BooleanOperator
- Database.Bloodhound.Types: [simpleQueryStringQuery] :: SimpleQueryStringQuery -> QueryString
- Database.Bloodhound.Types: [size] :: Search -> Size
- Database.Bloodhound.Types: [snapIgnoreUnavailable] :: SnapshotCreateSettings -> Bool
- Database.Bloodhound.Types: [snapIncludeGlobalState] :: SnapshotCreateSettings -> Bool
- Database.Bloodhound.Types: [snapIndices] :: SnapshotCreateSettings -> Maybe IndexSelection
- Database.Bloodhound.Types: [snapInfoDuration] :: SnapshotInfo -> NominalDiffTime
- Database.Bloodhound.Types: [snapInfoEndTime] :: SnapshotInfo -> UTCTime
- Database.Bloodhound.Types: [snapInfoFailures] :: SnapshotInfo -> [SnapshotShardFailure]
- Database.Bloodhound.Types: [snapInfoIndices] :: SnapshotInfo -> [IndexName]
- Database.Bloodhound.Types: [snapInfoName] :: SnapshotInfo -> SnapshotName
- Database.Bloodhound.Types: [snapInfoShards] :: SnapshotInfo -> ShardResult
- Database.Bloodhound.Types: [snapInfoStartTime] :: SnapshotInfo -> UTCTime
- Database.Bloodhound.Types: [snapInfoState] :: SnapshotInfo -> SnapshotState
- Database.Bloodhound.Types: [snapPartial] :: SnapshotCreateSettings -> Bool
- Database.Bloodhound.Types: [snapRestoreIgnoreIndexSettings] :: SnapshotRestoreSettings -> Maybe (NonEmpty Text)
- Database.Bloodhound.Types: [snapRestoreIgnoreUnavailable] :: SnapshotRestoreSettings -> Bool
- Database.Bloodhound.Types: [snapRestoreIncludeAliases] :: SnapshotRestoreSettings -> Bool
- Database.Bloodhound.Types: [snapRestoreIncludeGlobalState] :: SnapshotRestoreSettings -> Bool
- Database.Bloodhound.Types: [snapRestoreIndexSettingsOverrides] :: SnapshotRestoreSettings -> Maybe RestoreIndexSettings
- Database.Bloodhound.Types: [snapRestoreIndices] :: SnapshotRestoreSettings -> Maybe IndexSelection
- Database.Bloodhound.Types: [snapRestorePartial] :: SnapshotRestoreSettings -> Bool
- Database.Bloodhound.Types: [snapRestoreRenamePattern] :: SnapshotRestoreSettings -> Maybe RestoreRenamePattern
- Database.Bloodhound.Types: [snapRestoreRenameReplacement] :: SnapshotRestoreSettings -> Maybe (NonEmpty RestoreRenameToken)
- Database.Bloodhound.Types: [snapRestoreWaitForCompletion] :: SnapshotRestoreSettings -> Bool
- Database.Bloodhound.Types: [snapShardFailureIndex] :: SnapshotShardFailure -> IndexName
- Database.Bloodhound.Types: [snapShardFailureNodeId] :: SnapshotShardFailure -> Maybe NodeName
- Database.Bloodhound.Types: [snapShardFailureReason] :: SnapshotShardFailure -> Text
- Database.Bloodhound.Types: [snapShardFailureShardId] :: SnapshotShardFailure -> ShardId
- Database.Bloodhound.Types: [snapWaitForCompletion] :: SnapshotCreateSettings -> Bool
- Database.Bloodhound.Types: [snapshotName] :: SnapshotName -> Text
- Database.Bloodhound.Types: [snapshotNodeVerifications] :: SnapshotVerification -> [SnapshotNodeVerification]
- Database.Bloodhound.Types: [snapshotRepoName] :: SnapshotRepoName -> Text
- Database.Bloodhound.Types: [snapshotRepoType] :: SnapshotRepoType -> Text
- Database.Bloodhound.Types: [snvFullId] :: SnapshotNodeVerification -> FullNodeId
- Database.Bloodhound.Types: [snvNodeName] :: SnapshotNodeVerification -> NodeName
- Database.Bloodhound.Types: [sortBody] :: Search -> Maybe Sort
- Database.Bloodhound.Types: [sortFieldName] :: DefaultSort -> FieldName
- Database.Bloodhound.Types: [sortMode] :: DefaultSort -> Maybe SortMode
- Database.Bloodhound.Types: [sortOrder] :: DefaultSort -> SortOrder
- Database.Bloodhound.Types: [source] :: Search -> Maybe Source
- Database.Bloodhound.Types: [srcIndex] :: IndexAlias -> IndexName
- Database.Bloodhound.Types: [status] :: Status -> Int
- Database.Bloodhound.Types: [tag] :: CommonHighlight -> Maybe HighlightTag
- Database.Bloodhound.Types: [tagline] :: Status -> Text
- Database.Bloodhound.Types: [templateMappings] :: IndexTemplate -> [Value]
- Database.Bloodhound.Types: [templatePattern] :: IndexTemplate -> TemplatePattern
- Database.Bloodhound.Types: [templateSettings] :: IndexTemplate -> Maybe IndexSettings
- Database.Bloodhound.Types: [termAggs] :: TermsAggregation -> Maybe Aggregations
- Database.Bloodhound.Types: [termCollectMode] :: TermsAggregation -> Maybe CollectionMode
- Database.Bloodhound.Types: [termExclude] :: TermsAggregation -> Maybe TermInclusion
- Database.Bloodhound.Types: [termExecutionHint] :: TermsAggregation -> Maybe ExecutionHint
- Database.Bloodhound.Types: [termField] :: Term -> Text
- Database.Bloodhound.Types: [termInclude] :: TermsAggregation -> Maybe TermInclusion
- Database.Bloodhound.Types: [termKey] :: TermsResult -> BucketValue
- Database.Bloodhound.Types: [termMinDocCount] :: TermsAggregation -> Maybe Int
- Database.Bloodhound.Types: [termOrder] :: TermsAggregation -> Maybe TermOrder
- Database.Bloodhound.Types: [termShardSize] :: TermsAggregation -> Maybe Int
- Database.Bloodhound.Types: [termSize] :: TermsAggregation -> Maybe Int
- Database.Bloodhound.Types: [termSortField] :: TermOrder -> Text
- Database.Bloodhound.Types: [termSortOrder] :: TermOrder -> SortOrder
- Database.Bloodhound.Types: [termValue] :: Term -> Text
- Database.Bloodhound.Types: [term] :: TermsAggregation -> Either Text Text
- Database.Bloodhound.Types: [termsAggs] :: TermsResult -> Maybe AggregationResults
- Database.Bloodhound.Types: [termsDocCount] :: TermsResult -> Int
- Database.Bloodhound.Types: [timedOut] :: SearchResult a -> Bool
- Database.Bloodhound.Types: [took] :: SearchResult a -> Int
- Database.Bloodhound.Types: [topLeft] :: GeoBoundingBox -> LatLon
- Database.Bloodhound.Types: [trackSortScores] :: Search -> TrackSortScores
- Database.Bloodhound.Types: [typeName] :: Mapping -> TypeName
- Database.Bloodhound.Types: [unBH] :: BH m a -> ReaderT BHEnv m a
- Database.Bloodhound.Types: [unMaybeNA] :: MaybeNA a -> Maybe a
- Database.Bloodhound.Types: [unit] :: Distance -> DistanceUnit
- Database.Bloodhound.Types: [versionNumber] :: VersionNumber -> Version
- Database.Bloodhound.Types: [version] :: Status -> Version
- Database.Bloodhound.Types: aggs :: BucketAggregation a => a -> Maybe AggregationResults
- Database.Bloodhound.Types: bhManager :: BHEnv -> Manager
- Database.Bloodhound.Types: bhRequestHook :: BHEnv -> Request -> IO Request
- Database.Bloodhound.Types: bhServer :: BHEnv -> Server
- Database.Bloodhound.Types: class BucketAggregation a
- Database.Bloodhound.Types: class (Functor m, Applicative m, MonadIO m) => MonadBH m
- Database.Bloodhound.Types: class Monoid a
- Database.Bloodhound.Types: class Monoid a => Seminearring a where (<&&>) = mappend
- Database.Bloodhound.Types: class SnapshotRepo r
- Database.Bloodhound.Types: class ToJSON a
- Database.Bloodhound.Types: data Aggregation
- Database.Bloodhound.Types: data AliasRouting
- Database.Bloodhound.Types: data AllocationPolicy
- Database.Bloodhound.Types: data BHEnv
- Database.Bloodhound.Types: data BoolMatch
- Database.Bloodhound.Types: data BoolQuery
- Database.Bloodhound.Types: data BooleanOperator
- Database.Bloodhound.Types: data BoostingQuery
- Database.Bloodhound.Types: data BoundTransportAddress
- Database.Bloodhound.Types: data Bucket a
- Database.Bloodhound.Types: data BucketValue
- Database.Bloodhound.Types: data BulkOperation
- Database.Bloodhound.Types: data CPUInfo
- Database.Bloodhound.Types: data CardinalityAggregation
- Database.Bloodhound.Types: data CollectionMode
- Database.Bloodhound.Types: data CommonHighlight
- Database.Bloodhound.Types: data CommonMinimumMatch
- Database.Bloodhound.Types: data CommonTermsQuery
- Database.Bloodhound.Types: data CompoundFormat
- Database.Bloodhound.Types: data DateHistogramAggregation
- Database.Bloodhound.Types: data DateHistogramResult
- Database.Bloodhound.Types: data DateMathAnchor
- Database.Bloodhound.Types: data DateMathExpr
- Database.Bloodhound.Types: data DateMathModifier
- Database.Bloodhound.Types: data DateMathUnit
- Database.Bloodhound.Types: data DateRangeAggRange
- Database.Bloodhound.Types: data DateRangeAggregation
- Database.Bloodhound.Types: data DateRangeResult
- Database.Bloodhound.Types: data DefaultSort
- Database.Bloodhound.Types: data DisMaxQuery
- Database.Bloodhound.Types: data Distance
- Database.Bloodhound.Types: data DistanceRange
- Database.Bloodhound.Types: data DistanceType
- Database.Bloodhound.Types: data DistanceUnit
- Database.Bloodhound.Types: data DocVersion
- Database.Bloodhound.Types: data EsError
- Database.Bloodhound.Types: data EsProtocolException
- Database.Bloodhound.Types: data EsResult a
- Database.Bloodhound.Types: data EsResultFound a
- Database.Bloodhound.Types: data Exclude
- Database.Bloodhound.Types: data ExecutionHint
- Database.Bloodhound.Types: data FSType
- Database.Bloodhound.Types: data FastVectorHighlight
- Database.Bloodhound.Types: data FieldDefinition
- Database.Bloodhound.Types: data FieldHighlight
- Database.Bloodhound.Types: data FieldOrFields
- Database.Bloodhound.Types: data Filter
- Database.Bloodhound.Types: data FilterAggregation
- Database.Bloodhound.Types: data FilteredQuery
- Database.Bloodhound.Types: data FsSnapshotRepo
- Database.Bloodhound.Types: data FuzzyLikeFieldQuery
- Database.Bloodhound.Types: data FuzzyLikeThisQuery
- Database.Bloodhound.Types: data FuzzyQuery
- Database.Bloodhound.Types: data GenericSnapshotRepo
- Database.Bloodhound.Types: data GeoBoundingBox
- Database.Bloodhound.Types: data GeoBoundingBoxConstraint
- Database.Bloodhound.Types: data GeoFilterType
- Database.Bloodhound.Types: data GeoPoint
- Database.Bloodhound.Types: data HasChildQuery
- Database.Bloodhound.Types: data HasParentQuery
- Database.Bloodhound.Types: data HighlightEncoder
- Database.Bloodhound.Types: data HighlightSettings
- Database.Bloodhound.Types: data HighlightTag
- Database.Bloodhound.Types: data Highlights
- Database.Bloodhound.Types: data Hit a
- Database.Bloodhound.Types: data Include
- Database.Bloodhound.Types: data IndexAlias
- Database.Bloodhound.Types: data IndexAliasAction
- Database.Bloodhound.Types: data IndexAliasCreate
- Database.Bloodhound.Types: data IndexAliasSummary
- Database.Bloodhound.Types: data IndexDocumentSettings
- Database.Bloodhound.Types: data IndexOptimizationSettings
- Database.Bloodhound.Types: data IndexSelection
- Database.Bloodhound.Types: data IndexSettings
- Database.Bloodhound.Types: data IndexSettingsSummary
- Database.Bloodhound.Types: data IndexTemplate
- Database.Bloodhound.Types: data IndicesQuery
- Database.Bloodhound.Types: data InitialShardCount
- Database.Bloodhound.Types: data Interval
- Database.Bloodhound.Types: data JVMBufferPoolStats
- Database.Bloodhound.Types: data JVMGCStats
- Database.Bloodhound.Types: data JVMMemoryInfo
- Database.Bloodhound.Types: data JVMPoolStats
- Database.Bloodhound.Types: data LatLon
- Database.Bloodhound.Types: data LoadAvgs
- Database.Bloodhound.Types: data Mapping
- Database.Bloodhound.Types: data MappingField
- Database.Bloodhound.Types: data MatchQuery
- Database.Bloodhound.Types: data MatchQueryType
- Database.Bloodhound.Types: data MinimumMatchHighLow
- Database.Bloodhound.Types: data Missing
- Database.Bloodhound.Types: data MissingAggregation
- Database.Bloodhound.Types: data MissingResult
- Database.Bloodhound.Types: data MoreLikeThisFieldQuery
- Database.Bloodhound.Types: data MoreLikeThisQuery
- Database.Bloodhound.Types: data MultiMatchQuery
- Database.Bloodhound.Types: data MultiMatchQueryType
- Database.Bloodhound.Types: data NestedQuery
- Database.Bloodhound.Types: data NodeAttrFilter
- Database.Bloodhound.Types: data NodeBreakerStats
- Database.Bloodhound.Types: data NodeBreakersStats
- Database.Bloodhound.Types: data NodeDataPathStats
- Database.Bloodhound.Types: data NodeFSStats
- Database.Bloodhound.Types: data NodeFSTotalStats
- Database.Bloodhound.Types: data NodeHTTPInfo
- Database.Bloodhound.Types: data NodeHTTPStats
- Database.Bloodhound.Types: data NodeIndicesStats
- Database.Bloodhound.Types: data NodeInfo
- Database.Bloodhound.Types: data NodeJVMInfo
- Database.Bloodhound.Types: data NodeJVMStats
- Database.Bloodhound.Types: data NodeNetworkInfo
- Database.Bloodhound.Types: data NodeNetworkInterface
- Database.Bloodhound.Types: data NodeNetworkStats
- Database.Bloodhound.Types: data NodeOSInfo
- Database.Bloodhound.Types: data NodeOSStats
- Database.Bloodhound.Types: data NodePluginInfo
- Database.Bloodhound.Types: data NodeProcessInfo
- Database.Bloodhound.Types: data NodeProcessStats
- Database.Bloodhound.Types: data NodeSelection
- Database.Bloodhound.Types: data NodeSelector
- Database.Bloodhound.Types: data NodeStats
- Database.Bloodhound.Types: data NodeThreadPoolInfo
- Database.Bloodhound.Types: data NodeThreadPoolStats
- Database.Bloodhound.Types: data NodeThreadPoolsInfo
- Database.Bloodhound.Types: data NodeThreadPoolsStats
- Database.Bloodhound.Types: data NodeTransportInfo
- Database.Bloodhound.Types: data NodeTransportStats
- Database.Bloodhound.Types: data NodesInfo
- Database.Bloodhound.Types: data NodesStats
- Database.Bloodhound.Types: data NonPostings
- Database.Bloodhound.Types: data OpenCloseIndex
- Database.Bloodhound.Types: data OptimizeBbox
- Database.Bloodhound.Types: data PatternOrPatterns
- Database.Bloodhound.Types: data PlainHighlight
- Database.Bloodhound.Types: data PostingsHighlight
- Database.Bloodhound.Types: data PrefixQuery
- Database.Bloodhound.Types: data Query
- Database.Bloodhound.Types: data QueryStringQuery
- Database.Bloodhound.Types: data RRGroupRefNum
- Database.Bloodhound.Types: data RangeExecution
- Database.Bloodhound.Types: data RangeQuery
- Database.Bloodhound.Types: data RangeValue
- Database.Bloodhound.Types: data RegexpFlag
- Database.Bloodhound.Types: data RegexpFlags
- Database.Bloodhound.Types: data RegexpQuery
- Database.Bloodhound.Types: data ReplicaBounds
- Database.Bloodhound.Types: data RestoreIndexSettings
- Database.Bloodhound.Types: data RestoreRenameToken
- Database.Bloodhound.Types: data ScoreType
- Database.Bloodhound.Types: data Search
- Database.Bloodhound.Types: data SearchHits a
- Database.Bloodhound.Types: data SearchResult a
- Database.Bloodhound.Types: data SearchType
- Database.Bloodhound.Types: data ShardResult
- Database.Bloodhound.Types: data SimpleQueryFlag
- Database.Bloodhound.Types: data SimpleQueryStringQuery
- Database.Bloodhound.Types: data SnapshotCreateSettings
- Database.Bloodhound.Types: data SnapshotInfo
- Database.Bloodhound.Types: data SnapshotNodeVerification
- Database.Bloodhound.Types: data SnapshotPattern
- Database.Bloodhound.Types: data SnapshotRepoConversionError
- Database.Bloodhound.Types: data SnapshotRepoPattern
- Database.Bloodhound.Types: data SnapshotRepoSelection
- Database.Bloodhound.Types: data SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: data SnapshotRestoreSettings
- Database.Bloodhound.Types: data SnapshotSelection
- Database.Bloodhound.Types: data SnapshotShardFailure
- Database.Bloodhound.Types: data SnapshotState
- Database.Bloodhound.Types: data SortMode
- Database.Bloodhound.Types: data SortOrder
- Database.Bloodhound.Types: data SortSpec
- Database.Bloodhound.Types: data Source
- Database.Bloodhound.Types: data Status
- Database.Bloodhound.Types: data Term
- Database.Bloodhound.Types: data TermInclusion
- Database.Bloodhound.Types: data TermOrder
- Database.Bloodhound.Types: data TermsAggregation
- Database.Bloodhound.Types: data TermsResult
- Database.Bloodhound.Types: data ThreadPoolSize
- Database.Bloodhound.Types: data ThreadPoolType
- Database.Bloodhound.Types: data TimeInterval
- Database.Bloodhound.Types: data UpdatableIndexSetting
- Database.Bloodhound.Types: data ValueCountAggregation
- Database.Bloodhound.Types: data Version
- Database.Bloodhound.Types: data VersionControl
- Database.Bloodhound.Types: data ZeroTermsQuery
- Database.Bloodhound.Types: defaultCache :: Cache
- Database.Bloodhound.Types: defaultIndexDocumentSettings :: IndexDocumentSettings
- Database.Bloodhound.Types: defaultIndexOptimizationSettings :: IndexOptimizationSettings
- Database.Bloodhound.Types: defaultIndexSettings :: IndexSettings
- Database.Bloodhound.Types: defaultSnapshotCreateSettings :: SnapshotCreateSettings
- Database.Bloodhound.Types: defaultSnapshotRepoUpdateSettings :: SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: defaultSnapshotRestoreSettings :: SnapshotRestoreSettings
- Database.Bloodhound.Types: docCount :: BucketAggregation a => a -> Int
- Database.Bloodhound.Types: docVersionNumber :: DocVersion -> Int
- Database.Bloodhound.Types: fromGSnapshotRepo :: SnapshotRepo r => GenericSnapshotRepo -> Either SnapshotRepoConversionError r
- Database.Bloodhound.Types: getBHEnv :: MonadBH m => m BHEnv
- Database.Bloodhound.Types: gigabytes :: Int -> Bytes
- Database.Bloodhound.Types: instance (GHC.Base.Functor m, GHC.Base.Applicative m, Control.Monad.IO.Class.MonadIO m) => Database.Bloodhound.Types.Internal.MonadBH (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Control.Monad.Trans.Class.MonadTrans Database.Bloodhound.Types.BH
- Database.Bloodhound.Types: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.AliasRouting
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.AllocationPolicy
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.AllowLeadingWildcard
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.AnalyzeWildcard
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Analyzer
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.BoolMatch
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.BoolQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.BooleanOperator
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Boost
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.BoostTerms
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.BoostingQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.BoundTransportAddress
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.BucketValue
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.BuildHash
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Bytes
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.CPUInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.CacheKey
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.CacheName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ClusterName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.CommonMinimumMatch
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.CommonTermsQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.CompoundFormat
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.CutoffFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.DateHistogramResult
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.DateRangeResult
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.DisMaxQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.DisableCoord
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Distance
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.DistanceType
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.DistanceUnit
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.DocId
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.EnablePositionIncrements
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.EsAddress
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.EsError
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Existence
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.FSType
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.FieldName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.FieldOrFields
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Filter
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.FilteredQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.FullNodeId
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Fuzziness
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.FuzzyQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.GeneratePhraseQueries
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.GenericSnapshotRepoSettings
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.GeoBoundingBox
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.GeoFilterType
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.HasChildQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.HasParentQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.IgnoreTermFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.IndexAliasCreate
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.IndexAliasRouting
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.IndexAliasesSummary
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.IndexName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.IndexSettings
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.IndexSettingsSummary
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.IndicesQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.InitialShardCount
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.JVMBufferPoolStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.JVMGCCollector
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.JVMGCStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.JVMMemoryInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.JVMMemoryPool
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.JVMPoolStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.JVMVersion
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.LatLon
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Lenient
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.LoadAvgs
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Locale
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.LowercaseExpanded
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MS
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MacAddress
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MappingName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MatchQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MatchQueryType
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MaxDocFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MaxExpansions
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MaxQueryTerms
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MaxWordLength
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MinDocFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MinWordLength
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MinimumMatch
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MinimumTermFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MissingResult
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MoreLikeThisQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MultiMatchQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.MultiMatchQueryType
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NestedQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NetworkInterfaceName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeBreakerStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeBreakersStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeDataPathStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeFSStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeFSTotalStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeHTTPInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeHTTPStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeIndicesStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeJVMInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeJVMStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeNetworkInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeNetworkInterface
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeNetworkStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeOSInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeOSStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodePluginInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeProcessInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeProcessStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeThreadPoolInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeThreadPoolStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeThreadPoolsStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeTransportInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodeTransportStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodesInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NodesStats
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NominalDiffTimeJSON
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.NullValue
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.OptimizeBbox
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.PID
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.POSIXMS
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.PercentMatch
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.PhraseSlop
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.PluginName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.PrefixLength
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.PrefixQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Query
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.QueryPath
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.QueryString
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.QueryStringQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.RangeExecution
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.RangeQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.RangeValue
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Regexp
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.RegexpFlag
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.RegexpFlags
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.RegexpQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ReplicaBounds
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ReplicaCount
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.RoutingValue
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ScoreType
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ScrollId
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SearchAliasRouting
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ShardCount
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ShardId
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ShardResult
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SimpleQueryFlag
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SimpleQueryStringQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SnapshotInfo
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SnapshotName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SnapshotRepoName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SnapshotRepoType
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SnapshotShardFailure
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SnapshotState
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.SnapshotVerification
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Status
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.StopWord
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.StringlyTypedDouble
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.TemplateName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.TemplatePattern
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Term
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.TermsResult
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ThreadPoolSize
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ThreadPoolType
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Tiebreaker
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.TypeName
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.UpdatableIndexSetting
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Version
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.VersionNumber
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.ZeroTermsQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Bloodhound.Types.Bucket a)
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Bloodhound.Types.EsResult a)
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Bloodhound.Types.EsResultFound a)
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Bloodhound.Types.Hit a)
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Bloodhound.Types.MaybeNA a)
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Bloodhound.Types.SearchHits a)
- Database.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Bloodhound.Types.SearchResult a)
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Aggregation
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.AliasRouting
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.AllocationPolicy
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.AllowLeadingWildcard
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.AnalyzeWildcard
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Analyzer
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.BoolMatch
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.BoolQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.BooleanOperator
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Boost
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.BoostTerms
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.BoostingQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.BuildHash
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Bytes
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.CacheKey
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.CacheName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.CollectionMode
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.CommonMinimumMatch
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.CommonTermsQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.CompoundFormat
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.CutoffFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DateMathExpr
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DateRangeAggRange
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DateRangeAggregation
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DisMaxQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DisableCoord
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Distance
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DistanceType
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DistanceUnit
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DocId
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.EnablePositionIncrements
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Exclude
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.ExecutionHint
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Existence
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.ExternalDocVersion
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.FSType
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.FieldHighlight
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.FieldName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.FieldOrFields
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Filter
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.FilteredQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.From
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Fuzziness
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.FuzzyQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.GeneratePhraseQueries
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.GenericSnapshotRepoSettings
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.GeoBoundingBox
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.GeoFilterType
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.GeoPoint
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.HasChildQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.HasParentQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.HighlightEncoder
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.HighlightSettings
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Highlights
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IgnoreTermFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Include
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndexAlias
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndexAliasAction
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndexAliasCreate
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndexAliasName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndexAliasRouting
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndexName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndexSettings
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndexTemplate
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.IndicesQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.InitialShardCount
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Interval
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.LatLon
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Lenient
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Locale
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.LowercaseExpanded
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MappingName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MatchQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MatchQueryType
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MaxDocFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MaxExpansions
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MaxQueryTerms
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MaxWordLength
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MinDocFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MinWordLength
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MinimumMatch
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MinimumTermFrequency
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Missing
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MoreLikeThisQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MultiMatchQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.MultiMatchQueryType
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.NestedQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.NominalDiffTimeJSON
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.NullValue
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.OptimizeBbox
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Pattern
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.PatternOrPatterns
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.PercentMatch
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.PhraseSlop
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.PrefixLength
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.PrefixQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Query
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.QueryPath
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.QueryString
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.QueryStringQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.RangeExecution
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.RangeQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.RegexpFlags
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.RegexpQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.ReplicaBounds
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.ReplicaCount
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.RestoreIndexSettings
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.RestoreRenamePattern
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.RoutingValue
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.ScoreType
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.ScrollId
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Search
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SearchAliasRouting
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.ShardCount
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SimpleQueryFlag
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SimpleQueryStringQuery
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Size
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SnapshotName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SnapshotRepoName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SnapshotRepoType
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SortMode
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SortOrder
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.SortSpec
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Source
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.StopWord
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.TemplateName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.TemplatePattern
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Term
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.TermInclusion
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.TermOrder
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Tiebreaker
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.TypeName
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.UpdatableIndexSetting
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.Version
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.VersionNumber
- Database.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.Bloodhound.Types.ZeroTermsQuery
- Database.Bloodhound.Types: instance Database.Bloodhound.Types.BucketAggregation Database.Bloodhound.Types.DateHistogramResult
- Database.Bloodhound.Types: instance Database.Bloodhound.Types.BucketAggregation Database.Bloodhound.Types.DateRangeResult
- Database.Bloodhound.Types: instance Database.Bloodhound.Types.BucketAggregation Database.Bloodhound.Types.TermsResult
- Database.Bloodhound.Types: instance Database.Bloodhound.Types.Class.Seminearring Database.Bloodhound.Types.Filter
- Database.Bloodhound.Types: instance Database.Bloodhound.Types.SnapshotRepo Database.Bloodhound.Types.FsSnapshotRepo
- Database.Bloodhound.Types: instance Database.Bloodhound.Types.SnapshotRepo Database.Bloodhound.Types.GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Base.Alternative m => GHC.Base.Alternative (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance GHC.Base.Applicative m => GHC.Base.Applicative (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance GHC.Base.Functor m => GHC.Base.Functor (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance GHC.Base.Monad m => GHC.Base.Monad (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Database.Bloodhound.Types.BH m)
- Database.Bloodhound.Types: instance GHC.Base.Monoid (Database.Bloodhound.Types.SearchHits a)
- Database.Bloodhound.Types: instance GHC.Base.Monoid Database.Bloodhound.Types.Filter
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Aggregation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.AliasRouting
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.AllowLeadingWildcard
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.AnalyzeWildcard
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Analyzer
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.BoolMatch
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.BoolQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.BooleanOperator
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Boost
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.BoostTerms
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.BoostingQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.BoundTransportAddress
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.BuildHash
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.BulkOperation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Bytes
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CPUInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CacheKey
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CacheName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CardinalityAggregation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ClusterName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CollectionMode
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CommonHighlight
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CommonMinimumMatch
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CompoundFormat
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.CutoffFrequency
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DateMathAnchor
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DateMathExpr
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DateMathModifier
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DateMathUnit
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DateRangeAggRange
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DateRangeResult
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DefaultSort
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DisableCoord
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Distance
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DistanceRange
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DistanceType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DistanceUnit
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DocId
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.DocumentParent
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.EnablePositionIncrements
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.EsAddress
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.EsError
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.EsPassword
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.EsProtocolException
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.EsUsername
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Exclude
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ExecutionHint
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Existence
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FSType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FieldDefinition
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FieldHighlight
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FieldName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FieldOrFields
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FieldType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Filter
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FilterAggregation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FilteredQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.From
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FullNodeId
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Fuzziness
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GeneratePhraseQueries
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GenericSnapshotRepoSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GeoBoundingBox
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GeoFilterType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GeoPoint
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GreaterThan
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GreaterThanD
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GreaterThanEq
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.GreaterThanEqD
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.HasChildQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.HasParentQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.HighlightEncoder
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.HighlightSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.HighlightTag
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Highlights
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IgnoreTermFrequency
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Include
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexAlias
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexAliasAction
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexAliasCreate
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexAliasName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexAliasRouting
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexAliasSummary
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexAliasesSummary
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexDocumentSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexOptimizationSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexSelection
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndexSettingsSummary
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.IndicesQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.InitialShardCount
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Interval
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.JVMBufferPoolStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.JVMGCCollector
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.JVMGCStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.JVMMemoryPool
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.LatLon
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Lenient
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.LessThan
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.LessThanD
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.LessThanEq
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.LessThanEqD
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.LoadAvgs
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Locale
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.LowercaseExpanded
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MacAddress
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Mapping
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MappingField
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MappingName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MatchQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MatchQueryType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MaxDocFrequency
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MaxExpansions
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MaxQueryTerms
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MaxWordLength
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MinDocFrequency
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MinWordLength
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MinimumMatch
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MinimumMatchHighLow
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MinimumTermFrequency
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Missing
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MissingAggregation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NestedQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NetworkInterfaceName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeAttrName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeBreakersStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeFSStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeHTTPInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeHTTPStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeNetworkInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeNetworkInterface
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeOSStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeSelection
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeSelector
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeTransportInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodesInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NodesStats
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NonPostings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.NullValue
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.OpenCloseIndex
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.OptimizeBbox
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PID
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Pattern
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PatternOrPatterns
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PercentMatch
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PhraseSlop
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PlainHighlight
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PluginName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PostingsHighlight
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PrefixLength
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.PrefixQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Query
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.QueryPath
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.QueryString
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RRGroupRefNum
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RangeExecution
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RangeQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RangeValue
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Regexp
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RegexpFlag
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RegexpFlags
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RegexpQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ReplicaBounds
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ReplicaCount
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RestoreIndexSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RestoreRenamePattern
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RestoreRenameToken
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.RoutingValue
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ScoreType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Script
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ScrollId
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Search
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SearchAliasRouting
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SearchType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ShardCount
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ShardId
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ShardResult
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Size
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotNodeVerification
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotPattern
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotRepoConversionError
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotRepoName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotRepoPattern
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotRepoSelection
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotRepoType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotSelection
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotState
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SnapshotVerification
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SortMode
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SortOrder
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.SortSpec
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Source
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Status
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.StopWord
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.TemplateName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.TemplatePattern
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Term
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.TermInclusion
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.TermOrder
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.TermsAggregation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ThreadPoolSize
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ThreadPoolType
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Tiebreaker
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.TimeInterval
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.TypeName
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ValueCountAggregation
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.Version
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.VersionControl
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.VersionNumber
- Database.Bloodhound.Types: instance GHC.Classes.Eq Database.Bloodhound.Types.ZeroTermsQuery
- Database.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Bloodhound.Types.EsResult a)
- Database.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Bloodhound.Types.EsResultFound a)
- Database.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Bloodhound.Types.Hit a)
- Database.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Bloodhound.Types.MaybeNA a)
- Database.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Bloodhound.Types.SearchHits a)
- Database.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Bloodhound.Types.SearchResult a)
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.BuildHash
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.Bytes
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.ClusterName
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.EsAddress
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.FSType
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.FullNodeId
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.MacAddress
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.NetworkInterfaceName
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.NodeAttrName
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.NodeName
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.PluginName
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.RRGroupRefNum
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.RestoreRenamePattern
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.ScrollId
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.SnapshotName
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.SnapshotRepoName
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.SnapshotRepoType
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.VersionControl
- Database.Bloodhound.Types: instance GHC.Classes.Ord Database.Bloodhound.Types.VersionNumber
- Database.Bloodhound.Types: instance GHC.Enum.Bounded Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance GHC.Enum.Bounded Database.Bloodhound.Types.ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Enum.Bounded Database.Bloodhound.Types.RRGroupRefNum
- Database.Bloodhound.Types: instance GHC.Enum.Enum Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance GHC.Enum.Enum Database.Bloodhound.Types.ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Exception.Exception Database.Bloodhound.Types.EsProtocolException
- Database.Bloodhound.Types: instance GHC.Exception.Exception Database.Bloodhound.Types.SnapshotRepoConversionError
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0AliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0AllowLeadingWildcard
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0AnalyzeWildcard
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Analyzer
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0BoolMatch
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0BooleanOperator
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Boost
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0BoostTerms
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0BoostingQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0BoundTransportAddress
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0BuildHash
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0BulkOperation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Bytes
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CacheKey
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CacheName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CardinalityAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ClusterName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CollectionMode
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CommonMinimumMatch
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CompoundFormat
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0CutoffFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DateMathAnchor
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DateMathExpr
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DateMathModifier
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DateRangeAggRange
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DisableCoord
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Distance
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DistanceRange
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DistanceType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DocId
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DocVersion
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0DocumentParent
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0EnablePositionIncrements
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0EsAddress
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0EsError
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0EsProtocolException
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0EsResult
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0EsResultFound
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Exclude
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ExecutionHint
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Existence
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FSType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FieldDefinition
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FieldHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FieldName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FieldOrFields
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FilterAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FilteredQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0From
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FullNodeId
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Fuzziness
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GeneratePhraseQueries
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GenericSnapshotRepoSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GeoBoundingBox
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GeoFilterType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GeoPoint
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GreaterThan
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GreaterThanD
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GreaterThanEq
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0GreaterThanEqD
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0HasChildQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0HasParentQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0HighlightEncoder
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0HighlightSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0HighlightTag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Highlights
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Hit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IgnoreTermFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Include
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexAlias
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexAliasAction
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexAliasCreate
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexAliasName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexAliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexAliasSummary
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexAliasesSummary
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexDocumentSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexOptimizationSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndexSettingsSummary
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0IndicesQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0InitialShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0JVMBufferPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0JVMGCCollector
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0JVMGCStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0JVMMemoryPool
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0LatLon
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Lenient
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0LessThan
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0LessThanD
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0LessThanEq
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0LessThanEqD
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0LoadAvgs
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Locale
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0LowercaseExpanded
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MacAddress
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Mapping
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MappingField
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MappingName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MaxDocFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MaxExpansions
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MaxQueryTerms
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MaxWordLength
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MinDocFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MinWordLength
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MinimumMatch
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MinimumMatchHighLow
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MinimumTermFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Missing
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MissingAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NestedQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NetworkInterfaceName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeAttrName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeBreakersStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeFSStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeHTTPInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeHTTPStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeNetworkInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeNetworkInterface
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeSelector
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeTransportInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodesInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NodesStats
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NonPostings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0NullValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0OpenCloseIndex
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0OptimizeBbox
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PID
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Pattern
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PatternOrPatterns
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PercentMatch
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PhraseSlop
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PlainHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PluginName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PostingsHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PrefixLength
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0PrefixQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0QueryPath
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0QueryString
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RRGroupRefNum
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RangeExecution
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RangeQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Regexp
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RegexpFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RegexpFlags
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RegexpQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ReplicaBounds
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ReplicaCount
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RestoreIndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RestoreRenamePattern
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RestoreRenameToken
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0RoutingValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ScoreType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Script
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ScrollId
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Search
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SearchAliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SearchHits
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SearchResult
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SearchType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ShardId
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ShardResult
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Size
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotNodeVerification
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotPattern
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotRepoConversionError
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotRepoName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotRepoPattern
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotRepoSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotRepoType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SnapshotVerification
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SortMode
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SortOrder
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0SortSpec
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Source
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Status
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0StopWord
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0TemplateName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0TemplatePattern
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Term
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0TermInclusion
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0TermOrder
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ThreadPoolSize
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ThreadPoolType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Tiebreaker
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0TypeName
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ValueCountAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0Version
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0VersionControl
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0VersionNumber
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_0ZeroTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_10Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_10Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_10RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_10SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_10UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_11Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_11Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_11RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_11SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_11UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_12Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_12Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_12RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_12UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_13Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_13Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_13RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_13UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_14Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_14Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_14RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_14UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_15Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_15Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_15RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_15UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_16Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_16Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_16UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_17Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_17Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_17UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_18Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_18UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_19Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_19UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1AliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1BoolMatch
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1BooleanOperator
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1BulkOperation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1CollectionMode
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1CommonMinimumMatch
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1CompoundFormat
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1DateMathAnchor
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1DateMathModifier
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1DateRangeAggRange
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1DistanceType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1ExecutionHint
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1FSType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1FieldOrFields
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1GeoFilterType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1HighlightEncoder
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1HighlightSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1HighlightTag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1IndexAliasAction
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1IndexSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1InitialShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1MatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1Missing
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1NodeSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1NodeSelector
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1OpenCloseIndex
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1OptimizeBbox
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1PatternOrPatterns
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1RangeExecution
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1RegexpFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1RegexpFlags
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1ReplicaBounds
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1RestoreRenameToken
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1ScoreType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SearchType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SnapshotPattern
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SnapshotRepoConversionError
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SnapshotRepoPattern
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SnapshotRepoSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SnapshotSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SortMode
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SortOrder
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1SortSpec
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1Source
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1TermInclusion
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1ThreadPoolSize
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1ThreadPoolType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1ValueCountAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1VersionControl
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_1ZeroTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_20Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_20UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_21Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_21UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_22Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_22UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_23Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_23UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_24Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_24UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_25Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_25UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_26Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_26UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_27UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2BoolMatch
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2BulkOperation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2DateMathModifier
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2DateRangeAggRange
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2DistanceType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2ExecutionHint
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2HighlightSettings
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2InitialShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2Missing
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2NodeSelection
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2NodeSelector
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2RegexpFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2RegexpFlags
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2ReplicaBounds
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2RestoreRenameToken
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2ScoreType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2SearchType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2SortMode
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2Source
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2ThreadPoolType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_2VersionControl
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3BulkOperation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3ExecutionHint
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3InitialShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3NodeSelector
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3RegexpFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3ScoreType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3SearchType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3SortMode
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_3VersionControl
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4ExecutionHint
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4InitialShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4RegexpFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4SearchType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_4VersionControl
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5RegexpFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5SearchType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_5UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_6UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_7DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_7Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_7Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_7Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_7RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_7SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_7UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_8DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_8Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_8Interval
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_8Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_8RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_8SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_8UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_9Filter
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_9Query
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_9RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_9SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Constructor Database.Bloodhound.Types.C1_9UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1AliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1AllowLeadingWildcard
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1AnalyzeWildcard
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Analyzer
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1BoolMatch
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1BooleanOperator
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Boost
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1BoostTerms
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1BoostingQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1BoundTransportAddress
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1BuildHash
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1BulkOperation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Bytes
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CacheKey
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CacheName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CardinalityAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ClusterName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CollectionMode
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CommonMinimumMatch
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CompoundFormat
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1CutoffFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DateMathAnchor
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DateMathExpr
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DateMathModifier
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DateRangeAggRange
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DisableCoord
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Distance
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DistanceRange
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DistanceType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DocId
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DocVersion
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1DocumentParent
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1EnablePositionIncrements
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1EsAddress
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1EsError
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1EsProtocolException
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1EsResult
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1EsResultFound
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Exclude
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ExecutionHint
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Existence
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FSType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FieldDefinition
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FieldHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FieldName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FieldOrFields
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Filter
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FilterAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FilteredQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1From
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FullNodeId
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Fuzziness
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GeneratePhraseQueries
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GenericSnapshotRepoSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GeoBoundingBox
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GeoFilterType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GeoPoint
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GreaterThan
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GreaterThanD
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GreaterThanEq
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1GreaterThanEqD
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1HasChildQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1HasParentQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1HighlightEncoder
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1HighlightSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1HighlightTag
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Highlights
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Hit
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IgnoreTermFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Include
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexAlias
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexAliasAction
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexAliasCreate
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexAliasName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexAliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexAliasSummary
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexAliasesSummary
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexDocumentSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexOptimizationSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexSelection
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndexSettingsSummary
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1IndicesQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1InitialShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Interval
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1JVMBufferPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1JVMGCCollector
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1JVMGCStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1JVMMemoryPool
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1LatLon
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Lenient
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1LessThan
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1LessThanD
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1LessThanEq
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1LessThanEqD
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1LoadAvgs
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Locale
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1LowercaseExpanded
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MacAddress
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Mapping
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MappingField
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MappingName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MaxDocFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MaxExpansions
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MaxQueryTerms
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MaxWordLength
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MinDocFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MinWordLength
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MinimumMatch
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MinimumMatchHighLow
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MinimumTermFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Missing
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MissingAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NestedQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NetworkInterfaceName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeAttrName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeBreakersStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeFSStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeHTTPInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeHTTPStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeNetworkInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeNetworkInterface
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeSelection
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeSelector
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeTransportInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodesInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NodesStats
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NonPostings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1NullValue
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1OpenCloseIndex
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1OptimizeBbox
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PID
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Pattern
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PatternOrPatterns
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PercentMatch
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PhraseSlop
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PlainHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PluginName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PostingsHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PrefixLength
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1PrefixQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Query
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1QueryPath
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1QueryString
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RRGroupRefNum
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RangeExecution
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RangeQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Regexp
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RegexpFlag
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RegexpFlags
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RegexpQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ReplicaBounds
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ReplicaCount
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RestoreIndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RestoreRenamePattern
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RestoreRenameToken
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1RoutingValue
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ScoreType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Script
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ScrollId
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Search
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SearchAliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SearchHits
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SearchResult
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SearchType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ShardId
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ShardResult
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Size
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotNodeVerification
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotPattern
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotRepoConversionError
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotRepoName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotRepoPattern
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotRepoSelection
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotRepoType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotSelection
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SnapshotVerification
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SortMode
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SortOrder
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1SortSpec
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Source
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Status
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1StopWord
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1TemplateName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1TemplatePattern
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Term
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1TermInclusion
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1TermOrder
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ThreadPoolSize
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ThreadPoolType
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Tiebreaker
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1TypeName
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ValueCountAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1Version
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1VersionControl
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1VersionNumber
- Database.Bloodhound.Types: instance GHC.Generics.Datatype Database.Bloodhound.Types.D1ZeroTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic (Database.Bloodhound.Types.EsResult a)
- Database.Bloodhound.Types: instance GHC.Generics.Generic (Database.Bloodhound.Types.EsResultFound a)
- Database.Bloodhound.Types: instance GHC.Generics.Generic (Database.Bloodhound.Types.Hit a)
- Database.Bloodhound.Types: instance GHC.Generics.Generic (Database.Bloodhound.Types.SearchHits a)
- Database.Bloodhound.Types: instance GHC.Generics.Generic (Database.Bloodhound.Types.SearchResult a)
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Aggregation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.AliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.AllowLeadingWildcard
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.AnalyzeWildcard
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Analyzer
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.BoolMatch
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.BooleanOperator
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Boost
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.BoostTerms
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.BoostingQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.BoundTransportAddress
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.BuildHash
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.BulkOperation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Bytes
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CacheKey
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CacheName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CardinalityAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ClusterName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CollectionMode
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CommonMinimumMatch
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CompoundFormat
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.CutoffFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DateMathAnchor
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DateMathExpr
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DateMathModifier
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DateMathUnit
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DateRangeAggRange
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DisableCoord
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Distance
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DistanceRange
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DistanceType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DistanceUnit
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DocId
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.DocumentParent
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.EnablePositionIncrements
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.EsAddress
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.EsError
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.EsProtocolException
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Exclude
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ExecutionHint
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Existence
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FSType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FieldDefinition
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FieldHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FieldName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FieldOrFields
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FieldType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Filter
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FilterAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FilteredQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.From
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FullNodeId
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Fuzziness
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GeneratePhraseQueries
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GenericSnapshotRepoSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GeoBoundingBox
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GeoFilterType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GeoPoint
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GreaterThan
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GreaterThanD
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GreaterThanEq
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.GreaterThanEqD
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.HasChildQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.HasParentQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.HighlightEncoder
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.HighlightSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.HighlightTag
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Highlights
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IgnoreTermFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Include
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexAlias
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexAliasAction
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexAliasCreate
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexAliasName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexAliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexAliasSummary
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexAliasesSummary
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexDocumentSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexOptimizationSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexSelection
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndexSettingsSummary
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.IndicesQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.InitialShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Interval
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.JVMBufferPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.JVMGCCollector
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.JVMGCStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.JVMMemoryPool
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.LatLon
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Lenient
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.LessThan
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.LessThanD
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.LessThanEq
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.LessThanEqD
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.LoadAvgs
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Locale
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.LowercaseExpanded
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MacAddress
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Mapping
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MappingField
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MappingName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MaxDocFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MaxExpansions
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MaxQueryTerms
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MaxWordLength
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MinDocFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MinWordLength
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MinimumMatch
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MinimumMatchHighLow
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MinimumTermFrequency
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Missing
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MissingAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NestedQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NetworkInterfaceName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeAttrName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeBreakersStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeFSStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeHTTPInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeHTTPStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeNetworkInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeNetworkInterface
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeSelection
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeSelector
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeTransportInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodesInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NodesStats
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NonPostings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.NullValue
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.OpenCloseIndex
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.OptimizeBbox
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PID
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Pattern
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PatternOrPatterns
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PercentMatch
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PhraseSlop
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PlainHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PluginName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PostingsHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PrefixLength
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.PrefixQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Query
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.QueryPath
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.QueryString
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RRGroupRefNum
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RangeExecution
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RangeQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RangeValue
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Regexp
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RegexpFlag
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RegexpFlags
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RegexpQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ReplicaBounds
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ReplicaCount
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RestoreIndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RestoreRenamePattern
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RestoreRenameToken
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.RoutingValue
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ScoreType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Script
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ScrollId
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Search
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SearchAliasRouting
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SearchType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ShardCount
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ShardId
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ShardResult
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Size
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotNodeVerification
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotPattern
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotRepoConversionError
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotRepoName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotRepoPattern
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotRepoSelection
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotRepoType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotSelection
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotState
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SnapshotVerification
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SortMode
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SortOrder
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.SortSpec
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Source
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Status
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.StopWord
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.TemplateName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.TemplatePattern
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Term
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.TermInclusion
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.TermOrder
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ThreadPoolSize
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ThreadPoolType
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Tiebreaker
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.TypeName
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ValueCountAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.Version
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.VersionControl
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.VersionNumber
- Database.Bloodhound.Types: instance GHC.Generics.Generic Database.Bloodhound.Types.ZeroTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0BoostingQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0BoundTransportAddress
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0BuildHash
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0CardinalityAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0ClusterName
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Distance
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0DistanceRange
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0DocVersion
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0EsAddress
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0EsError
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0EsProtocolException
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0EsResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0EsResultFound
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FieldDefinition
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FilterAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FilteredQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FullNodeId
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0GenericSnapshotRepoSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0GeoBoundingBox
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0GeoPoint
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0HasChildQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0HasParentQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Highlights
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Hit
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexAlias
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexAliasCreate
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexAliasName
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexAliasSummary
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexAliasesSummary
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexDocumentSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexOptimizationSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndexSettingsSummary
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0IndicesQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0JVMBufferPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0JVMGCCollector
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0JVMGCStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0JVMMemoryPool
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0LatLon
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0LoadAvgs
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0MacAddress
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Mapping
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0MappingField
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0MinimumMatchHighLow
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0MissingAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NestedQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NetworkInterfaceName
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeBreakersStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeFSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeHTTPInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeHTTPStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeName
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeNetworkInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeNetworkInterface
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeTransportInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodesInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NodesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0NonPostings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0PID
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0PlainHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0PluginName
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0PrefixQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0RRGroupRefNum
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0RangeQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0RegexpQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0RestoreIndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0RestoreRenamePattern
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0RoutingValue
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Script
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SearchHits
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SearchResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0ShardId
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0ShardResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotName
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotNodeVerification
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotRepoName
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotRepoType
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0SnapshotVerification
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Status
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Term
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0TermOrder
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0Version
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_0VersionNumber
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_10Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_11QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_12QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_13NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_13NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_13NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_13NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_13NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_13NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_13NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_13QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_14NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_14NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_14NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_14NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_14NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_14NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_14NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_14QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_15NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_15NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_15NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_15NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_15NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_15NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_15QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_16NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_16NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_16NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_16NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_16NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_16QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_17NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_18NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_19NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1BoostingQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1BoundTransportAddress
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1CardinalityAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1Distance
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1DistanceRange
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1EsError
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1EsResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1EsResultFound
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1FilterAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1FilteredQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1GeoBoundingBox
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1GeoPoint
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1HasChildQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1HasParentQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1Highlights
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1Hit
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1IndexAlias
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1IndexAliasCreate
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1IndexAliasSummary
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1IndexDocumentSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1IndexOptimizationSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1IndexSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1IndexSettingsSummary
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1IndicesQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1JVMBufferPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1JVMGCStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1LatLon
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1LoadAvgs
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1Mapping
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1MappingField
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1MinimumMatchHighLow
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NestedQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeBreakersStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeFSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeHTTPInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeHTTPStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeNetworkInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeNetworkInterface
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeTransportInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodesInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NodesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1NonPostings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1PlainHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1PrefixQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1RangeQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1RegexpQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1SearchHits
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1SearchResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1ShardResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1SnapshotNodeVerification
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1Status
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1Term
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1TermOrder
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_1Version
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_20NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_21NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_22NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_23NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_24NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_25NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_26NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_27NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_28NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_29NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2BoostingQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2EsResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2HasChildQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2HasParentQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2Hit
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2IndexOptimizationSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2IndexSettingsSummary
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2IndicesQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2JVMBufferPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2LoadAvgs
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NestedQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeBreakersStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeFSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeNetworkInterface
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2PrefixQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2RangeQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2RegexpQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2SearchHits
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2SearchResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2ShardResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2Status
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_2Version
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_30NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_31NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_32NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_33NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_34NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_35NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_36NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_37NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_38NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_39NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3EsResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3Hit
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3RegexpQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3SearchResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3Status
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_3Version
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_40NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_41NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_42NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_43NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_44NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_45NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_46NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_47NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_48NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_49NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4Hit
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4SearchResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4Status
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_4Version
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_50NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_51NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_52NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_53NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_54NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_55NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_56NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_57NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_58NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_59NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5BoolQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5DefaultSort
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5Hit
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5SearchResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_5TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_60NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_61NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_62NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_63NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_64NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_65NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_66NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_67NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_68NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_69NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6CPUInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6CommonHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6DateRangeResult
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_6TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_7TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_8TermsAggregation
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9MatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeOSStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9Search
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Generics.Selector Database.Bloodhound.Types.S1_0_9TermsAggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Aggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.AliasRouting
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.AllowLeadingWildcard
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.AnalyzeWildcard
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Analyzer
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.BoolMatch
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.BoolQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.BooleanOperator
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Boost
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.BoostTerms
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.BoostingQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.BucketValue
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.BuildHash
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.BulkOperation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Bytes
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CacheKey
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CacheName
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CardinalityAggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CollectionMode
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CommonHighlight
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CommonMinimumMatch
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CompoundFormat
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.CutoffFrequency
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateHistogramResult
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateMathAnchor
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateMathExpr
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateMathModifier
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateMathUnit
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateRangeAggRange
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DateRangeResult
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DefaultSort
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DisableCoord
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Distance
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DistanceRange
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DistanceType
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DistanceUnit
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DocId
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.DocumentParent
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.EnablePositionIncrements
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.EsError
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.EsPassword
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.EsProtocolException
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.EsUsername
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Exclude
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ExecutionHint
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Existence
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FSType
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FieldDefinition
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FieldHighlight
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FieldName
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FieldOrFields
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FieldType
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Filter
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FilterAggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FilteredQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.From
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Fuzziness
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GeneratePhraseQueries
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GeoBoundingBox
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GeoFilterType
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GeoPoint
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GreaterThan
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GreaterThanD
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GreaterThanEq
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.GreaterThanEqD
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.HasChildQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.HasParentQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.HighlightEncoder
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.HighlightSettings
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.HighlightTag
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Highlights
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IgnoreTermFrequency
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Include
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexAlias
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexAliasAction
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexAliasCreate
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexAliasName
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexAliasRouting
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexAliasSummary
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexAliasesSummary
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexDocumentSettings
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexName
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndexSettings
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.IndicesQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.InitialShardCount
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Interval
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.LatLon
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Lenient
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.LessThan
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.LessThanD
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.LessThanEq
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.LessThanEqD
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Locale
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.LowercaseExpanded
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Mapping
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MappingField
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MappingName
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MatchQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MatchQueryType
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MaxDocFrequency
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MaxExpansions
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MaxQueryTerms
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MaxWordLength
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MinDocFrequency
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MinWordLength
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MinimumMatch
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MinimumMatchHighLow
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MinimumTermFrequency
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Missing
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MissingAggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.NestedQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.NodeAttrName
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.NonPostings
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.NullValue
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.OpenCloseIndex
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.OptimizeBbox
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Pattern
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.PatternOrPatterns
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.PercentMatch
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.PhraseSlop
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.PlainHighlight
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.PostingsHighlight
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.PrefixLength
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.PrefixQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Query
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.QueryPath
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.QueryString
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.RangeExecution
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.RangeQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.RangeValue
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Regexp
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.RegexpFlag
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.RegexpFlags
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.RegexpQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ReplicaBounds
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ReplicaCount
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.RoutingValue
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ScoreType
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Script
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ScrollId
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Search
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.SearchAliasRouting
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.SearchType
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ShardCount
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ShardResult
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Size
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.SortMode
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.SortOrder
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.SortSpec
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Source
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Status
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.StopWord
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.TemplateName
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.TemplatePattern
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Term
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.TermInclusion
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.TermOrder
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.TermsAggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.TermsResult
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Tiebreaker
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.TimeInterval
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.TypeName
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ValueCountAggregation
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.Version
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.VersionControl
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.VersionNumber
- Database.Bloodhound.Types: instance GHC.Read.Read Database.Bloodhound.Types.ZeroTermsQuery
- Database.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.Bloodhound.Types.Bucket a)
- Database.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.Bloodhound.Types.EsResult a)
- Database.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.Bloodhound.Types.EsResultFound a)
- Database.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.Bloodhound.Types.Hit a)
- Database.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.Bloodhound.Types.SearchHits a)
- Database.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.Bloodhound.Types.SearchResult a)
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Aggregation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.AliasRouting
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.AllocationPolicy
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.AllowLeadingWildcard
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.AnalyzeWildcard
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Analyzer
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BoolMatch
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BoolQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BooleanOperator
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Boost
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BoostTerms
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BoostingQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BoundTransportAddress
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BucketValue
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BuildHash
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.BulkOperation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Bytes
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CPUInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CacheKey
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CacheName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CardinalityAggregation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ClusterName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CollectionMode
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CommonHighlight
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CommonMinimumMatch
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CommonTermsQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CompoundFormat
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.CutoffFrequency
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateHistogramAggregation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateHistogramResult
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateMathAnchor
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateMathExpr
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateMathModifier
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateMathUnit
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateRangeAggRange
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateRangeAggregation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DateRangeResult
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DefaultSort
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DisMaxQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DisableCoord
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Distance
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DistanceRange
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DistanceType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DistanceUnit
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DocId
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DocVersion
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.DocumentParent
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.EnablePositionIncrements
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.EsAddress
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.EsError
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.EsPassword
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.EsProtocolException
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.EsUsername
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Exclude
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ExecutionHint
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Existence
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ExternalDocVersion
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FSType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FastVectorHighlight
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FieldDefinition
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FieldHighlight
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FieldName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FieldOrFields
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FieldType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Filter
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FilterAggregation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FilteredQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.From
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FsSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FullNodeId
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Fuzziness
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FuzzyLikeFieldQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FuzzyLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.FuzzyQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GeneratePhraseQueries
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GenericSnapshotRepo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GenericSnapshotRepoSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GeoBoundingBox
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GeoBoundingBoxConstraint
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GeoFilterType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GeoPoint
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GreaterThan
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GreaterThanD
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GreaterThanEq
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.GreaterThanEqD
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.HasChildQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.HasParentQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.HighlightEncoder
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.HighlightSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.HighlightTag
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Highlights
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IgnoreTermFrequency
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Include
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexAlias
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexAliasAction
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexAliasCreate
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexAliasName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexAliasRouting
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexAliasSummary
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexAliasesSummary
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexDocumentSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexOptimizationSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexSelection
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndexSettingsSummary
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.IndicesQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.InitialShardCount
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Interval
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.JVMBufferPoolStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.JVMGCCollector
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.JVMGCStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.JVMMemoryInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.JVMMemoryPool
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.JVMPoolStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.LatLon
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Lenient
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.LessThan
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.LessThanD
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.LessThanEq
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.LessThanEqD
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.LoadAvgs
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Locale
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.LowercaseExpanded
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MacAddress
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Mapping
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MappingField
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MappingName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MatchQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MatchQueryType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MaxDocFrequency
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MaxExpansions
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MaxQueryTerms
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MaxWordLength
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MinDocFrequency
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MinWordLength
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MinimumMatch
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MinimumMatchHighLow
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MinimumTermFrequency
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Missing
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MissingAggregation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MissingResult
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MoreLikeThisFieldQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MoreLikeThisQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MultiMatchQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.MultiMatchQueryType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NestedQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NetworkInterfaceName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeAttrFilter
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeAttrName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeBreakerStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeBreakersStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeDataPathStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeFSStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeFSTotalStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeHTTPInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeHTTPStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeIndicesStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeJVMInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeJVMStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeNetworkInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeNetworkInterface
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeNetworkStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeOSInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeOSStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodePluginInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeProcessInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeProcessStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeSelection
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeSelector
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeThreadPoolInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeThreadPoolStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeThreadPoolsInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeThreadPoolsStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeTransportInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodeTransportStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodesInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NodesStats
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NonPostings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.NullValue
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.OpenCloseIndex
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.OptimizeBbox
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PID
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Pattern
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PatternOrPatterns
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PercentMatch
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PhraseSlop
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PlainHighlight
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PluginName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PostingsHighlight
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PrefixLength
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.PrefixQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Query
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.QueryPath
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.QueryString
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.QueryStringQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RRGroupRefNum
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RangeExecution
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RangeQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RangeValue
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Regexp
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RegexpFlag
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RegexpFlags
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RegexpQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ReplicaBounds
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ReplicaCount
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RestoreIndexSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RestoreRenamePattern
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RestoreRenameToken
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.RoutingValue
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ScoreType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Script
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ScrollId
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Search
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SearchAliasRouting
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SearchType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ShardCount
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ShardId
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ShardResult
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SimpleQueryFlag
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SimpleQueryStringQuery
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Size
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotCreateSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotInfo
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotNodeVerification
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotPattern
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotRepoConversionError
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotRepoName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotRepoPattern
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotRepoSelection
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotRepoType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotRepoUpdateSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotRestoreSettings
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotSelection
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotShardFailure
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotState
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SnapshotVerification
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SortMode
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SortOrder
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.SortSpec
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Source
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Status
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.StopWord
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.TemplateName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.TemplatePattern
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Term
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.TermInclusion
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.TermOrder
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.TermsAggregation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.TermsResult
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ThreadPoolSize
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ThreadPoolType
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Tiebreaker
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.TimeInterval
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.TypeName
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.UpdatableIndexSetting
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ValueCountAggregation
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.Version
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.VersionControl
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.VersionNumber
- Database.Bloodhound.Types: instance GHC.Show.Show Database.Bloodhound.Types.ZeroTermsQuery
- Database.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.Bloodhound.Types.Bucket a)
- Database.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.Bloodhound.Types.EsResult a)
- Database.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.Bloodhound.Types.EsResultFound a)
- Database.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.Bloodhound.Types.Hit a)
- Database.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.Bloodhound.Types.MaybeNA a)
- Database.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.Bloodhound.Types.SearchHits a)
- Database.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.Bloodhound.Types.SearchResult a)
- Database.Bloodhound.Types: key :: BucketAggregation a => a -> BucketValue
- Database.Bloodhound.Types: kilobytes :: Int -> Bytes
- Database.Bloodhound.Types: mappend :: Monoid a => a -> a -> a
- Database.Bloodhound.Types: mconcat :: Monoid a => [a] -> a
- Database.Bloodhound.Types: megabytes :: Int -> Bytes
- Database.Bloodhound.Types: mempty :: Monoid a => a
- Database.Bloodhound.Types: mkAggregations :: Text -> Aggregation -> Aggregations
- Database.Bloodhound.Types: mkBHEnv :: Server -> Manager -> BHEnv
- Database.Bloodhound.Types: mkBoolQuery :: [Query] -> [Query] -> [Query] -> BoolQuery
- Database.Bloodhound.Types: mkCardinalityAggregation :: FieldName -> CardinalityAggregation
- Database.Bloodhound.Types: mkDateHistogram :: FieldName -> Interval -> DateHistogramAggregation
- Database.Bloodhound.Types: mkDocVersion :: Int -> Maybe DocVersion
- Database.Bloodhound.Types: mkMatchQuery :: FieldName -> QueryString -> MatchQuery
- Database.Bloodhound.Types: mkMultiMatchQuery :: [FieldName] -> QueryString -> MultiMatchQuery
- Database.Bloodhound.Types: mkQueryStringQuery :: QueryString -> QueryStringQuery
- Database.Bloodhound.Types: mkRRGroupRefNum :: Int -> Maybe RRGroupRefNum
- Database.Bloodhound.Types: mkRangeQuery :: FieldName -> RangeValue -> RangeQuery
- Database.Bloodhound.Types: mkSort :: FieldName -> SortOrder -> DefaultSort
- Database.Bloodhound.Types: mkTermsAggregation :: Text -> TermsAggregation
- Database.Bloodhound.Types: mkTermsScriptAggregation :: Text -> TermsAggregation
- Database.Bloodhound.Types: newtype AllowLeadingWildcard
- Database.Bloodhound.Types: newtype AnalyzeWildcard
- Database.Bloodhound.Types: newtype Analyzer
- Database.Bloodhound.Types: newtype BH m a
- Database.Bloodhound.Types: newtype Boost
- Database.Bloodhound.Types: newtype BoostTerms
- Database.Bloodhound.Types: newtype BuildHash
- Database.Bloodhound.Types: newtype Bytes
- Database.Bloodhound.Types: newtype CacheKey
- Database.Bloodhound.Types: newtype CacheName
- Database.Bloodhound.Types: newtype ClusterName
- Database.Bloodhound.Types: newtype CutoffFrequency
- Database.Bloodhound.Types: newtype DisableCoord
- Database.Bloodhound.Types: newtype DocId
- Database.Bloodhound.Types: newtype DocumentParent
- Database.Bloodhound.Types: newtype EnablePositionIncrements
- Database.Bloodhound.Types: newtype EsAddress
- Database.Bloodhound.Types: newtype EsPassword
- Database.Bloodhound.Types: newtype EsUsername
- Database.Bloodhound.Types: newtype Existence
- Database.Bloodhound.Types: newtype ExternalDocVersion
- Database.Bloodhound.Types: newtype FieldName
- Database.Bloodhound.Types: newtype From
- Database.Bloodhound.Types: newtype FullNodeId
- Database.Bloodhound.Types: newtype Fuzziness
- Database.Bloodhound.Types: newtype GeneratePhraseQueries
- Database.Bloodhound.Types: newtype GenericSnapshotRepoSettings
- Database.Bloodhound.Types: newtype GreaterThan
- Database.Bloodhound.Types: newtype GreaterThanD
- Database.Bloodhound.Types: newtype GreaterThanEq
- Database.Bloodhound.Types: newtype GreaterThanEqD
- Database.Bloodhound.Types: newtype IgnoreTermFrequency
- Database.Bloodhound.Types: newtype IndexAliasName
- Database.Bloodhound.Types: newtype IndexAliasRouting
- Database.Bloodhound.Types: newtype IndexAliasesSummary
- Database.Bloodhound.Types: newtype IndexName
- Database.Bloodhound.Types: newtype JVMGCCollector
- Database.Bloodhound.Types: newtype JVMMemoryPool
- Database.Bloodhound.Types: newtype Lenient
- Database.Bloodhound.Types: newtype LessThan
- Database.Bloodhound.Types: newtype LessThanD
- Database.Bloodhound.Types: newtype LessThanEq
- Database.Bloodhound.Types: newtype LessThanEqD
- Database.Bloodhound.Types: newtype Locale
- Database.Bloodhound.Types: newtype LowercaseExpanded
- Database.Bloodhound.Types: newtype MacAddress
- Database.Bloodhound.Types: newtype MappingName
- Database.Bloodhound.Types: newtype MaxDocFrequency
- Database.Bloodhound.Types: newtype MaxExpansions
- Database.Bloodhound.Types: newtype MaxQueryTerms
- Database.Bloodhound.Types: newtype MaxWordLength
- Database.Bloodhound.Types: newtype MaybeNA a
- Database.Bloodhound.Types: newtype MinDocFrequency
- Database.Bloodhound.Types: newtype MinWordLength
- Database.Bloodhound.Types: newtype MinimumMatch
- Database.Bloodhound.Types: newtype MinimumTermFrequency
- Database.Bloodhound.Types: newtype NetworkInterfaceName
- Database.Bloodhound.Types: newtype NodeAttrName
- Database.Bloodhound.Types: newtype NodeName
- Database.Bloodhound.Types: newtype NullValue
- Database.Bloodhound.Types: newtype PID
- Database.Bloodhound.Types: newtype Pattern
- Database.Bloodhound.Types: newtype PercentMatch
- Database.Bloodhound.Types: newtype PhraseSlop
- Database.Bloodhound.Types: newtype PluginName
- Database.Bloodhound.Types: newtype PrefixLength
- Database.Bloodhound.Types: newtype QueryPath
- Database.Bloodhound.Types: newtype QueryString
- Database.Bloodhound.Types: newtype Regexp
- Database.Bloodhound.Types: newtype ReplicaCount
- Database.Bloodhound.Types: newtype RestoreRenamePattern
- Database.Bloodhound.Types: newtype RoutingValue
- Database.Bloodhound.Types: newtype Script
- Database.Bloodhound.Types: newtype ScrollId
- Database.Bloodhound.Types: newtype SearchAliasRouting
- Database.Bloodhound.Types: newtype Server
- Database.Bloodhound.Types: newtype ShardCount
- Database.Bloodhound.Types: newtype ShardId
- Database.Bloodhound.Types: newtype Size
- Database.Bloodhound.Types: newtype SnapshotName
- Database.Bloodhound.Types: newtype SnapshotRepoName
- Database.Bloodhound.Types: newtype SnapshotRepoType
- Database.Bloodhound.Types: newtype SnapshotVerification
- Database.Bloodhound.Types: newtype StopWord
- Database.Bloodhound.Types: newtype TemplateName
- Database.Bloodhound.Types: newtype TemplatePattern
- Database.Bloodhound.Types: newtype Tiebreaker
- Database.Bloodhound.Types: newtype TypeName
- Database.Bloodhound.Types: newtype VersionNumber
- Database.Bloodhound.Types: omitNulls :: [(Text, Value)] -> Value
- Database.Bloodhound.Types: rrGroupRefNum :: RRGroupRefNum -> Int
- Database.Bloodhound.Types: runBH :: BHEnv -> BH m a -> m a
- Database.Bloodhound.Types: showText :: Show a => a -> Text
- Database.Bloodhound.Types: toDateHistogram :: Text -> AggregationResults -> Maybe (Bucket DateHistogramResult)
- Database.Bloodhound.Types: toEncoding :: ToJSON a => a -> Encoding
- Database.Bloodhound.Types: toEncodingList :: ToJSON a => [a] -> Encoding
- Database.Bloodhound.Types: toGSnapshotRepo :: SnapshotRepo r => r -> GenericSnapshotRepo
- Database.Bloodhound.Types: toJSON :: ToJSON a => a -> Value
- Database.Bloodhound.Types: toJSONList :: ToJSON a => [a] -> Value
- Database.Bloodhound.Types: toMissing :: Text -> AggregationResults -> Maybe MissingResult
- Database.Bloodhound.Types: toTerms :: Text -> AggregationResults -> Maybe (Bucket TermsResult)
- Database.Bloodhound.Types: type AggregationResults = Map Text Value
- Database.Bloodhound.Types: type Aggregations = Map Text Aggregation
- Database.Bloodhound.Types: type Cache = Bool
- Database.Bloodhound.Types: type HitHighlight = Map Text [Text]
- Database.Bloodhound.Types: type Method = Method
- Database.Bloodhound.Types: type Reply = Response ByteString
- Database.Bloodhound.Types: type Score = Maybe Double
- Database.Bloodhound.Types: type Sort = [SortSpec]
- Database.Bloodhound.Types: type TrackSortScores = Bool
- Database.Bloodhound.Types: unpackId :: DocId -> Text
- Database.Bloodhound.Types.Class: (<&&>) :: Seminearring a => a -> a -> a
- Database.Bloodhound.Types.Class: (<||>) :: Seminearring a => a -> a -> a
- Database.Bloodhound.Types.Class: class Monoid a => Seminearring a where (<&&>) = mappend
- Database.Bloodhound.Types.Internal: BHEnv :: Server -> Manager -> (Request -> IO Request) -> BHEnv
- Database.Bloodhound.Types.Internal: Server :: Text -> Server
- Database.Bloodhound.Types.Internal: [bhManager] :: BHEnv -> Manager
- Database.Bloodhound.Types.Internal: [bhRequestHook] :: BHEnv -> Request -> IO Request
- Database.Bloodhound.Types.Internal: [bhServer] :: BHEnv -> Server
- Database.Bloodhound.Types.Internal: class (Functor m, Applicative m, MonadIO m) => MonadBH m
- Database.Bloodhound.Types.Internal: data BHEnv
- Database.Bloodhound.Types.Internal: getBHEnv :: MonadBH m => m BHEnv
- Database.Bloodhound.Types.Internal: instance (GHC.Base.Functor m, GHC.Base.Applicative m, Control.Monad.IO.Class.MonadIO m) => Database.Bloodhound.Types.Internal.MonadBH (Control.Monad.Trans.Reader.ReaderT Database.Bloodhound.Types.Internal.BHEnv m)
- Database.Bloodhound.Types.Internal: instance Data.Aeson.Types.FromJSON.FromJSON Database.Bloodhound.Types.Internal.Server
- Database.Bloodhound.Types.Internal: instance GHC.Classes.Eq Database.Bloodhound.Types.Internal.Server
- Database.Bloodhound.Types.Internal: instance GHC.Generics.Constructor Database.Bloodhound.Types.Internal.C1_0Server
- Database.Bloodhound.Types.Internal: instance GHC.Generics.Datatype Database.Bloodhound.Types.Internal.D1Server
- Database.Bloodhound.Types.Internal: instance GHC.Generics.Generic Database.Bloodhound.Types.Internal.Server
- Database.Bloodhound.Types.Internal: instance GHC.Show.Show Database.Bloodhound.Types.Internal.Server
- Database.Bloodhound.Types.Internal: newtype Server
+ Database.V1.Bloodhound.Client: advanceScroll :: (FromJSON a, MonadBH m, MonadThrow m) => ScrollId -> NominalDiffTime -> m (Either EsError (SearchResult a))
+ Database.V1.Bloodhound.Client: basicAuthHook :: Monad m => EsUsername -> EsPassword -> Request -> m Request
+ Database.V1.Bloodhound.Client: bulk :: MonadBH m => Vector BulkOperation -> m Reply
+ Database.V1.Bloodhound.Client: closeIndex :: MonadBH m => IndexName -> m Reply
+ Database.V1.Bloodhound.Client: createIndex :: MonadBH m => IndexSettings -> IndexName -> m Reply
+ Database.V1.Bloodhound.Client: createSnapshot :: (MonadBH m) => SnapshotRepoName -> SnapshotName -> SnapshotCreateSettings -> m Reply
+ Database.V1.Bloodhound.Client: deleteDocument :: MonadBH m => IndexName -> MappingName -> DocId -> m Reply
+ Database.V1.Bloodhound.Client: deleteIndex :: MonadBH m => IndexName -> m Reply
+ Database.V1.Bloodhound.Client: deleteMapping :: MonadBH m => IndexName -> MappingName -> m Reply
+ Database.V1.Bloodhound.Client: deleteSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> m Reply
+ Database.V1.Bloodhound.Client: deleteSnapshotRepo :: MonadBH m => SnapshotRepoName -> m Reply
+ Database.V1.Bloodhound.Client: deleteTemplate :: MonadBH m => TemplateName -> m Reply
+ Database.V1.Bloodhound.Client: documentExists :: MonadBH m => IndexName -> MappingName -> Maybe DocumentParent -> DocId -> m Bool
+ Database.V1.Bloodhound.Client: encodeBulkOperation :: BulkOperation -> ByteString
+ Database.V1.Bloodhound.Client: encodeBulkOperations :: Vector BulkOperation -> ByteString
+ Database.V1.Bloodhound.Client: getDocument :: MonadBH m => IndexName -> MappingName -> DocId -> m Reply
+ Database.V1.Bloodhound.Client: getIndexAliases :: (MonadBH m, MonadThrow m) => m (Either EsError IndexAliasesSummary)
+ Database.V1.Bloodhound.Client: getIndexSettings :: (MonadBH m, MonadThrow m) => IndexName -> m (Either EsError IndexSettingsSummary)
+ Database.V1.Bloodhound.Client: getInitialScroll :: MonadBH m => IndexName -> MappingName -> Search -> m (Maybe ScrollId)
+ Database.V1.Bloodhound.Client: getNodesInfo :: (MonadBH m, MonadThrow m) => NodeSelection -> m (Either EsError NodesInfo)
+ Database.V1.Bloodhound.Client: getNodesStats :: (MonadBH m, MonadThrow m) => NodeSelection -> m (Either EsError NodesStats)
+ Database.V1.Bloodhound.Client: getSnapshotRepos :: (MonadBH m, MonadThrow m) => SnapshotRepoSelection -> m (Either EsError [GenericSnapshotRepo])
+ Database.V1.Bloodhound.Client: getSnapshots :: (MonadBH m, MonadThrow m) => SnapshotRepoName -> SnapshotSelection -> m (Either EsError [SnapshotInfo])
+ Database.V1.Bloodhound.Client: getStatus :: MonadBH m => m (Maybe Status)
+ Database.V1.Bloodhound.Client: indexDocument :: (ToJSON doc, MonadBH m) => IndexName -> MappingName -> IndexDocumentSettings -> doc -> DocId -> m Reply
+ Database.V1.Bloodhound.Client: indexExists :: MonadBH m => IndexName -> m Bool
+ Database.V1.Bloodhound.Client: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Client.GSRs
+ Database.V1.Bloodhound.Client: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Client.SIs
+ Database.V1.Bloodhound.Client: isCreated :: Reply -> Bool
+ Database.V1.Bloodhound.Client: isSuccess :: Reply -> Bool
+ Database.V1.Bloodhound.Client: isVersionConflict :: Reply -> Bool
+ Database.V1.Bloodhound.Client: listIndices :: (MonadThrow m, MonadBH m) => m [IndexName]
+ Database.V1.Bloodhound.Client: mkAggregateSearch :: Maybe Query -> Aggregations -> Search
+ Database.V1.Bloodhound.Client: mkHighlightSearch :: Maybe Query -> Highlights -> Search
+ Database.V1.Bloodhound.Client: mkReplicaCount :: Int -> Maybe ReplicaCount
+ Database.V1.Bloodhound.Client: mkSearch :: Maybe Query -> Maybe Filter -> Search
+ Database.V1.Bloodhound.Client: mkShardCount :: Int -> Maybe ShardCount
+ Database.V1.Bloodhound.Client: openIndex :: MonadBH m => IndexName -> m Reply
+ Database.V1.Bloodhound.Client: optimizeIndex :: MonadBH m => IndexSelection -> IndexOptimizationSettings -> m Reply
+ Database.V1.Bloodhound.Client: pageSearch :: From -> Size -> Search -> Search
+ Database.V1.Bloodhound.Client: parseEsResponse :: (MonadThrow m, FromJSON a) => Reply -> m (Either EsError a)
+ Database.V1.Bloodhound.Client: putMapping :: (MonadBH m, ToJSON a) => IndexName -> MappingName -> a -> m Reply
+ Database.V1.Bloodhound.Client: putTemplate :: MonadBH m => IndexTemplate -> TemplateName -> m Reply
+ Database.V1.Bloodhound.Client: refreshIndex :: MonadBH m => IndexName -> m Reply
+ Database.V1.Bloodhound.Client: restoreSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> SnapshotRestoreSettings -> m Reply
+ Database.V1.Bloodhound.Client: scanSearch :: (FromJSON a, MonadBH m, MonadThrow m) => IndexName -> MappingName -> Search -> m [Hit a]
+ Database.V1.Bloodhound.Client: searchAll :: MonadBH m => Search -> m Reply
+ Database.V1.Bloodhound.Client: searchByIndex :: MonadBH m => IndexName -> Search -> m Reply
+ Database.V1.Bloodhound.Client: searchByType :: MonadBH m => IndexName -> MappingName -> Search -> m Reply
+ Database.V1.Bloodhound.Client: templateExists :: MonadBH m => TemplateName -> m Bool
+ Database.V1.Bloodhound.Client: updateDocument :: (ToJSON patch, MonadBH m) => IndexName -> MappingName -> IndexDocumentSettings -> patch -> DocId -> m Reply
+ Database.V1.Bloodhound.Client: updateIndexAliases :: MonadBH m => NonEmpty IndexAliasAction -> m Reply
+ Database.V1.Bloodhound.Client: updateIndexSettings :: MonadBH m => NonEmpty UpdatableIndexSetting -> IndexName -> m Reply
+ Database.V1.Bloodhound.Client: updateSnapshotRepo :: (MonadBH m, SnapshotRepo repo) => SnapshotRepoUpdateSettings -> repo -> m Reply
+ Database.V1.Bloodhound.Client: verifySnapshotRepo :: (MonadBH m, MonadThrow m) => SnapshotRepoName -> m (Either EsError SnapshotVerification)
+ Database.V1.Bloodhound.Client: waitForYellowIndex :: MonadBH m => IndexName -> m Reply
+ Database.V1.Bloodhound.Client: withBH :: ManagerSettings -> Server -> BH IO a -> IO a
+ Database.V1.Bloodhound.Types: (<&&>) :: Seminearring a => a -> a -> a
+ Database.V1.Bloodhound.Types: (<||>) :: Seminearring a => a -> a -> a
+ Database.V1.Bloodhound.Types: AddAlias :: IndexAlias -> IndexAliasCreate -> IndexAliasAction
+ Database.V1.Bloodhound.Types: AddTime :: Int -> DateMathUnit -> DateMathModifier
+ Database.V1.Bloodhound.Types: AllAliasRouting :: RoutingValue -> AliasRouting
+ Database.V1.Bloodhound.Types: AllIndexes :: IndexSelection
+ Database.V1.Bloodhound.Types: AllNodes :: NodeSelection
+ Database.V1.Bloodhound.Types: AllRegexpFlags :: RegexpFlags
+ Database.V1.Bloodhound.Types: AllSnapshotRepos :: SnapshotRepoSelection
+ Database.V1.Bloodhound.Types: AllSnapshots :: SnapshotSelection
+ Database.V1.Bloodhound.Types: AllocAll :: AllocationPolicy
+ Database.V1.Bloodhound.Types: AllocNewPrimaries :: AllocationPolicy
+ Database.V1.Bloodhound.Types: AllocNone :: AllocationPolicy
+ Database.V1.Bloodhound.Types: AllocPrimaries :: AllocationPolicy
+ Database.V1.Bloodhound.Types: AllowLeadingWildcard :: Bool -> AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: AnalyzeWildcard :: Bool -> AnalyzeWildcard
+ Database.V1.Bloodhound.Types: Analyzer :: Text -> Analyzer
+ Database.V1.Bloodhound.Types: And :: BooleanOperator
+ Database.V1.Bloodhound.Types: AndFilter :: [Filter] -> Cache -> Filter
+ Database.V1.Bloodhound.Types: AnyString :: RegexpFlag
+ Database.V1.Bloodhound.Types: Arc :: DistanceType
+ Database.V1.Bloodhound.Types: Ascending :: SortOrder
+ Database.V1.Bloodhound.Types: AutoExpandReplicas :: ReplicaBounds -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: Automaton :: RegexpFlag
+ Database.V1.Bloodhound.Types: BH :: ReaderT BHEnv m a -> BH m a
+ Database.V1.Bloodhound.Types: BlocksMetaData :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: BlocksRead :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: BlocksReadOnly :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: BlocksWrite :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: BoolFilter :: BoolMatch -> Filter
+ Database.V1.Bloodhound.Types: BoolQuery :: [Query] -> [Query] -> [Query] -> Maybe MinimumMatch -> Maybe Boost -> Maybe DisableCoord -> BoolQuery
+ Database.V1.Bloodhound.Types: BoolValue :: Bool -> BucketValue
+ Database.V1.Bloodhound.Types: Boost :: Double -> Boost
+ Database.V1.Bloodhound.Types: BoostTerms :: Double -> BoostTerms
+ Database.V1.Bloodhound.Types: BoostingQuery :: Query -> Query -> Boost -> BoostingQuery
+ Database.V1.Bloodhound.Types: BoundTransportAddress :: EsAddress -> EsAddress -> BoundTransportAddress
+ Database.V1.Bloodhound.Types: BreadthFirst :: CollectionMode
+ Database.V1.Bloodhound.Types: Bucket :: [a] -> Bucket a
+ Database.V1.Bloodhound.Types: BuildHash :: Text -> BuildHash
+ Database.V1.Bloodhound.Types: BulkCreate :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
+ Database.V1.Bloodhound.Types: BulkDelete :: IndexName -> MappingName -> DocId -> BulkOperation
+ Database.V1.Bloodhound.Types: BulkIndex :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
+ Database.V1.Bloodhound.Types: BulkUpdate :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
+ Database.V1.Bloodhound.Types: Bytes :: Int -> Bytes
+ Database.V1.Bloodhound.Types: CPUInfo :: Bytes -> Int -> Int -> Int -> Int -> Text -> Text -> CPUInfo
+ Database.V1.Bloodhound.Types: CacheFilterExpire :: (Maybe NominalDiffTime) -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: CacheFilterMaxSize :: (Maybe Bytes) -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: CacheKey :: Text -> CacheKey
+ Database.V1.Bloodhound.Types: CacheName :: Text -> CacheName
+ Database.V1.Bloodhound.Types: CardinalityAgg :: CardinalityAggregation -> Aggregation
+ Database.V1.Bloodhound.Types: CardinalityAggregation :: FieldName -> Maybe Int -> CardinalityAggregation
+ Database.V1.Bloodhound.Types: Centimeters :: DistanceUnit
+ Database.V1.Bloodhound.Types: CloseIndex :: OpenCloseIndex
+ Database.V1.Bloodhound.Types: ClusterName :: Text -> ClusterName
+ Database.V1.Bloodhound.Types: CommonHighlight :: Maybe Text -> Maybe Bool -> Maybe HighlightTag -> Maybe HighlightEncoder -> Maybe Int -> Maybe Query -> Maybe Bool -> CommonHighlight
+ Database.V1.Bloodhound.Types: CommonMinimumMatch :: MinimumMatch -> CommonMinimumMatch
+ Database.V1.Bloodhound.Types: CommonMinimumMatchHighLow :: MinimumMatchHighLow -> CommonMinimumMatch
+ Database.V1.Bloodhound.Types: CommonTermsQuery :: FieldName -> QueryString -> CutoffFrequency -> BooleanOperator -> BooleanOperator -> Maybe CommonMinimumMatch -> Maybe Boost -> Maybe Analyzer -> Maybe DisableCoord -> CommonTermsQuery
+ Database.V1.Bloodhound.Types: Complement :: RegexpFlag
+ Database.V1.Bloodhound.Types: CompoundFileFormat :: Bool -> CompoundFormat
+ Database.V1.Bloodhound.Types: ConstantScoreFilter :: Filter -> Boost -> Query
+ Database.V1.Bloodhound.Types: ConstantScoreQuery :: Query -> Boost -> Query
+ Database.V1.Bloodhound.Types: CustomMissing :: Text -> Missing
+ Database.V1.Bloodhound.Types: CustomTags :: ([Text], [Text]) -> HighlightTag
+ Database.V1.Bloodhound.Types: CutoffFrequency :: Double -> CutoffFrequency
+ Database.V1.Bloodhound.Types: DMDate :: Day -> DateMathAnchor
+ Database.V1.Bloodhound.Types: DMDay :: DateMathUnit
+ Database.V1.Bloodhound.Types: DMHour :: DateMathUnit
+ Database.V1.Bloodhound.Types: DMMinute :: DateMathUnit
+ Database.V1.Bloodhound.Types: DMMonth :: DateMathUnit
+ Database.V1.Bloodhound.Types: DMNow :: DateMathAnchor
+ Database.V1.Bloodhound.Types: DMSecond :: DateMathUnit
+ Database.V1.Bloodhound.Types: DMWeek :: DateMathUnit
+ Database.V1.Bloodhound.Types: DMYear :: DateMathUnit
+ Database.V1.Bloodhound.Types: DateHistogramAgg :: DateHistogramAggregation -> Aggregation
+ Database.V1.Bloodhound.Types: DateHistogramAggregation :: FieldName -> Interval -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Aggregations -> DateHistogramAggregation
+ Database.V1.Bloodhound.Types: DateHistogramResult :: Int -> Maybe Text -> Int -> Maybe AggregationResults -> DateHistogramResult
+ Database.V1.Bloodhound.Types: DateMathExpr :: DateMathAnchor -> [DateMathModifier] -> DateMathExpr
+ Database.V1.Bloodhound.Types: DateRangeAgg :: DateRangeAggregation -> Aggregation
+ Database.V1.Bloodhound.Types: DateRangeAggregation :: FieldName -> Maybe Text -> NonEmpty DateRangeAggRange -> DateRangeAggregation
+ Database.V1.Bloodhound.Types: DateRangeFrom :: DateMathExpr -> DateRangeAggRange
+ Database.V1.Bloodhound.Types: DateRangeFromAndTo :: DateMathExpr -> DateMathExpr -> DateRangeAggRange
+ Database.V1.Bloodhound.Types: DateRangeResult :: Text -> Maybe UTCTime -> Maybe Text -> Maybe UTCTime -> Maybe Text -> Int -> Maybe AggregationResults -> DateRangeResult
+ Database.V1.Bloodhound.Types: DateRangeTo :: DateMathExpr -> DateRangeAggRange
+ Database.V1.Bloodhound.Types: Day :: Interval
+ Database.V1.Bloodhound.Types: Days :: TimeInterval
+ Database.V1.Bloodhound.Types: DefaultEncoder :: HighlightEncoder
+ Database.V1.Bloodhound.Types: DefaultSort :: FieldName -> SortOrder -> Bool -> Maybe SortMode -> Maybe Missing -> Maybe Filter -> DefaultSort
+ Database.V1.Bloodhound.Types: DefaultSortSpec :: DefaultSort -> SortSpec
+ Database.V1.Bloodhound.Types: DepthFirst :: CollectionMode
+ Database.V1.Bloodhound.Types: Descending :: SortOrder
+ Database.V1.Bloodhound.Types: DisMaxQuery :: [Query] -> Tiebreaker -> Maybe Boost -> DisMaxQuery
+ Database.V1.Bloodhound.Types: DisableCoord :: Bool -> DisableCoord
+ Database.V1.Bloodhound.Types: Distance :: Double -> DistanceUnit -> Distance
+ Database.V1.Bloodhound.Types: DistanceRange :: Distance -> Distance -> DistanceRange
+ Database.V1.Bloodhound.Types: DocId :: Text -> DocId
+ Database.V1.Bloodhound.Types: DocumentParent :: DocId -> DocumentParent
+ Database.V1.Bloodhound.Types: Empty :: RegexpFlag
+ Database.V1.Bloodhound.Types: EnablePositionIncrements :: Bool -> EnablePositionIncrements
+ Database.V1.Bloodhound.Types: EsAddress :: Text -> EsAddress
+ Database.V1.Bloodhound.Types: EsError :: Int -> Text -> EsError
+ Database.V1.Bloodhound.Types: EsPassword :: Text -> EsPassword
+ Database.V1.Bloodhound.Types: EsProtocolException :: ByteString -> EsProtocolException
+ Database.V1.Bloodhound.Types: EsResult :: Text -> Text -> Text -> Maybe (EsResultFound a) -> EsResult a
+ Database.V1.Bloodhound.Types: EsResultFound :: DocVersion -> a -> EsResultFound a
+ Database.V1.Bloodhound.Types: EsUsername :: Text -> EsUsername
+ Database.V1.Bloodhound.Types: ExactRepo :: SnapshotRepoName -> SnapshotRepoPattern
+ Database.V1.Bloodhound.Types: ExactSnap :: SnapshotName -> SnapshotPattern
+ Database.V1.Bloodhound.Types: Exclude :: [Pattern] -> Exclude
+ Database.V1.Bloodhound.Types: Existence :: Bool -> Existence
+ Database.V1.Bloodhound.Types: ExistsFilter :: FieldName -> Filter
+ Database.V1.Bloodhound.Types: ExplicitShards :: Int -> InitialShardCount
+ Database.V1.Bloodhound.Types: ExternalDocVersion :: DocVersion -> ExternalDocVersion
+ Database.V1.Bloodhound.Types: ExternalGT :: ExternalDocVersion -> VersionControl
+ Database.V1.Bloodhound.Types: ExternalGTE :: ExternalDocVersion -> VersionControl
+ Database.V1.Bloodhound.Types: FSBuffered :: FSType
+ Database.V1.Bloodhound.Types: FSSimple :: FSType
+ Database.V1.Bloodhound.Types: FailOnMergeFailure :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: FastVector :: FastVectorHighlight -> HighlightSettings
+ Database.V1.Bloodhound.Types: FastVectorHighlight :: Maybe CommonHighlight -> Maybe NonPostings -> Maybe Text -> Maybe Int -> Maybe Int -> [Text] -> Maybe Int -> FastVectorHighlight
+ Database.V1.Bloodhound.Types: Feet :: DistanceUnit
+ Database.V1.Bloodhound.Types: FieldDefinition :: FieldType -> FieldDefinition
+ Database.V1.Bloodhound.Types: FieldHighlight :: FieldName -> (Maybe HighlightSettings) -> FieldHighlight
+ Database.V1.Bloodhound.Types: FieldName :: Text -> FieldName
+ Database.V1.Bloodhound.Types: FieldValueCount :: FieldName -> ValueCountAggregation
+ Database.V1.Bloodhound.Types: FilterAgg :: FilterAggregation -> Aggregation
+ Database.V1.Bloodhound.Types: FilterAggregation :: Filter -> Maybe Aggregations -> FilterAggregation
+ Database.V1.Bloodhound.Types: FilteredQuery :: Query -> Filter -> FilteredQuery
+ Database.V1.Bloodhound.Types: FirstMissing :: Missing
+ Database.V1.Bloodhound.Types: FofField :: FieldName -> FieldOrFields
+ Database.V1.Bloodhound.Types: FofFields :: (NonEmpty FieldName) -> FieldOrFields
+ Database.V1.Bloodhound.Types: ForceVersion :: ExternalDocVersion -> VersionControl
+ Database.V1.Bloodhound.Types: FractionalInterval :: Float -> TimeInterval -> Interval
+ Database.V1.Bloodhound.Types: From :: Int -> From
+ Database.V1.Bloodhound.Types: FsSnapshotRepo :: SnapshotRepoName -> FilePath -> Bool -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> FsSnapshotRepo
+ Database.V1.Bloodhound.Types: FullMinus1Shards :: InitialShardCount
+ Database.V1.Bloodhound.Types: FullNodeId :: Text -> FullNodeId
+ Database.V1.Bloodhound.Types: FullShards :: InitialShardCount
+ Database.V1.Bloodhound.Types: Fuzziness :: Double -> Fuzziness
+ Database.V1.Bloodhound.Types: FuzzyLikeFieldQuery :: FieldName -> Text -> MaxQueryTerms -> IgnoreTermFrequency -> Fuzziness -> PrefixLength -> Boost -> Maybe Analyzer -> FuzzyLikeFieldQuery
+ Database.V1.Bloodhound.Types: FuzzyLikeThisQuery :: [FieldName] -> Text -> MaxQueryTerms -> IgnoreTermFrequency -> Fuzziness -> PrefixLength -> Boost -> Maybe Analyzer -> FuzzyLikeThisQuery
+ Database.V1.Bloodhound.Types: FuzzyQuery :: FieldName -> Text -> PrefixLength -> MaxExpansions -> Fuzziness -> Maybe Boost -> FuzzyQuery
+ Database.V1.Bloodhound.Types: GCDeletes :: NominalDiffTime -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: GatewaySnapshotInterval :: NominalDiffTime -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: GeneratePhraseQueries :: Bool -> GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: GenericSnapshotRepo :: SnapshotRepoName -> SnapshotRepoType -> GenericSnapshotRepoSettings -> GenericSnapshotRepo
+ Database.V1.Bloodhound.Types: GenericSnapshotRepoSettings :: Object -> GenericSnapshotRepoSettings
+ Database.V1.Bloodhound.Types: GeoBoundingBox :: LatLon -> LatLon -> GeoBoundingBox
+ Database.V1.Bloodhound.Types: GeoBoundingBoxConstraint :: FieldName -> GeoBoundingBox -> Cache -> GeoFilterType -> GeoBoundingBoxConstraint
+ Database.V1.Bloodhound.Types: GeoBoundingBoxFilter :: GeoBoundingBoxConstraint -> Filter
+ Database.V1.Bloodhound.Types: GeoDistanceFilter :: GeoPoint -> Distance -> DistanceType -> OptimizeBbox -> Cache -> Filter
+ Database.V1.Bloodhound.Types: GeoDistanceRangeFilter :: GeoPoint -> DistanceRange -> Filter
+ Database.V1.Bloodhound.Types: GeoDistanceSortSpec :: SortOrder -> GeoPoint -> DistanceUnit -> SortSpec
+ Database.V1.Bloodhound.Types: GeoFilterIndexed :: GeoFilterType
+ Database.V1.Bloodhound.Types: GeoFilterMemory :: GeoFilterType
+ Database.V1.Bloodhound.Types: GeoPoint :: FieldName -> LatLon -> GeoPoint
+ Database.V1.Bloodhound.Types: GeoPolygonFilter :: FieldName -> [LatLon] -> Filter
+ Database.V1.Bloodhound.Types: GlobalOrdinals :: ExecutionHint
+ Database.V1.Bloodhound.Types: GlobalOrdinalsHash :: ExecutionHint
+ Database.V1.Bloodhound.Types: GlobalOrdinalsLowCardinality :: ExecutionHint
+ Database.V1.Bloodhound.Types: GranularAliasRouting :: (Maybe SearchAliasRouting) -> (Maybe IndexAliasRouting) -> AliasRouting
+ Database.V1.Bloodhound.Types: GreaterThan :: Double -> GreaterThan
+ Database.V1.Bloodhound.Types: GreaterThanD :: UTCTime -> GreaterThanD
+ Database.V1.Bloodhound.Types: GreaterThanEq :: Double -> GreaterThanEq
+ Database.V1.Bloodhound.Types: GreaterThanEqD :: UTCTime -> GreaterThanEqD
+ Database.V1.Bloodhound.Types: HTMLEncoder :: HighlightEncoder
+ Database.V1.Bloodhound.Types: HasChildQuery :: TypeName -> Query -> Maybe ScoreType -> HasChildQuery
+ Database.V1.Bloodhound.Types: HasParentQuery :: TypeName -> Query -> Maybe ScoreType -> HasParentQuery
+ Database.V1.Bloodhound.Types: Highlights :: Maybe HighlightSettings -> [FieldHighlight] -> Highlights
+ Database.V1.Bloodhound.Types: Hit :: IndexName -> MappingName -> DocId -> Score -> Maybe a -> Maybe HitHighlight -> Hit a
+ Database.V1.Bloodhound.Types: Hour :: Interval
+ Database.V1.Bloodhound.Types: Hours :: TimeInterval
+ Database.V1.Bloodhound.Types: IdentityFilter :: Filter
+ Database.V1.Bloodhound.Types: IdsFilter :: MappingName -> [DocId] -> Filter
+ Database.V1.Bloodhound.Types: IdsQuery :: MappingName -> [DocId] -> Query
+ Database.V1.Bloodhound.Types: IgnoreTermFrequency :: Bool -> IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: Inches :: DistanceUnit
+ Database.V1.Bloodhound.Types: Include :: [Pattern] -> Include
+ Database.V1.Bloodhound.Types: IndexAlias :: IndexName -> IndexAliasName -> IndexAlias
+ Database.V1.Bloodhound.Types: IndexAliasCreate :: Maybe AliasRouting -> Maybe Filter -> IndexAliasCreate
+ Database.V1.Bloodhound.Types: IndexAliasName :: IndexName -> IndexAliasName
+ Database.V1.Bloodhound.Types: IndexAliasRouting :: RoutingValue -> IndexAliasRouting
+ Database.V1.Bloodhound.Types: IndexAliasSummary :: IndexAlias -> IndexAliasCreate -> IndexAliasSummary
+ Database.V1.Bloodhound.Types: IndexAliasesSummary :: [IndexAliasSummary] -> IndexAliasesSummary
+ Database.V1.Bloodhound.Types: IndexCompoundFormat :: CompoundFormat -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: IndexCompoundOnFlush :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: IndexConcurrency :: Int -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: IndexDocumentSettings :: VersionControl -> Maybe DocumentParent -> IndexDocumentSettings
+ Database.V1.Bloodhound.Types: IndexList :: (NonEmpty IndexName) -> IndexSelection
+ Database.V1.Bloodhound.Types: IndexName :: Text -> IndexName
+ Database.V1.Bloodhound.Types: IndexOptimizationSettings :: Maybe Int -> Bool -> Bool -> IndexOptimizationSettings
+ Database.V1.Bloodhound.Types: IndexSettings :: ShardCount -> ReplicaCount -> IndexSettings
+ Database.V1.Bloodhound.Types: IndexSettingsSummary :: IndexName -> IndexSettings -> [UpdatableIndexSetting] -> IndexSettingsSummary
+ Database.V1.Bloodhound.Types: IndexTemplate :: TemplatePattern -> Maybe IndexSettings -> [Value] -> IndexTemplate
+ Database.V1.Bloodhound.Types: IndicesQuery :: [IndexName] -> Query -> Maybe Query -> IndicesQuery
+ Database.V1.Bloodhound.Types: InternalVersion :: DocVersion -> VersionControl
+ Database.V1.Bloodhound.Types: Intersection :: RegexpFlag
+ Database.V1.Bloodhound.Types: Interval :: RegexpFlag
+ Database.V1.Bloodhound.Types: JVMBufferPoolStats :: Bytes -> Bytes -> Int -> JVMBufferPoolStats
+ Database.V1.Bloodhound.Types: JVMGCCollector :: Text -> JVMGCCollector
+ Database.V1.Bloodhound.Types: JVMGCStats :: NominalDiffTime -> Int -> JVMGCStats
+ Database.V1.Bloodhound.Types: JVMMemoryInfo :: Bytes -> Bytes -> Bytes -> Bytes -> Bytes -> JVMMemoryInfo
+ Database.V1.Bloodhound.Types: JVMMemoryPool :: Text -> JVMMemoryPool
+ Database.V1.Bloodhound.Types: JVMPoolStats :: Bytes -> Bytes -> Bytes -> Bytes -> JVMPoolStats
+ Database.V1.Bloodhound.Types: Kilometers :: DistanceUnit
+ Database.V1.Bloodhound.Types: LastMissing :: Missing
+ Database.V1.Bloodhound.Types: LatLon :: Double -> Double -> LatLon
+ Database.V1.Bloodhound.Types: Lenient :: Bool -> Lenient
+ Database.V1.Bloodhound.Types: LessThan :: Double -> LessThan
+ Database.V1.Bloodhound.Types: LessThanD :: UTCTime -> LessThanD
+ Database.V1.Bloodhound.Types: LessThanEq :: Double -> LessThanEq
+ Database.V1.Bloodhound.Types: LessThanEqD :: UTCTime -> LessThanEqD
+ Database.V1.Bloodhound.Types: LimitFilter :: Int -> Filter
+ Database.V1.Bloodhound.Types: LoadAvgs :: Double -> Double -> Double -> LoadAvgs
+ Database.V1.Bloodhound.Types: LocalNode :: NodeSelection
+ Database.V1.Bloodhound.Types: Locale :: Text -> Locale
+ Database.V1.Bloodhound.Types: LowercaseExpanded :: Bool -> LowercaseExpanded
+ Database.V1.Bloodhound.Types: MacAddress :: Text -> MacAddress
+ Database.V1.Bloodhound.Types: Map :: ExecutionHint
+ Database.V1.Bloodhound.Types: Mapping :: TypeName -> [MappingField] -> Mapping
+ Database.V1.Bloodhound.Types: MappingField :: FieldName -> FieldDefinition -> MappingField
+ Database.V1.Bloodhound.Types: MappingName :: Text -> MappingName
+ Database.V1.Bloodhound.Types: MatchAllQuery :: (Maybe Boost) -> Query
+ Database.V1.Bloodhound.Types: MatchPhrase :: MatchQueryType
+ Database.V1.Bloodhound.Types: MatchPhrasePrefix :: MatchQueryType
+ Database.V1.Bloodhound.Types: MatchQuery :: FieldName -> QueryString -> BooleanOperator -> ZeroTermsQuery -> Maybe CutoffFrequency -> Maybe MatchQueryType -> Maybe Analyzer -> Maybe MaxExpansions -> Maybe Lenient -> Maybe Boost -> MatchQuery
+ Database.V1.Bloodhound.Types: MaxDocFrequency :: Int -> MaxDocFrequency
+ Database.V1.Bloodhound.Types: MaxExpansions :: Int -> MaxExpansions
+ Database.V1.Bloodhound.Types: MaxQueryTerms :: Int -> MaxQueryTerms
+ Database.V1.Bloodhound.Types: MaxWordLength :: Int -> MaxWordLength
+ Database.V1.Bloodhound.Types: MaybeNA :: Maybe a -> MaybeNA a
+ Database.V1.Bloodhound.Types: MergeSegmentVsTotalIndex :: Double -> CompoundFormat
+ Database.V1.Bloodhound.Types: Meters :: DistanceUnit
+ Database.V1.Bloodhound.Types: Miles :: DistanceUnit
+ Database.V1.Bloodhound.Types: Millimeters :: DistanceUnit
+ Database.V1.Bloodhound.Types: MinDocFrequency :: Int -> MinDocFrequency
+ Database.V1.Bloodhound.Types: MinWordLength :: Int -> MinWordLength
+ Database.V1.Bloodhound.Types: MinimumMatch :: Int -> MinimumMatch
+ Database.V1.Bloodhound.Types: MinimumMatchHighLow :: MinimumMatch -> MinimumMatch -> MinimumMatchHighLow
+ Database.V1.Bloodhound.Types: MinimumTermFrequency :: Int -> MinimumTermFrequency
+ Database.V1.Bloodhound.Types: Minute :: Interval
+ Database.V1.Bloodhound.Types: Minutes :: TimeInterval
+ Database.V1.Bloodhound.Types: MissingAgg :: MissingAggregation -> Aggregation
+ Database.V1.Bloodhound.Types: MissingAggregation :: Text -> MissingAggregation
+ Database.V1.Bloodhound.Types: MissingFilter :: FieldName -> Existence -> NullValue -> Filter
+ Database.V1.Bloodhound.Types: MissingResult :: Int -> MissingResult
+ Database.V1.Bloodhound.Types: Month :: Interval
+ Database.V1.Bloodhound.Types: MoreLikeThisFieldQuery :: Text -> FieldName -> Maybe PercentMatch -> Maybe MinimumTermFrequency -> Maybe MaxQueryTerms -> Maybe (NonEmpty StopWord) -> Maybe MinDocFrequency -> Maybe MaxDocFrequency -> Maybe MinWordLength -> Maybe MaxWordLength -> Maybe BoostTerms -> Maybe Boost -> Maybe Analyzer -> MoreLikeThisFieldQuery
+ Database.V1.Bloodhound.Types: MoreLikeThisQuery :: Text -> Maybe (NonEmpty FieldName) -> Maybe PercentMatch -> Maybe MinimumTermFrequency -> Maybe MaxQueryTerms -> Maybe (NonEmpty StopWord) -> Maybe MinDocFrequency -> Maybe MaxDocFrequency -> Maybe MinWordLength -> Maybe MaxWordLength -> Maybe BoostTerms -> Maybe Boost -> Maybe Analyzer -> MoreLikeThisQuery
+ Database.V1.Bloodhound.Types: MultiMatchBestFields :: MultiMatchQueryType
+ Database.V1.Bloodhound.Types: MultiMatchCrossFields :: MultiMatchQueryType
+ Database.V1.Bloodhound.Types: MultiMatchMostFields :: MultiMatchQueryType
+ Database.V1.Bloodhound.Types: MultiMatchPhrase :: MultiMatchQueryType
+ Database.V1.Bloodhound.Types: MultiMatchPhrasePrefix :: MultiMatchQueryType
+ Database.V1.Bloodhound.Types: MultiMatchQuery :: [FieldName] -> QueryString -> BooleanOperator -> ZeroTermsQuery -> Maybe Tiebreaker -> Maybe MultiMatchQueryType -> Maybe CutoffFrequency -> Maybe Analyzer -> Maybe MaxExpansions -> Maybe Lenient -> MultiMatchQuery
+ Database.V1.Bloodhound.Types: MustMatch :: Term -> Cache -> BoolMatch
+ Database.V1.Bloodhound.Types: MustNotMatch :: Term -> Cache -> BoolMatch
+ Database.V1.Bloodhound.Types: NauticalMiles :: DistanceUnit
+ Database.V1.Bloodhound.Types: NestedQuery :: QueryPath -> ScoreType -> Query -> NestedQuery
+ Database.V1.Bloodhound.Types: NetworkInterfaceName :: Text -> NetworkInterfaceName
+ Database.V1.Bloodhound.Types: NoOptimizeBbox :: OptimizeBbox
+ Database.V1.Bloodhound.Types: NoRegexpFlags :: RegexpFlags
+ Database.V1.Bloodhound.Types: NoSource :: Source
+ Database.V1.Bloodhound.Types: NoVersionControl :: VersionControl
+ Database.V1.Bloodhound.Types: NodeAttrFilter :: NodeAttrName -> NonEmpty Text -> NodeAttrFilter
+ Database.V1.Bloodhound.Types: NodeAttrName :: Text -> NodeAttrName
+ Database.V1.Bloodhound.Types: NodeBreakerStats :: Int -> Double -> Bytes -> Bytes -> NodeBreakerStats
+ Database.V1.Bloodhound.Types: NodeBreakersStats :: NodeBreakerStats -> NodeBreakerStats -> NodeBreakerStats -> NodeBreakersStats
+ Database.V1.Bloodhound.Types: NodeByAttribute :: NodeAttrName -> Text -> NodeSelector
+ Database.V1.Bloodhound.Types: NodeByFullNodeId :: FullNodeId -> NodeSelector
+ Database.V1.Bloodhound.Types: NodeByHost :: Server -> NodeSelector
+ Database.V1.Bloodhound.Types: NodeByName :: NodeName -> NodeSelector
+ Database.V1.Bloodhound.Types: NodeDataPathStats :: Maybe Double -> Maybe Double -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> Maybe Int -> Maybe Int -> Maybe Int -> Bytes -> Bytes -> Bytes -> Maybe Text -> Text -> Text -> Text -> NodeDataPathStats
+ Database.V1.Bloodhound.Types: NodeFSStats :: [NodeDataPathStats] -> NodeFSTotalStats -> UTCTime -> NodeFSStats
+ Database.V1.Bloodhound.Types: NodeFSTotalStats :: Maybe Double -> Maybe Double -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> Maybe Int -> Maybe Int -> Maybe Int -> Bytes -> Bytes -> Bytes -> NodeFSTotalStats
+ Database.V1.Bloodhound.Types: NodeHTTPInfo :: Bytes -> BoundTransportAddress -> NodeHTTPInfo
+ Database.V1.Bloodhound.Types: NodeHTTPStats :: Int -> Int -> NodeHTTPStats
+ Database.V1.Bloodhound.Types: NodeIndicesStats :: Maybe NominalDiffTime -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Bytes -> Int -> NominalDiffTime -> Int -> Bytes -> Int -> Maybe Bytes -> Bytes -> Maybe Bytes -> Bytes -> Bytes -> Int -> Bytes -> Int -> Bytes -> Int -> NominalDiffTime -> Int -> Int -> Bytes -> Bytes -> Int -> Bytes -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> Bytes -> Int -> NominalDiffTime -> Int -> Bytes -> Int -> Int -> Int -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> Maybe NominalDiffTime -> Maybe Bool -> Maybe Int -> Int -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Bytes -> Int -> Int -> NodeIndicesStats
+ Database.V1.Bloodhound.Types: NodeInfo :: EsAddress -> BuildHash -> VersionNumber -> Server -> Server -> EsAddress -> NodeName -> FullNodeId -> [NodePluginInfo] -> NodeHTTPInfo -> NodeTransportInfo -> NodeNetworkInfo -> NodeThreadPoolsInfo -> NodeJVMInfo -> NodeProcessInfo -> NodeOSInfo -> Object -> NodeInfo
+ Database.V1.Bloodhound.Types: NodeJVMInfo :: [JVMMemoryPool] -> [JVMGCCollector] -> JVMMemoryInfo -> UTCTime -> Text -> VersionNumber -> Text -> VersionNumber -> PID -> NodeJVMInfo
+ Database.V1.Bloodhound.Types: NodeJVMStats :: JVMBufferPoolStats -> JVMBufferPoolStats -> JVMGCStats -> JVMGCStats -> Int -> Int -> JVMPoolStats -> JVMPoolStats -> JVMPoolStats -> Bytes -> Bytes -> Bytes -> Bytes -> Int -> Bytes -> NominalDiffTime -> UTCTime -> NodeJVMStats
+ Database.V1.Bloodhound.Types: NodeList :: (NonEmpty NodeSelector) -> NodeSelection
+ Database.V1.Bloodhound.Types: NodeName :: Text -> NodeName
+ Database.V1.Bloodhound.Types: NodeNetworkInfo :: NodeNetworkInterface -> NominalDiffTime -> NodeNetworkInfo
+ Database.V1.Bloodhound.Types: NodeNetworkInterface :: MacAddress -> NetworkInterfaceName -> Server -> NodeNetworkInterface
+ Database.V1.Bloodhound.Types: NodeNetworkStats :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> NodeNetworkStats
+ Database.V1.Bloodhound.Types: NodeOSInfo :: Bytes -> Bytes -> CPUInfo -> Int -> NominalDiffTime -> NodeOSInfo
+ Database.V1.Bloodhound.Types: NodeOSStats :: Bytes -> Bytes -> Bytes -> Bytes -> Int -> Int -> Bytes -> Bytes -> Int -> Int -> Int -> Int -> Int -> Maybe LoadAvgs -> NominalDiffTime -> UTCTime -> NodeOSStats
+ Database.V1.Bloodhound.Types: NodePluginInfo :: Bool -> Bool -> Text -> MaybeNA VersionNumber -> PluginName -> NodePluginInfo
+ Database.V1.Bloodhound.Types: NodeProcessInfo :: Bool -> Int -> PID -> NominalDiffTime -> NodeProcessInfo
+ Database.V1.Bloodhound.Types: NodeProcessStats :: Bytes -> Bytes -> Bytes -> NominalDiffTime -> NominalDiffTime -> NominalDiffTime -> Int -> Int -> UTCTime -> NodeProcessStats
+ Database.V1.Bloodhound.Types: NodeStats :: NodeName -> FullNodeId -> Maybe NodeBreakersStats -> NodeHTTPStats -> NodeTransportStats -> NodeFSStats -> NodeNetworkStats -> NodeThreadPoolsStats -> NodeJVMStats -> NodeProcessStats -> NodeOSStats -> NodeIndicesStats -> NodeStats
+ Database.V1.Bloodhound.Types: NodeThreadPoolInfo :: ThreadPoolSize -> Maybe NominalDiffTime -> Maybe Int -> Maybe Int -> ThreadPoolType -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: NodeThreadPoolStats :: Int -> Int -> Int -> Int -> Int -> Int -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: NodeThreadPoolsInfo :: NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolsInfo
+ Database.V1.Bloodhound.Types: NodeThreadPoolsStats :: NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolsStats
+ Database.V1.Bloodhound.Types: NodeTransportInfo :: [BoundTransportAddress] -> BoundTransportAddress -> NodeTransportInfo
+ Database.V1.Bloodhound.Types: NodeTransportStats :: Bytes -> Int -> Bytes -> Int -> Int -> NodeTransportStats
+ Database.V1.Bloodhound.Types: NodesInfo :: [NodeInfo] -> ClusterName -> NodesInfo
+ Database.V1.Bloodhound.Types: NodesStats :: [NodeStats] -> ClusterName -> NodesStats
+ Database.V1.Bloodhound.Types: NonPostings :: Maybe Int -> Maybe Int -> NonPostings
+ Database.V1.Bloodhound.Types: NotFilter :: Filter -> Cache -> Filter
+ Database.V1.Bloodhound.Types: NullValue :: Bool -> NullValue
+ Database.V1.Bloodhound.Types: NumberOfReplicas :: ReplicaCount -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: OpenIndex :: OpenCloseIndex
+ Database.V1.Bloodhound.Types: OptimizeGeoFilterType :: GeoFilterType -> OptimizeBbox
+ Database.V1.Bloodhound.Types: Or :: BooleanOperator
+ Database.V1.Bloodhound.Types: OrFilter :: [Filter] -> Cache -> Filter
+ Database.V1.Bloodhound.Types: Ordinals :: ExecutionHint
+ Database.V1.Bloodhound.Types: OtherRepoConversionError :: Text -> SnapshotRepoConversionError
+ Database.V1.Bloodhound.Types: PID :: Int -> PID
+ Database.V1.Bloodhound.Types: Pattern :: Text -> Pattern
+ Database.V1.Bloodhound.Types: PercentMatch :: Double -> PercentMatch
+ Database.V1.Bloodhound.Types: PhraseSlop :: Int -> PhraseSlop
+ Database.V1.Bloodhound.Types: Plain :: PlainHighlight -> HighlightSettings
+ Database.V1.Bloodhound.Types: PlainHighlight :: Maybe CommonHighlight -> Maybe NonPostings -> PlainHighlight
+ Database.V1.Bloodhound.Types: Plane :: DistanceType
+ Database.V1.Bloodhound.Types: PluginName :: Text -> PluginName
+ Database.V1.Bloodhound.Types: PopPattern :: Pattern -> PatternOrPatterns
+ Database.V1.Bloodhound.Types: PopPatterns :: [Pattern] -> PatternOrPatterns
+ Database.V1.Bloodhound.Types: Postings :: PostingsHighlight -> HighlightSettings
+ Database.V1.Bloodhound.Types: PostingsHighlight :: (Maybe CommonHighlight) -> PostingsHighlight
+ Database.V1.Bloodhound.Types: PrefixFilter :: FieldName -> PrefixValue -> Cache -> Filter
+ Database.V1.Bloodhound.Types: PrefixLength :: Int -> PrefixLength
+ Database.V1.Bloodhound.Types: PrefixQuery :: FieldName -> Text -> Maybe Boost -> PrefixQuery
+ Database.V1.Bloodhound.Types: Quarter :: Interval
+ Database.V1.Bloodhound.Types: QueryBoolQuery :: BoolQuery -> Query
+ Database.V1.Bloodhound.Types: QueryBoostingQuery :: BoostingQuery -> Query
+ Database.V1.Bloodhound.Types: QueryCommonTermsQuery :: CommonTermsQuery -> Query
+ Database.V1.Bloodhound.Types: QueryDisMaxQuery :: DisMaxQuery -> Query
+ Database.V1.Bloodhound.Types: QueryFilter :: Query -> Cache -> Filter
+ Database.V1.Bloodhound.Types: QueryFilteredQuery :: FilteredQuery -> Query
+ Database.V1.Bloodhound.Types: QueryFuzzyLikeFieldQuery :: FuzzyLikeFieldQuery -> Query
+ Database.V1.Bloodhound.Types: QueryFuzzyLikeThisQuery :: FuzzyLikeThisQuery -> Query
+ Database.V1.Bloodhound.Types: QueryFuzzyQuery :: FuzzyQuery -> Query
+ Database.V1.Bloodhound.Types: QueryHasChildQuery :: HasChildQuery -> Query
+ Database.V1.Bloodhound.Types: QueryHasParentQuery :: HasParentQuery -> Query
+ Database.V1.Bloodhound.Types: QueryIndicesQuery :: IndicesQuery -> Query
+ Database.V1.Bloodhound.Types: QueryMatchQuery :: MatchQuery -> Query
+ Database.V1.Bloodhound.Types: QueryMoreLikeThisFieldQuery :: MoreLikeThisFieldQuery -> Query
+ Database.V1.Bloodhound.Types: QueryMoreLikeThisQuery :: MoreLikeThisQuery -> Query
+ Database.V1.Bloodhound.Types: QueryMultiMatchQuery :: MultiMatchQuery -> Query
+ Database.V1.Bloodhound.Types: QueryNestedQuery :: NestedQuery -> Query
+ Database.V1.Bloodhound.Types: QueryPath :: Text -> QueryPath
+ Database.V1.Bloodhound.Types: QueryPrefixQuery :: PrefixQuery -> Query
+ Database.V1.Bloodhound.Types: QueryQueryStringQuery :: QueryStringQuery -> Query
+ Database.V1.Bloodhound.Types: QueryRangeQuery :: RangeQuery -> Query
+ Database.V1.Bloodhound.Types: QueryRegexpQuery :: RegexpQuery -> Query
+ Database.V1.Bloodhound.Types: QuerySimpleQueryStringQuery :: SimpleQueryStringQuery -> Query
+ Database.V1.Bloodhound.Types: QueryString :: Text -> QueryString
+ Database.V1.Bloodhound.Types: QueryStringQuery :: QueryString -> Maybe FieldName -> Maybe BooleanOperator -> Maybe Analyzer -> Maybe AllowLeadingWildcard -> Maybe LowercaseExpanded -> Maybe EnablePositionIncrements -> Maybe MaxExpansions -> Maybe Fuzziness -> Maybe PrefixLength -> Maybe PhraseSlop -> Maybe Boost -> Maybe AnalyzeWildcard -> Maybe GeneratePhraseQueries -> Maybe MinimumMatch -> Maybe Lenient -> Maybe Locale -> QueryStringQuery
+ Database.V1.Bloodhound.Types: QuorumMinus1Shards :: InitialShardCount
+ Database.V1.Bloodhound.Types: QuorumShards :: InitialShardCount
+ Database.V1.Bloodhound.Types: RRSubGroup :: RRGroupRefNum -> RestoreRenameToken
+ Database.V1.Bloodhound.Types: RRSubWholeMatch :: RestoreRenameToken
+ Database.V1.Bloodhound.Types: RRTLit :: Text -> RestoreRenameToken
+ Database.V1.Bloodhound.Types: RangeDateGt :: GreaterThanD -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDateGtLt :: GreaterThanD -> LessThanD -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDateGtLte :: GreaterThanD -> LessThanEqD -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDateGte :: GreaterThanEqD -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDateGteLt :: GreaterThanEqD -> LessThanD -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDateGteLte :: GreaterThanEqD -> LessThanEqD -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDateLt :: LessThanD -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDateLte :: LessThanEqD -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDoubleGt :: GreaterThan -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDoubleGtLt :: GreaterThan -> LessThan -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDoubleGtLte :: GreaterThan -> LessThanEq -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDoubleGte :: GreaterThanEq -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDoubleGteLt :: GreaterThanEq -> LessThan -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDoubleGteLte :: GreaterThanEq -> LessThanEq -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDoubleLt :: LessThan -> RangeValue
+ Database.V1.Bloodhound.Types: RangeDoubleLte :: LessThanEq -> RangeValue
+ Database.V1.Bloodhound.Types: RangeExecutionFielddata :: RangeExecution
+ Database.V1.Bloodhound.Types: RangeExecutionIndex :: RangeExecution
+ Database.V1.Bloodhound.Types: RangeFilter :: FieldName -> RangeValue -> RangeExecution -> Cache -> Filter
+ Database.V1.Bloodhound.Types: RangeQuery :: FieldName -> RangeValue -> Boost -> RangeQuery
+ Database.V1.Bloodhound.Types: RecoveryInitialShards :: InitialShardCount -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: RefreshInterval :: NominalDiffTime -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: Regexp :: Text -> Regexp
+ Database.V1.Bloodhound.Types: RegexpFilter :: FieldName -> Regexp -> RegexpFlags -> CacheName -> Cache -> CacheKey -> Filter
+ Database.V1.Bloodhound.Types: RegexpQuery :: FieldName -> Regexp -> RegexpFlags -> Maybe Boost -> RegexpQuery
+ Database.V1.Bloodhound.Types: RemoveAlias :: IndexAlias -> IndexAliasAction
+ Database.V1.Bloodhound.Types: ReplicaCount :: Int -> ReplicaCount
+ Database.V1.Bloodhound.Types: ReplicasBounded :: Int -> Int -> ReplicaBounds
+ Database.V1.Bloodhound.Types: ReplicasLowerBounded :: Int -> ReplicaBounds
+ Database.V1.Bloodhound.Types: ReplicasUnbounded :: ReplicaBounds
+ Database.V1.Bloodhound.Types: RepoPattern :: Text -> SnapshotRepoPattern
+ Database.V1.Bloodhound.Types: RepoTypeMismatch :: SnapshotRepoType -> SnapshotRepoType -> SnapshotRepoConversionError
+ Database.V1.Bloodhound.Types: RestoreIndexSettings :: Maybe ReplicaCount -> RestoreIndexSettings
+ Database.V1.Bloodhound.Types: RestoreRenamePattern :: Text -> RestoreRenamePattern
+ Database.V1.Bloodhound.Types: RoundDownTo :: DateMathUnit -> DateMathModifier
+ Database.V1.Bloodhound.Types: RoutingAllocationEnable :: AllocationPolicy -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: RoutingAllocationExclude :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: RoutingAllocationInclude :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: RoutingAllocationRequire :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: RoutingAllocationShardsPerNode :: ShardCount -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: RoutingValue :: Text -> RoutingValue
+ Database.V1.Bloodhound.Types: ScientificValue :: Scientific -> BucketValue
+ Database.V1.Bloodhound.Types: ScoreTypeAvg :: ScoreType
+ Database.V1.Bloodhound.Types: ScoreTypeMax :: ScoreType
+ Database.V1.Bloodhound.Types: ScoreTypeNone :: ScoreType
+ Database.V1.Bloodhound.Types: ScoreTypeSum :: ScoreType
+ Database.V1.Bloodhound.Types: Script :: Text -> Script
+ Database.V1.Bloodhound.Types: ScriptValueCount :: Script -> ValueCountAggregation
+ Database.V1.Bloodhound.Types: ScrollId :: Text -> ScrollId
+ Database.V1.Bloodhound.Types: Search :: Maybe Query -> Maybe Filter -> Maybe Sort -> Maybe Aggregations -> Maybe Highlights -> TrackSortScores -> From -> Size -> SearchType -> Maybe [FieldName] -> Maybe Source -> Search
+ Database.V1.Bloodhound.Types: SearchAliasRouting :: (NonEmpty RoutingValue) -> SearchAliasRouting
+ Database.V1.Bloodhound.Types: SearchHits :: Int -> Score -> [Hit a] -> SearchHits a
+ Database.V1.Bloodhound.Types: SearchResult :: Int -> Bool -> ShardResult -> SearchHits a -> Maybe AggregationResults -> Maybe ScrollId -> SearchResult a
+ Database.V1.Bloodhound.Types: SearchTypeCount :: SearchType
+ Database.V1.Bloodhound.Types: SearchTypeDfsQueryAndFetch :: SearchType
+ Database.V1.Bloodhound.Types: SearchTypeDfsQueryThenFetch :: SearchType
+ Database.V1.Bloodhound.Types: SearchTypeQueryAndFetch :: SearchType
+ Database.V1.Bloodhound.Types: SearchTypeQueryThenFetch :: SearchType
+ Database.V1.Bloodhound.Types: SearchTypeScan :: SearchType
+ Database.V1.Bloodhound.Types: Second :: Interval
+ Database.V1.Bloodhound.Types: Seconds :: TimeInterval
+ Database.V1.Bloodhound.Types: Server :: Text -> Server
+ Database.V1.Bloodhound.Types: ShardCount :: Int -> ShardCount
+ Database.V1.Bloodhound.Types: ShardId :: Int -> ShardId
+ Database.V1.Bloodhound.Types: ShardResult :: Int -> Int -> Int -> ShardResult
+ Database.V1.Bloodhound.Types: ShouldMatch :: [Term] -> Cache -> BoolMatch
+ Database.V1.Bloodhound.Types: SimpleQueryAll :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryAnd :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryEscape :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryFuzzy :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryNear :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryNone :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryOr :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryPhrase :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryPrecedence :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryPrefix :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQuerySlop :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: SimpleQueryStringQuery :: QueryString -> Maybe FieldOrFields -> Maybe BooleanOperator -> Maybe Analyzer -> Maybe (NonEmpty SimpleQueryFlag) -> Maybe LowercaseExpanded -> Maybe Locale -> SimpleQueryStringQuery
+ Database.V1.Bloodhound.Types: SimpleQueryWhitespace :: SimpleQueryFlag
+ Database.V1.Bloodhound.Types: Size :: Int -> Size
+ Database.V1.Bloodhound.Types: SloppyArc :: DistanceType
+ Database.V1.Bloodhound.Types: SnapPattern :: Text -> SnapshotPattern
+ Database.V1.Bloodhound.Types: SnapshotAborted :: SnapshotState
+ Database.V1.Bloodhound.Types: SnapshotCreateSettings :: Bool -> Maybe IndexSelection -> Bool -> Bool -> Bool -> SnapshotCreateSettings
+ Database.V1.Bloodhound.Types: SnapshotFailed :: SnapshotState
+ Database.V1.Bloodhound.Types: SnapshotInfo :: ShardResult -> [SnapshotShardFailure] -> NominalDiffTime -> UTCTime -> UTCTime -> SnapshotState -> [IndexName] -> SnapshotName -> SnapshotInfo
+ Database.V1.Bloodhound.Types: SnapshotInit :: SnapshotState
+ Database.V1.Bloodhound.Types: SnapshotList :: (NonEmpty SnapshotPattern) -> SnapshotSelection
+ Database.V1.Bloodhound.Types: SnapshotMissing :: SnapshotState
+ Database.V1.Bloodhound.Types: SnapshotName :: Text -> SnapshotName
+ Database.V1.Bloodhound.Types: SnapshotNodeVerification :: FullNodeId -> NodeName -> SnapshotNodeVerification
+ Database.V1.Bloodhound.Types: SnapshotRepoList :: (NonEmpty SnapshotRepoPattern) -> SnapshotRepoSelection
+ Database.V1.Bloodhound.Types: SnapshotRepoName :: Text -> SnapshotRepoName
+ Database.V1.Bloodhound.Types: SnapshotRepoType :: Text -> SnapshotRepoType
+ Database.V1.Bloodhound.Types: SnapshotRepoUpdateSettings :: Bool -> SnapshotRepoUpdateSettings
+ Database.V1.Bloodhound.Types: SnapshotRestoreSettings :: Bool -> Maybe IndexSelection -> Bool -> Bool -> Maybe RestoreRenamePattern -> Maybe (NonEmpty RestoreRenameToken) -> Bool -> Bool -> Maybe RestoreIndexSettings -> Maybe (NonEmpty Text) -> SnapshotRestoreSettings
+ Database.V1.Bloodhound.Types: SnapshotShardFailure :: IndexName -> Maybe NodeName -> Text -> ShardId -> SnapshotShardFailure
+ Database.V1.Bloodhound.Types: SnapshotStarted :: SnapshotState
+ Database.V1.Bloodhound.Types: SnapshotSuccess :: SnapshotState
+ Database.V1.Bloodhound.Types: SnapshotVerification :: [SnapshotNodeVerification] -> SnapshotVerification
+ Database.V1.Bloodhound.Types: SnapshotWaiting :: SnapshotState
+ Database.V1.Bloodhound.Types: SomeRegexpFlags :: (NonEmpty RegexpFlag) -> RegexpFlags
+ Database.V1.Bloodhound.Types: SortAvg :: SortMode
+ Database.V1.Bloodhound.Types: SortMax :: SortMode
+ Database.V1.Bloodhound.Types: SortMin :: SortMode
+ Database.V1.Bloodhound.Types: SortSum :: SortMode
+ Database.V1.Bloodhound.Types: SourceIncludeExclude :: Include -> Exclude -> Source
+ Database.V1.Bloodhound.Types: SourcePatterns :: PatternOrPatterns -> Source
+ Database.V1.Bloodhound.Types: Status :: Maybe Bool -> Int -> Text -> Version -> Text -> Status
+ Database.V1.Bloodhound.Types: StopWord :: Text -> StopWord
+ Database.V1.Bloodhound.Types: SubtractTime :: Int -> DateMathUnit -> DateMathModifier
+ Database.V1.Bloodhound.Types: TTLDisablePurge :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: TagSchema :: Text -> HighlightTag
+ Database.V1.Bloodhound.Types: TemplateName :: Text -> TemplateName
+ Database.V1.Bloodhound.Types: TemplatePattern :: Text -> TemplatePattern
+ Database.V1.Bloodhound.Types: Term :: Text -> Text -> Term
+ Database.V1.Bloodhound.Types: TermFilter :: Term -> Cache -> Filter
+ Database.V1.Bloodhound.Types: TermInclusion :: Text -> TermInclusion
+ Database.V1.Bloodhound.Types: TermOrder :: Text -> SortOrder -> TermOrder
+ Database.V1.Bloodhound.Types: TermPattern :: Text -> Text -> TermInclusion
+ Database.V1.Bloodhound.Types: TermQuery :: Term -> (Maybe Boost) -> Query
+ Database.V1.Bloodhound.Types: TermsAgg :: TermsAggregation -> Aggregation
+ Database.V1.Bloodhound.Types: TermsAggregation :: Either Text Text -> Maybe TermInclusion -> Maybe TermInclusion -> Maybe TermOrder -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe CollectionMode -> Maybe ExecutionHint -> Maybe Aggregations -> TermsAggregation
+ Database.V1.Bloodhound.Types: TermsQuery :: Text -> (NonEmpty Text) -> Query
+ Database.V1.Bloodhound.Types: TermsResult :: BucketValue -> Int -> Maybe AggregationResults -> TermsResult
+ Database.V1.Bloodhound.Types: TextValue :: Text -> BucketValue
+ Database.V1.Bloodhound.Types: ThreadPoolBounded :: Int -> ThreadPoolSize
+ Database.V1.Bloodhound.Types: ThreadPoolCached :: ThreadPoolType
+ Database.V1.Bloodhound.Types: ThreadPoolFixed :: ThreadPoolType
+ Database.V1.Bloodhound.Types: ThreadPoolScaling :: ThreadPoolType
+ Database.V1.Bloodhound.Types: ThreadPoolUnbounded :: ThreadPoolSize
+ Database.V1.Bloodhound.Types: Tiebreaker :: Double -> Tiebreaker
+ Database.V1.Bloodhound.Types: TopHitResult :: (SearchHits a) -> TopHitResult a
+ Database.V1.Bloodhound.Types: TopHitsAgg :: TopHitsAggregation -> Aggregation
+ Database.V1.Bloodhound.Types: TopHitsAggregation :: Maybe From -> Maybe Size -> Maybe Sort -> TopHitsAggregation
+ Database.V1.Bloodhound.Types: TranslogDisableFlush :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: TranslogFSType :: FSType -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: TranslogFlushThresholdOps :: Int -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: TranslogFlushThresholdPeriod :: NominalDiffTime -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: TranslogFlushThresholdSize :: Bytes -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: TypeName :: Text -> TypeName
+ Database.V1.Bloodhound.Types: ValueCountAgg :: ValueCountAggregation -> Aggregation
+ Database.V1.Bloodhound.Types: Version :: VersionNumber -> BuildHash -> UTCTime -> Bool -> VersionNumber -> Version
+ Database.V1.Bloodhound.Types: VersionNumber :: Version -> VersionNumber
+ Database.V1.Bloodhound.Types: WarmerEnabled :: Bool -> UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: Week :: Interval
+ Database.V1.Bloodhound.Types: Weeks :: TimeInterval
+ Database.V1.Bloodhound.Types: Yards :: DistanceUnit
+ Database.V1.Bloodhound.Types: Year :: Interval
+ Database.V1.Bloodhound.Types: ZeroTermsAll :: ZeroTermsQuery
+ Database.V1.Bloodhound.Types: ZeroTermsNone :: ZeroTermsQuery
+ Database.V1.Bloodhound.Types: [_id] :: EsResult a -> Text
+ Database.V1.Bloodhound.Types: [_index] :: EsResult a -> Text
+ Database.V1.Bloodhound.Types: [_source] :: EsResultFound a -> a
+ Database.V1.Bloodhound.Types: [_type] :: EsResult a -> Text
+ Database.V1.Bloodhound.Types: [_version] :: EsResultFound a -> DocVersion
+ Database.V1.Bloodhound.Types: [aggBody] :: Search -> Maybe Aggregations
+ Database.V1.Bloodhound.Types: [aggregations] :: SearchResult a -> Maybe AggregationResults
+ Database.V1.Bloodhound.Types: [aliasCreateFilter] :: IndexAliasCreate -> Maybe Filter
+ Database.V1.Bloodhound.Types: [aliasCreateRouting] :: IndexAliasCreate -> Maybe AliasRouting
+ Database.V1.Bloodhound.Types: [bbConstraintcache] :: GeoBoundingBoxConstraint -> Cache
+ Database.V1.Bloodhound.Types: [boolQueryBoost] :: BoolQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [boolQueryDisableCoord] :: BoolQuery -> Maybe DisableCoord
+ Database.V1.Bloodhound.Types: [boolQueryMinimumShouldMatch] :: BoolQuery -> Maybe MinimumMatch
+ Database.V1.Bloodhound.Types: [boolQueryMustMatch] :: BoolQuery -> [Query]
+ Database.V1.Bloodhound.Types: [boolQueryMustNotMatch] :: BoolQuery -> [Query]
+ Database.V1.Bloodhound.Types: [boolQueryShouldMatch] :: BoolQuery -> [Query]
+ Database.V1.Bloodhound.Types: [bottomRight] :: GeoBoundingBox -> LatLon
+ Database.V1.Bloodhound.Types: [boundAddress] :: BoundTransportAddress -> EsAddress
+ Database.V1.Bloodhound.Types: [boundaryChars] :: FastVectorHighlight -> Maybe Text
+ Database.V1.Bloodhound.Types: [boundaryMaxScan] :: FastVectorHighlight -> Maybe Int
+ Database.V1.Bloodhound.Types: [buckets] :: Bucket a -> [a]
+ Database.V1.Bloodhound.Types: [buildHash] :: BuildHash -> Text
+ Database.V1.Bloodhound.Types: [build_hash] :: Version -> BuildHash
+ Database.V1.Bloodhound.Types: [build_snapshot] :: Version -> Bool
+ Database.V1.Bloodhound.Types: [build_timestamp] :: Version -> UTCTime
+ Database.V1.Bloodhound.Types: [cardinalityField] :: CardinalityAggregation -> FieldName
+ Database.V1.Bloodhound.Types: [clusterName] :: ClusterName -> Text
+ Database.V1.Bloodhound.Types: [coefficient] :: Distance -> Double
+ Database.V1.Bloodhound.Types: [commonAnalyzer] :: CommonTermsQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [commonBoost] :: CommonTermsQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [commonCutoffFrequency] :: CommonTermsQuery -> CutoffFrequency
+ Database.V1.Bloodhound.Types: [commonDisableCoord] :: CommonTermsQuery -> Maybe DisableCoord
+ Database.V1.Bloodhound.Types: [commonField] :: CommonTermsQuery -> FieldName
+ Database.V1.Bloodhound.Types: [commonHighFreqOperator] :: CommonTermsQuery -> BooleanOperator
+ Database.V1.Bloodhound.Types: [commonLowFreqOperator] :: CommonTermsQuery -> BooleanOperator
+ Database.V1.Bloodhound.Types: [commonMinimumShouldMatch] :: CommonTermsQuery -> Maybe CommonMinimumMatch
+ Database.V1.Bloodhound.Types: [commonQuery] :: CommonTermsQuery -> QueryString
+ Database.V1.Bloodhound.Types: [constraintBox] :: GeoBoundingBoxConstraint -> GeoBoundingBox
+ Database.V1.Bloodhound.Types: [cpuCacheSize] :: CPUInfo -> Bytes
+ Database.V1.Bloodhound.Types: [cpuCoresPerSocket] :: CPUInfo -> Int
+ Database.V1.Bloodhound.Types: [cpuMHZ] :: CPUInfo -> Int
+ Database.V1.Bloodhound.Types: [cpuModel] :: CPUInfo -> Text
+ Database.V1.Bloodhound.Types: [cpuTotalCores] :: CPUInfo -> Int
+ Database.V1.Bloodhound.Types: [cpuTotalSockets] :: CPUInfo -> Int
+ Database.V1.Bloodhound.Types: [cpuVendor] :: CPUInfo -> Text
+ Database.V1.Bloodhound.Types: [dateAggs] :: DateHistogramAggregation -> Maybe Aggregations
+ Database.V1.Bloodhound.Types: [dateDocCount] :: DateHistogramResult -> Int
+ Database.V1.Bloodhound.Types: [dateField] :: DateHistogramAggregation -> FieldName
+ Database.V1.Bloodhound.Types: [dateFormat] :: DateHistogramAggregation -> Maybe Text
+ Database.V1.Bloodhound.Types: [dateHistogramAggs] :: DateHistogramResult -> Maybe AggregationResults
+ Database.V1.Bloodhound.Types: [dateInterval] :: DateHistogramAggregation -> Interval
+ Database.V1.Bloodhound.Types: [dateKeyStr] :: DateHistogramResult -> Maybe Text
+ Database.V1.Bloodhound.Types: [dateKey] :: DateHistogramResult -> Int
+ Database.V1.Bloodhound.Types: [datePostOffset] :: DateHistogramAggregation -> Maybe Text
+ Database.V1.Bloodhound.Types: [datePostZone] :: DateHistogramAggregation -> Maybe Text
+ Database.V1.Bloodhound.Types: [datePreOffset] :: DateHistogramAggregation -> Maybe Text
+ Database.V1.Bloodhound.Types: [datePreZone] :: DateHistogramAggregation -> Maybe Text
+ Database.V1.Bloodhound.Types: [dateRangeAggs] :: DateRangeResult -> Maybe AggregationResults
+ Database.V1.Bloodhound.Types: [dateRangeDocCount] :: DateRangeResult -> Int
+ Database.V1.Bloodhound.Types: [dateRangeFromAsString] :: DateRangeResult -> Maybe Text
+ Database.V1.Bloodhound.Types: [dateRangeFrom] :: DateRangeResult -> Maybe UTCTime
+ Database.V1.Bloodhound.Types: [dateRangeKey] :: DateRangeResult -> Text
+ Database.V1.Bloodhound.Types: [dateRangeToAsString] :: DateRangeResult -> Maybe Text
+ Database.V1.Bloodhound.Types: [dateRangeTo] :: DateRangeResult -> Maybe UTCTime
+ Database.V1.Bloodhound.Types: [disMaxBoost] :: DisMaxQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [disMaxQueries] :: DisMaxQuery -> [Query]
+ Database.V1.Bloodhound.Types: [disMaxTiebreaker] :: DisMaxQuery -> Tiebreaker
+ Database.V1.Bloodhound.Types: [distanceFrom] :: DistanceRange -> Distance
+ Database.V1.Bloodhound.Types: [distanceTo] :: DistanceRange -> Distance
+ Database.V1.Bloodhound.Types: [draField] :: DateRangeAggregation -> FieldName
+ Database.V1.Bloodhound.Types: [draFormat] :: DateRangeAggregation -> Maybe Text
+ Database.V1.Bloodhound.Types: [draRanges] :: DateRangeAggregation -> NonEmpty DateRangeAggRange
+ Database.V1.Bloodhound.Types: [encoder] :: CommonHighlight -> Maybe HighlightEncoder
+ Database.V1.Bloodhound.Types: [errorMessage] :: EsError -> Text
+ Database.V1.Bloodhound.Types: [errorStatus] :: EsError -> Int
+ Database.V1.Bloodhound.Types: [esAddress] :: EsAddress -> Text
+ Database.V1.Bloodhound.Types: [esPassword] :: EsPassword -> Text
+ Database.V1.Bloodhound.Types: [esProtoExBody] :: EsProtocolException -> ByteString
+ Database.V1.Bloodhound.Types: [esUsername] :: EsUsername -> Text
+ Database.V1.Bloodhound.Types: [faAggs] :: FilterAggregation -> Maybe Aggregations
+ Database.V1.Bloodhound.Types: [faFilter] :: FilterAggregation -> Filter
+ Database.V1.Bloodhound.Types: [fieldDefinition] :: MappingField -> FieldDefinition
+ Database.V1.Bloodhound.Types: [fieldType] :: FieldDefinition -> FieldType
+ Database.V1.Bloodhound.Types: [fields] :: Search -> Maybe [FieldName]
+ Database.V1.Bloodhound.Types: [filterBody] :: Search -> Maybe Filter
+ Database.V1.Bloodhound.Types: [filteredFilter] :: FilteredQuery -> Filter
+ Database.V1.Bloodhound.Types: [filteredQuery] :: FilteredQuery -> Query
+ Database.V1.Bloodhound.Types: [flushAfterOptimize] :: IndexOptimizationSettings -> Bool
+ Database.V1.Bloodhound.Types: [forceSource] :: CommonHighlight -> Maybe Bool
+ Database.V1.Bloodhound.Types: [foundResult] :: EsResult a -> Maybe (EsResultFound a)
+ Database.V1.Bloodhound.Types: [fragmentOffset] :: FastVectorHighlight -> Maybe Int
+ Database.V1.Bloodhound.Types: [fragmentSize] :: NonPostings -> Maybe Int
+ Database.V1.Bloodhound.Types: [from] :: Search -> From
+ Database.V1.Bloodhound.Types: [fsrChunkSize] :: FsSnapshotRepo -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [fsrCompressMetadata] :: FsSnapshotRepo -> Bool
+ Database.V1.Bloodhound.Types: [fsrLocation] :: FsSnapshotRepo -> FilePath
+ Database.V1.Bloodhound.Types: [fsrMaxRestoreBytesPerSec] :: FsSnapshotRepo -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [fsrMaxSnapshotBytesPerSec] :: FsSnapshotRepo -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [fsrName] :: FsSnapshotRepo -> SnapshotRepoName
+ Database.V1.Bloodhound.Types: [fullNodeId] :: FullNodeId -> Text
+ Database.V1.Bloodhound.Types: [fuzzyLikeAnalyzer] :: FuzzyLikeThisQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [fuzzyLikeBoost] :: FuzzyLikeThisQuery -> Boost
+ Database.V1.Bloodhound.Types: [fuzzyLikeFieldAnalyzer] :: FuzzyLikeFieldQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [fuzzyLikeFieldBoost] :: FuzzyLikeFieldQuery -> Boost
+ Database.V1.Bloodhound.Types: [fuzzyLikeFieldFuzziness] :: FuzzyLikeFieldQuery -> Fuzziness
+ Database.V1.Bloodhound.Types: [fuzzyLikeFieldIgnoreTermFrequency] :: FuzzyLikeFieldQuery -> IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: [fuzzyLikeFieldMaxQueryTerms] :: FuzzyLikeFieldQuery -> MaxQueryTerms
+ Database.V1.Bloodhound.Types: [fuzzyLikeFieldPrefixLength] :: FuzzyLikeFieldQuery -> PrefixLength
+ Database.V1.Bloodhound.Types: [fuzzyLikeFieldText] :: FuzzyLikeFieldQuery -> Text
+ Database.V1.Bloodhound.Types: [fuzzyLikeField] :: FuzzyLikeFieldQuery -> FieldName
+ Database.V1.Bloodhound.Types: [fuzzyLikeFields] :: FuzzyLikeThisQuery -> [FieldName]
+ Database.V1.Bloodhound.Types: [fuzzyLikeFuzziness] :: FuzzyLikeThisQuery -> Fuzziness
+ Database.V1.Bloodhound.Types: [fuzzyLikeIgnoreTermFrequency] :: FuzzyLikeThisQuery -> IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: [fuzzyLikeMaxQueryTerms] :: FuzzyLikeThisQuery -> MaxQueryTerms
+ Database.V1.Bloodhound.Types: [fuzzyLikePrefixLength] :: FuzzyLikeThisQuery -> PrefixLength
+ Database.V1.Bloodhound.Types: [fuzzyLikeText] :: FuzzyLikeThisQuery -> Text
+ Database.V1.Bloodhound.Types: [fuzzyQueryBoost] :: FuzzyQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [fuzzyQueryField] :: FuzzyQuery -> FieldName
+ Database.V1.Bloodhound.Types: [fuzzyQueryFuzziness] :: FuzzyQuery -> Fuzziness
+ Database.V1.Bloodhound.Types: [fuzzyQueryMaxExpansions] :: FuzzyQuery -> MaxExpansions
+ Database.V1.Bloodhound.Types: [fuzzyQueryPrefixLength] :: FuzzyQuery -> PrefixLength
+ Database.V1.Bloodhound.Types: [fuzzyQueryValue] :: FuzzyQuery -> Text
+ Database.V1.Bloodhound.Types: [fvCommon] :: FastVectorHighlight -> Maybe CommonHighlight
+ Database.V1.Bloodhound.Types: [fvNonPostSettings] :: FastVectorHighlight -> Maybe NonPostings
+ Database.V1.Bloodhound.Types: [gSnapshotRepoName] :: GenericSnapshotRepo -> SnapshotRepoName
+ Database.V1.Bloodhound.Types: [gSnapshotRepoSettingsObject] :: GenericSnapshotRepoSettings -> Object
+ Database.V1.Bloodhound.Types: [gSnapshotRepoSettings] :: GenericSnapshotRepo -> GenericSnapshotRepoSettings
+ Database.V1.Bloodhound.Types: [gSnapshotRepoType] :: GenericSnapshotRepo -> SnapshotRepoType
+ Database.V1.Bloodhound.Types: [geoBBField] :: GeoBoundingBoxConstraint -> FieldName
+ Database.V1.Bloodhound.Types: [geoField] :: GeoPoint -> FieldName
+ Database.V1.Bloodhound.Types: [geoType] :: GeoBoundingBoxConstraint -> GeoFilterType
+ Database.V1.Bloodhound.Types: [globalsettings] :: Highlights -> Maybe HighlightSettings
+ Database.V1.Bloodhound.Types: [hasChildQueryScoreType] :: HasChildQuery -> Maybe ScoreType
+ Database.V1.Bloodhound.Types: [hasChildQueryType] :: HasChildQuery -> TypeName
+ Database.V1.Bloodhound.Types: [hasChildQuery] :: HasChildQuery -> Query
+ Database.V1.Bloodhound.Types: [hasParentQueryScoreType] :: HasParentQuery -> Maybe ScoreType
+ Database.V1.Bloodhound.Types: [hasParentQueryType] :: HasParentQuery -> TypeName
+ Database.V1.Bloodhound.Types: [hasParentQuery] :: HasParentQuery -> Query
+ Database.V1.Bloodhound.Types: [highFreq] :: MinimumMatchHighLow -> MinimumMatch
+ Database.V1.Bloodhound.Types: [highlightFields] :: Highlights -> [FieldHighlight]
+ Database.V1.Bloodhound.Types: [highlightQuery] :: CommonHighlight -> Maybe Query
+ Database.V1.Bloodhound.Types: [highlight] :: Search -> Maybe Highlights
+ Database.V1.Bloodhound.Types: [hitDocId] :: Hit a -> DocId
+ Database.V1.Bloodhound.Types: [hitHighlight] :: Hit a -> Maybe HitHighlight
+ Database.V1.Bloodhound.Types: [hitIndex] :: Hit a -> IndexName
+ Database.V1.Bloodhound.Types: [hitScore] :: Hit a -> Score
+ Database.V1.Bloodhound.Types: [hitSource] :: Hit a -> Maybe a
+ Database.V1.Bloodhound.Types: [hitType] :: Hit a -> MappingName
+ Database.V1.Bloodhound.Types: [hitsTotal] :: SearchHits a -> Int
+ Database.V1.Bloodhound.Types: [hits] :: SearchHits a -> [Hit a]
+ Database.V1.Bloodhound.Types: [idsParent] :: IndexDocumentSettings -> Maybe DocumentParent
+ Database.V1.Bloodhound.Types: [idsVersionControl] :: IndexDocumentSettings -> VersionControl
+ Database.V1.Bloodhound.Types: [ignoreUnmapped] :: DefaultSort -> Bool
+ Database.V1.Bloodhound.Types: [indexAliasName] :: IndexAliasName -> IndexName
+ Database.V1.Bloodhound.Types: [indexAliasSummaryAlias] :: IndexAliasSummary -> IndexAlias
+ Database.V1.Bloodhound.Types: [indexAliasSummaryCreate] :: IndexAliasSummary -> IndexAliasCreate
+ Database.V1.Bloodhound.Types: [indexAlias] :: IndexAlias -> IndexAliasName
+ Database.V1.Bloodhound.Types: [indexAliasesSummary] :: IndexAliasesSummary -> [IndexAliasSummary]
+ Database.V1.Bloodhound.Types: [indexReplicas] :: IndexSettings -> ReplicaCount
+ Database.V1.Bloodhound.Types: [indexShards] :: IndexSettings -> ShardCount
+ Database.V1.Bloodhound.Types: [indicesQueryIndices] :: IndicesQuery -> [IndexName]
+ Database.V1.Bloodhound.Types: [indicesQueryNoMatch] :: IndicesQuery -> Maybe Query
+ Database.V1.Bloodhound.Types: [indicesQuery] :: IndicesQuery -> Query
+ Database.V1.Bloodhound.Types: [jvmBufferPoolStatsCount] :: JVMBufferPoolStats -> Int
+ Database.V1.Bloodhound.Types: [jvmBufferPoolStatsTotalCapacity] :: JVMBufferPoolStats -> Bytes
+ Database.V1.Bloodhound.Types: [jvmBufferPoolStatsUsed] :: JVMBufferPoolStats -> Bytes
+ Database.V1.Bloodhound.Types: [jvmGCCollector] :: JVMGCCollector -> Text
+ Database.V1.Bloodhound.Types: [jvmGCStatsCollectionCount] :: JVMGCStats -> Int
+ Database.V1.Bloodhound.Types: [jvmGCStatsCollectionTime] :: JVMGCStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [jvmMemoryInfoDirectMax] :: JVMMemoryInfo -> Bytes
+ Database.V1.Bloodhound.Types: [jvmMemoryInfoHeapInit] :: JVMMemoryInfo -> Bytes
+ Database.V1.Bloodhound.Types: [jvmMemoryInfoHeapMax] :: JVMMemoryInfo -> Bytes
+ Database.V1.Bloodhound.Types: [jvmMemoryInfoNonHeapInit] :: JVMMemoryInfo -> Bytes
+ Database.V1.Bloodhound.Types: [jvmMemoryInfoNonHeapMax] :: JVMMemoryInfo -> Bytes
+ Database.V1.Bloodhound.Types: [jvmMemoryPool] :: JVMMemoryPool -> Text
+ Database.V1.Bloodhound.Types: [jvmPoolStatsMax] :: JVMPoolStats -> Bytes
+ Database.V1.Bloodhound.Types: [jvmPoolStatsPeakMax] :: JVMPoolStats -> Bytes
+ Database.V1.Bloodhound.Types: [jvmPoolStatsPeakUsed] :: JVMPoolStats -> Bytes
+ Database.V1.Bloodhound.Types: [jvmPoolStatsUsed] :: JVMPoolStats -> Bytes
+ Database.V1.Bloodhound.Types: [latLon] :: GeoPoint -> LatLon
+ Database.V1.Bloodhound.Types: [lat] :: LatLon -> Double
+ Database.V1.Bloodhound.Types: [loadAvg15Min] :: LoadAvgs -> Double
+ Database.V1.Bloodhound.Types: [loadAvg1Min] :: LoadAvgs -> Double
+ Database.V1.Bloodhound.Types: [loadAvg5Min] :: LoadAvgs -> Double
+ Database.V1.Bloodhound.Types: [lon] :: LatLon -> Double
+ Database.V1.Bloodhound.Types: [lowFreq] :: MinimumMatchHighLow -> MinimumMatch
+ Database.V1.Bloodhound.Types: [lucene_version] :: Version -> VersionNumber
+ Database.V1.Bloodhound.Types: [maField] :: MissingAggregation -> Text
+ Database.V1.Bloodhound.Types: [macAddress] :: MacAddress -> Text
+ Database.V1.Bloodhound.Types: [mappingFieldName] :: MappingField -> FieldName
+ Database.V1.Bloodhound.Types: [mappingFields] :: Mapping -> [MappingField]
+ Database.V1.Bloodhound.Types: [matchQueryAnalyzer] :: MatchQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [matchQueryBoost] :: MatchQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [matchQueryCutoffFrequency] :: MatchQuery -> Maybe CutoffFrequency
+ Database.V1.Bloodhound.Types: [matchQueryField] :: MatchQuery -> FieldName
+ Database.V1.Bloodhound.Types: [matchQueryLenient] :: MatchQuery -> Maybe Lenient
+ Database.V1.Bloodhound.Types: [matchQueryMatchType] :: MatchQuery -> Maybe MatchQueryType
+ Database.V1.Bloodhound.Types: [matchQueryMaxExpansions] :: MatchQuery -> Maybe MaxExpansions
+ Database.V1.Bloodhound.Types: [matchQueryOperator] :: MatchQuery -> BooleanOperator
+ Database.V1.Bloodhound.Types: [matchQueryQueryString] :: MatchQuery -> QueryString
+ Database.V1.Bloodhound.Types: [matchQueryZeroTerms] :: MatchQuery -> ZeroTermsQuery
+ Database.V1.Bloodhound.Types: [matchedFields] :: FastVectorHighlight -> [Text]
+ Database.V1.Bloodhound.Types: [maxNumSegments] :: IndexOptimizationSettings -> Maybe Int
+ Database.V1.Bloodhound.Types: [maxScore] :: SearchHits a -> Score
+ Database.V1.Bloodhound.Types: [missingDocCount] :: MissingResult -> Int
+ Database.V1.Bloodhound.Types: [missingSort] :: DefaultSort -> Maybe Missing
+ Database.V1.Bloodhound.Types: [moreLikeThisAnalyzer] :: MoreLikeThisQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [moreLikeThisBoostTerms] :: MoreLikeThisQuery -> Maybe BoostTerms
+ Database.V1.Bloodhound.Types: [moreLikeThisBoost] :: MoreLikeThisQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldAnalyzer] :: MoreLikeThisFieldQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldBoostTerms] :: MoreLikeThisFieldQuery -> Maybe BoostTerms
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldBoost] :: MoreLikeThisFieldQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldFields] :: MoreLikeThisFieldQuery -> FieldName
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldMaxDocFrequency] :: MoreLikeThisFieldQuery -> Maybe MaxDocFrequency
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldMaxQueryTerms] :: MoreLikeThisFieldQuery -> Maybe MaxQueryTerms
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldMaxWordLength] :: MoreLikeThisFieldQuery -> Maybe MaxWordLength
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldMinDocFrequency] :: MoreLikeThisFieldQuery -> Maybe MinDocFrequency
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldMinWordLength] :: MoreLikeThisFieldQuery -> Maybe MinWordLength
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldMinimumTermFreq] :: MoreLikeThisFieldQuery -> Maybe MinimumTermFrequency
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldPercentMatch] :: MoreLikeThisFieldQuery -> Maybe PercentMatch
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldStopWords] :: MoreLikeThisFieldQuery -> Maybe (NonEmpty StopWord)
+ Database.V1.Bloodhound.Types: [moreLikeThisFieldText] :: MoreLikeThisFieldQuery -> Text
+ Database.V1.Bloodhound.Types: [moreLikeThisFields] :: MoreLikeThisQuery -> Maybe (NonEmpty FieldName)
+ Database.V1.Bloodhound.Types: [moreLikeThisMaxDocFrequency] :: MoreLikeThisQuery -> Maybe MaxDocFrequency
+ Database.V1.Bloodhound.Types: [moreLikeThisMaxQueryTerms] :: MoreLikeThisQuery -> Maybe MaxQueryTerms
+ Database.V1.Bloodhound.Types: [moreLikeThisMaxWordLength] :: MoreLikeThisQuery -> Maybe MaxWordLength
+ Database.V1.Bloodhound.Types: [moreLikeThisMinDocFrequency] :: MoreLikeThisQuery -> Maybe MinDocFrequency
+ Database.V1.Bloodhound.Types: [moreLikeThisMinWordLength] :: MoreLikeThisQuery -> Maybe MinWordLength
+ Database.V1.Bloodhound.Types: [moreLikeThisMinimumTermFreq] :: MoreLikeThisQuery -> Maybe MinimumTermFrequency
+ Database.V1.Bloodhound.Types: [moreLikeThisPercentMatch] :: MoreLikeThisQuery -> Maybe PercentMatch
+ Database.V1.Bloodhound.Types: [moreLikeThisStopWords] :: MoreLikeThisQuery -> Maybe (NonEmpty StopWord)
+ Database.V1.Bloodhound.Types: [moreLikeThisText] :: MoreLikeThisQuery -> Text
+ Database.V1.Bloodhound.Types: [multiMatchQueryAnalyzer] :: MultiMatchQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [multiMatchQueryCutoffFrequency] :: MultiMatchQuery -> Maybe CutoffFrequency
+ Database.V1.Bloodhound.Types: [multiMatchQueryFields] :: MultiMatchQuery -> [FieldName]
+ Database.V1.Bloodhound.Types: [multiMatchQueryLenient] :: MultiMatchQuery -> Maybe Lenient
+ Database.V1.Bloodhound.Types: [multiMatchQueryMaxExpansions] :: MultiMatchQuery -> Maybe MaxExpansions
+ Database.V1.Bloodhound.Types: [multiMatchQueryOperator] :: MultiMatchQuery -> BooleanOperator
+ Database.V1.Bloodhound.Types: [multiMatchQueryString] :: MultiMatchQuery -> QueryString
+ Database.V1.Bloodhound.Types: [multiMatchQueryTiebreaker] :: MultiMatchQuery -> Maybe Tiebreaker
+ Database.V1.Bloodhound.Types: [multiMatchQueryType] :: MultiMatchQuery -> Maybe MultiMatchQueryType
+ Database.V1.Bloodhound.Types: [multiMatchQueryZeroTerms] :: MultiMatchQuery -> ZeroTermsQuery
+ Database.V1.Bloodhound.Types: [name] :: Status -> Text
+ Database.V1.Bloodhound.Types: [negativeBoost] :: BoostingQuery -> Boost
+ Database.V1.Bloodhound.Types: [negativeQuery] :: BoostingQuery -> Query
+ Database.V1.Bloodhound.Types: [nestedFilter] :: DefaultSort -> Maybe Filter
+ Database.V1.Bloodhound.Types: [nestedQueryPath] :: NestedQuery -> QueryPath
+ Database.V1.Bloodhound.Types: [nestedQueryScoreType] :: NestedQuery -> ScoreType
+ Database.V1.Bloodhound.Types: [nestedQuery] :: NestedQuery -> Query
+ Database.V1.Bloodhound.Types: [networkInterfaceName] :: NetworkInterfaceName -> Text
+ Database.V1.Bloodhound.Types: [noMatchSize] :: CommonHighlight -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeAttrFilterName] :: NodeAttrFilter -> NodeAttrName
+ Database.V1.Bloodhound.Types: [nodeAttrFilterValues] :: NodeAttrFilter -> NonEmpty Text
+ Database.V1.Bloodhound.Types: [nodeBreakersEstSize] :: NodeBreakerStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeBreakersLimitSize] :: NodeBreakerStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeBreakersOverhead] :: NodeBreakerStats -> Double
+ Database.V1.Bloodhound.Types: [nodeBreakersTripped] :: NodeBreakerStats -> Int
+ Database.V1.Bloodhound.Types: [nodeDataPathAvailable] :: NodeDataPathStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeDataPathDevice] :: NodeDataPathStats -> Text
+ Database.V1.Bloodhound.Types: [nodeDataPathDiskQueue] :: NodeDataPathStats -> Maybe Double
+ Database.V1.Bloodhound.Types: [nodeDataPathDiskServiceTime] :: NodeDataPathStats -> Maybe Double
+ Database.V1.Bloodhound.Types: [nodeDataPathFree] :: NodeDataPathStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeDataPathIOOps] :: NodeDataPathStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeDataPathIOSize] :: NodeDataPathStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeDataPathMount] :: NodeDataPathStats -> Text
+ Database.V1.Bloodhound.Types: [nodeDataPathPath] :: NodeDataPathStats -> Text
+ Database.V1.Bloodhound.Types: [nodeDataPathReadSize] :: NodeDataPathStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeDataPathReads] :: NodeDataPathStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeDataPathTotal] :: NodeDataPathStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeDataPathType] :: NodeDataPathStats -> Maybe Text
+ Database.V1.Bloodhound.Types: [nodeDataPathWriteSize] :: NodeDataPathStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeDataPathWrites] :: NodeDataPathStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeFSDataPaths] :: NodeFSStats -> [NodeDataPathStats]
+ Database.V1.Bloodhound.Types: [nodeFSTimestamp] :: NodeFSStats -> UTCTime
+ Database.V1.Bloodhound.Types: [nodeFSTotalAvailable] :: NodeFSTotalStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeFSTotalDiskQueue] :: NodeFSTotalStats -> Maybe Double
+ Database.V1.Bloodhound.Types: [nodeFSTotalDiskServiceTime] :: NodeFSTotalStats -> Maybe Double
+ Database.V1.Bloodhound.Types: [nodeFSTotalFree] :: NodeFSTotalStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeFSTotalIOOps] :: NodeFSTotalStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeFSTotalIOSize] :: NodeFSTotalStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeFSTotalReadSize] :: NodeFSTotalStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeFSTotalReads] :: NodeFSTotalStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeFSTotalTotal] :: NodeFSTotalStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeFSTotalWriteSize] :: NodeFSTotalStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeFSTotalWrites] :: NodeFSTotalStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeFSTotal] :: NodeFSStats -> NodeFSTotalStats
+ Database.V1.Bloodhound.Types: [nodeHTTPCurrentOpen] :: NodeHTTPStats -> Int
+ Database.V1.Bloodhound.Types: [nodeHTTPMaxContentLength] :: NodeHTTPInfo -> Bytes
+ Database.V1.Bloodhound.Types: [nodeHTTPTotalOpened] :: NodeHTTPStats -> Int
+ Database.V1.Bloodhound.Types: [nodeHTTPTransportAddress] :: NodeHTTPInfo -> BoundTransportAddress
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsCompletionSize] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsDocsCount] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsDocsDeleted] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsFieldDataEvictions] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsFieldDataMemory] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsFilterCacheEvictions] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsFilterCacheMemory] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsFlushTotalTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsFlushTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsGetCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsGetExistsTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsGetExistsTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsGetMissingTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsGetMissingTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsGetTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsGetTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIDCacheMemory] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingIndexCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingIndexTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingIsThrottled] :: NodeIndicesStats -> Maybe Bool
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingNoopUpdateTotal] :: NodeIndicesStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingThrottleTime] :: NodeIndicesStats -> Maybe NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsIndexingTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsMergesCurrentDocs] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsMergesCurrentSize] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsMergesCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsMergesTotalDocs] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsMergesTotalSize] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsMergesTotalTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsMergesTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsPercolateCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsPercolateMemory] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsPercolateQueries] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsPercolateTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsPercolateTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsQueryCacheEvictions] :: NodeIndicesStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsQueryCacheHits] :: NodeIndicesStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsQueryCacheMisses] :: NodeIndicesStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsQueryCacheSize] :: NodeIndicesStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsRecoveryCurrentAsSource] :: NodeIndicesStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsRecoveryCurrentAsTarget] :: NodeIndicesStats -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsRecoveryThrottleTime] :: NodeIndicesStats -> Maybe NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsRefreshTotalTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsRefreshTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSearchFetchCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSearchFetchTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSearchFetchTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSearchOpenContexts] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSearchQueryCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSearchQueryTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSearchQueryTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSegCount] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSegFixedBitSetMemory] :: NodeIndicesStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSegIndexWriterMaxMemory] :: NodeIndicesStats -> Maybe Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSegIndexWriterMemory] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSegMemory] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSegVersionMapMemory] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsStoreSize] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsStoreThrottleTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSuggestCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSuggestTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsSuggestTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsTranslogOps] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsTranslogSize] :: NodeIndicesStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsWarmerCurrent] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsWarmerTotalTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeIndicesStatsWarmerTotal] :: NodeIndicesStats -> Int
+ Database.V1.Bloodhound.Types: [nodeInfoBuild] :: NodeInfo -> BuildHash
+ Database.V1.Bloodhound.Types: [nodeInfoESVersion] :: NodeInfo -> VersionNumber
+ Database.V1.Bloodhound.Types: [nodeInfoFullId] :: NodeInfo -> FullNodeId
+ Database.V1.Bloodhound.Types: [nodeInfoHTTPAddress] :: NodeInfo -> EsAddress
+ Database.V1.Bloodhound.Types: [nodeInfoHTTP] :: NodeInfo -> NodeHTTPInfo
+ Database.V1.Bloodhound.Types: [nodeInfoHost] :: NodeInfo -> Server
+ Database.V1.Bloodhound.Types: [nodeInfoIP] :: NodeInfo -> Server
+ Database.V1.Bloodhound.Types: [nodeInfoJVM] :: NodeInfo -> NodeJVMInfo
+ Database.V1.Bloodhound.Types: [nodeInfoName] :: NodeInfo -> NodeName
+ Database.V1.Bloodhound.Types: [nodeInfoNetwork] :: NodeInfo -> NodeNetworkInfo
+ Database.V1.Bloodhound.Types: [nodeInfoOS] :: NodeInfo -> NodeOSInfo
+ Database.V1.Bloodhound.Types: [nodeInfoPlugins] :: NodeInfo -> [NodePluginInfo]
+ Database.V1.Bloodhound.Types: [nodeInfoProcess] :: NodeInfo -> NodeProcessInfo
+ Database.V1.Bloodhound.Types: [nodeInfoSettings] :: NodeInfo -> Object
+ Database.V1.Bloodhound.Types: [nodeInfoThreadPool] :: NodeInfo -> NodeThreadPoolsInfo
+ Database.V1.Bloodhound.Types: [nodeInfoTransportAddress] :: NodeInfo -> EsAddress
+ Database.V1.Bloodhound.Types: [nodeInfoTransport] :: NodeInfo -> NodeTransportInfo
+ Database.V1.Bloodhound.Types: [nodeJVMInfoMemoryInfo] :: NodeJVMInfo -> JVMMemoryInfo
+ Database.V1.Bloodhound.Types: [nodeJVMInfoMemoryPoolsGCCollectors] :: NodeJVMInfo -> [JVMGCCollector]
+ Database.V1.Bloodhound.Types: [nodeJVMInfoMemoryPools] :: NodeJVMInfo -> [JVMMemoryPool]
+ Database.V1.Bloodhound.Types: [nodeJVMInfoStartTime] :: NodeJVMInfo -> UTCTime
+ Database.V1.Bloodhound.Types: [nodeJVMInfoVMVendor] :: NodeJVMInfo -> Text
+ Database.V1.Bloodhound.Types: [nodeJVMPID] :: NodeJVMInfo -> PID
+ Database.V1.Bloodhound.Types: [nodeJVMStatsDirectBufferPool] :: NodeJVMStats -> JVMBufferPoolStats
+ Database.V1.Bloodhound.Types: [nodeJVMStatsGCOldCollector] :: NodeJVMStats -> JVMGCStats
+ Database.V1.Bloodhound.Types: [nodeJVMStatsGCYoungCollector] :: NodeJVMStats -> JVMGCStats
+ Database.V1.Bloodhound.Types: [nodeJVMStatsHeapCommitted] :: NodeJVMStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeJVMStatsHeapMax] :: NodeJVMStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeJVMStatsHeapUsedPercent] :: NodeJVMStats -> Int
+ Database.V1.Bloodhound.Types: [nodeJVMStatsHeapUsed] :: NodeJVMStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeJVMStatsMappedBufferPool] :: NodeJVMStats -> JVMBufferPoolStats
+ Database.V1.Bloodhound.Types: [nodeJVMStatsNonHeapCommitted] :: NodeJVMStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeJVMStatsNonHeapUsed] :: NodeJVMStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeJVMStatsOldPool] :: NodeJVMStats -> JVMPoolStats
+ Database.V1.Bloodhound.Types: [nodeJVMStatsPeakThreadsCount] :: NodeJVMStats -> Int
+ Database.V1.Bloodhound.Types: [nodeJVMStatsSurvivorPool] :: NodeJVMStats -> JVMPoolStats
+ Database.V1.Bloodhound.Types: [nodeJVMStatsThreadsCount] :: NodeJVMStats -> Int
+ Database.V1.Bloodhound.Types: [nodeJVMStatsTimestamp] :: NodeJVMStats -> UTCTime
+ Database.V1.Bloodhound.Types: [nodeJVMStatsUptime] :: NodeJVMStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeJVMStatsYoungPool] :: NodeJVMStats -> JVMPoolStats
+ Database.V1.Bloodhound.Types: [nodeJVMVMName] :: NodeJVMInfo -> Text
+ Database.V1.Bloodhound.Types: [nodeJVMVMVersion] :: NodeJVMInfo -> VersionNumber
+ Database.V1.Bloodhound.Types: [nodeJVMVersion] :: NodeJVMInfo -> VersionNumber
+ Database.V1.Bloodhound.Types: [nodeName] :: NodeName -> Text
+ Database.V1.Bloodhound.Types: [nodeNetIfaceAddress] :: NodeNetworkInterface -> Server
+ Database.V1.Bloodhound.Types: [nodeNetIfaceMacAddress] :: NodeNetworkInterface -> MacAddress
+ Database.V1.Bloodhound.Types: [nodeNetIfaceName] :: NodeNetworkInterface -> NetworkInterfaceName
+ Database.V1.Bloodhound.Types: [nodeNetTCPActiveOpens] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPAttemptFails] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPCurrEstab] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPEstabResets] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPInErrs] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPInSegs] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPOutRSTs] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPOutSegs] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPPassiveOpens] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetTCPRetransSegs] :: NodeNetworkStats -> Int
+ Database.V1.Bloodhound.Types: [nodeNetworkPrimaryInterface] :: NodeNetworkInfo -> NodeNetworkInterface
+ Database.V1.Bloodhound.Types: [nodeNetworkRefreshInterval] :: NodeNetworkInfo -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeOSAvailableProcessors] :: NodeOSInfo -> Int
+ Database.V1.Bloodhound.Types: [nodeOSCPUIdle] :: NodeOSStats -> Int
+ Database.V1.Bloodhound.Types: [nodeOSCPUInfo] :: NodeOSInfo -> CPUInfo
+ Database.V1.Bloodhound.Types: [nodeOSCPUStolen] :: NodeOSStats -> Int
+ Database.V1.Bloodhound.Types: [nodeOSCPUSys] :: NodeOSStats -> Int
+ Database.V1.Bloodhound.Types: [nodeOSCPUUsage] :: NodeOSStats -> Int
+ Database.V1.Bloodhound.Types: [nodeOSCPUUser] :: NodeOSStats -> Int
+ Database.V1.Bloodhound.Types: [nodeOSLoad] :: NodeOSStats -> Maybe LoadAvgs
+ Database.V1.Bloodhound.Types: [nodeOSMemActualFree] :: NodeOSStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeOSMemActualUsed] :: NodeOSStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeOSMemFreePercent] :: NodeOSStats -> Int
+ Database.V1.Bloodhound.Types: [nodeOSMemFree] :: NodeOSStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeOSMemUsedPercent] :: NodeOSStats -> Int
+ Database.V1.Bloodhound.Types: [nodeOSMemUsed] :: NodeOSStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeOSMem] :: NodeOSInfo -> Bytes
+ Database.V1.Bloodhound.Types: [nodeOSRefreshInterval] :: NodeOSInfo -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeOSSwapFree] :: NodeOSStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeOSSwapUsed] :: NodeOSStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeOSSwap] :: NodeOSInfo -> Bytes
+ Database.V1.Bloodhound.Types: [nodeOSTimestamp] :: NodeOSStats -> UTCTime
+ Database.V1.Bloodhound.Types: [nodeOSUptime] :: NodeOSStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodePluginDescription] :: NodePluginInfo -> Text
+ Database.V1.Bloodhound.Types: [nodePluginJVM] :: NodePluginInfo -> Bool
+ Database.V1.Bloodhound.Types: [nodePluginName] :: NodePluginInfo -> PluginName
+ Database.V1.Bloodhound.Types: [nodePluginSite] :: NodePluginInfo -> Bool
+ Database.V1.Bloodhound.Types: [nodePluginVersion] :: NodePluginInfo -> MaybeNA VersionNumber
+ Database.V1.Bloodhound.Types: [nodeProcessCPUPercent] :: NodeProcessStats -> Int
+ Database.V1.Bloodhound.Types: [nodeProcessCPUSys] :: NodeProcessStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeProcessCPUTotal] :: NodeProcessStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeProcessCPUUser] :: NodeProcessStats -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeProcessId] :: NodeProcessInfo -> PID
+ Database.V1.Bloodhound.Types: [nodeProcessMLockAll] :: NodeProcessInfo -> Bool
+ Database.V1.Bloodhound.Types: [nodeProcessMaxFileDescriptors] :: NodeProcessInfo -> Int
+ Database.V1.Bloodhound.Types: [nodeProcessMemResident] :: NodeProcessStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeProcessMemShare] :: NodeProcessStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeProcessMemTotalVirtual] :: NodeProcessStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeProcessOpenFDs] :: NodeProcessStats -> Int
+ Database.V1.Bloodhound.Types: [nodeProcessRefreshInterval] :: NodeProcessInfo -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeProcessTimestamp] :: NodeProcessStats -> UTCTime
+ Database.V1.Bloodhound.Types: [nodeStatsBreakersStats] :: NodeStats -> Maybe NodeBreakersStats
+ Database.V1.Bloodhound.Types: [nodeStatsFS] :: NodeStats -> NodeFSStats
+ Database.V1.Bloodhound.Types: [nodeStatsFieldDataBreaker] :: NodeBreakersStats -> NodeBreakerStats
+ Database.V1.Bloodhound.Types: [nodeStatsFullId] :: NodeStats -> FullNodeId
+ Database.V1.Bloodhound.Types: [nodeStatsHTTP] :: NodeStats -> NodeHTTPStats
+ Database.V1.Bloodhound.Types: [nodeStatsIndices] :: NodeStats -> NodeIndicesStats
+ Database.V1.Bloodhound.Types: [nodeStatsJVM] :: NodeStats -> NodeJVMStats
+ Database.V1.Bloodhound.Types: [nodeStatsName] :: NodeStats -> NodeName
+ Database.V1.Bloodhound.Types: [nodeStatsNetwork] :: NodeStats -> NodeNetworkStats
+ Database.V1.Bloodhound.Types: [nodeStatsOS] :: NodeStats -> NodeOSStats
+ Database.V1.Bloodhound.Types: [nodeStatsParentBreaker] :: NodeBreakersStats -> NodeBreakerStats
+ Database.V1.Bloodhound.Types: [nodeStatsProcess] :: NodeStats -> NodeProcessStats
+ Database.V1.Bloodhound.Types: [nodeStatsRequestBreaker] :: NodeBreakersStats -> NodeBreakerStats
+ Database.V1.Bloodhound.Types: [nodeStatsThreadPool] :: NodeStats -> NodeThreadPoolsStats
+ Database.V1.Bloodhound.Types: [nodeStatsTransport] :: NodeStats -> NodeTransportStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolActive] :: NodeThreadPoolStats -> Int
+ Database.V1.Bloodhound.Types: [nodeThreadPoolCompleted] :: NodeThreadPoolStats -> Int
+ Database.V1.Bloodhound.Types: [nodeThreadPoolKeepalive] :: NodeThreadPoolInfo -> Maybe NominalDiffTime
+ Database.V1.Bloodhound.Types: [nodeThreadPoolLargest] :: NodeThreadPoolStats -> Int
+ Database.V1.Bloodhound.Types: [nodeThreadPoolMax] :: NodeThreadPoolInfo -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeThreadPoolMin] :: NodeThreadPoolInfo -> Maybe Int
+ Database.V1.Bloodhound.Types: [nodeThreadPoolQueueSize] :: NodeThreadPoolInfo -> ThreadPoolSize
+ Database.V1.Bloodhound.Types: [nodeThreadPoolQueue] :: NodeThreadPoolStats -> Int
+ Database.V1.Bloodhound.Types: [nodeThreadPoolRejected] :: NodeThreadPoolStats -> Int
+ Database.V1.Bloodhound.Types: [nodeThreadPoolThreads] :: NodeThreadPoolStats -> Int
+ Database.V1.Bloodhound.Types: [nodeThreadPoolType] :: NodeThreadPoolInfo -> ThreadPoolType
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsBulk] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsFetchShardStarted] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsFetchShardStore] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsFlush] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsGeneric] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsGet] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsIndex] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsListener] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsManagement] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsMerge] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsOptimize] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsPercolate] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsRefresh] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsSearch] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsSnapshot] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsBulk] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsFetchShardStarted] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsFetchShardStore] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsFlush] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsGeneric] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsGet] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsIndex] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsListener] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsManagement] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsMerge] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsOptimize] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsPercolate] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsRefresh] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsSearch] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsSnapshot] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsSuggest] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsStatsWarmer] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsSuggest] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeThreadPoolsWarmer] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: [nodeTransportAddress] :: NodeTransportInfo -> BoundTransportAddress
+ Database.V1.Bloodhound.Types: [nodeTransportCount] :: NodeTransportStats -> Int
+ Database.V1.Bloodhound.Types: [nodeTransportProfiles] :: NodeTransportInfo -> [BoundTransportAddress]
+ Database.V1.Bloodhound.Types: [nodeTransportRXCount] :: NodeTransportStats -> Int
+ Database.V1.Bloodhound.Types: [nodeTransportRXSize] :: NodeTransportStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodeTransportServerOpen] :: NodeTransportStats -> Int
+ Database.V1.Bloodhound.Types: [nodeTransportTXSize] :: NodeTransportStats -> Bytes
+ Database.V1.Bloodhound.Types: [nodesClusterName] :: NodesInfo -> ClusterName
+ Database.V1.Bloodhound.Types: [nodesInfo] :: NodesInfo -> [NodeInfo]
+ Database.V1.Bloodhound.Types: [nodesStatsClusterName] :: NodesStats -> ClusterName
+ Database.V1.Bloodhound.Types: [nodesStats] :: NodesStats -> [NodeStats]
+ Database.V1.Bloodhound.Types: [numberOfFragments] :: NonPostings -> Maybe Int
+ Database.V1.Bloodhound.Types: [number] :: Version -> VersionNumber
+ Database.V1.Bloodhound.Types: [ok] :: Status -> Maybe Bool
+ Database.V1.Bloodhound.Types: [onlyExpungeDeletes] :: IndexOptimizationSettings -> Bool
+ Database.V1.Bloodhound.Types: [order] :: CommonHighlight -> Maybe Text
+ Database.V1.Bloodhound.Types: [phraseLimit] :: FastVectorHighlight -> Maybe Int
+ Database.V1.Bloodhound.Types: [pid] :: PID -> Int
+ Database.V1.Bloodhound.Types: [plainCommon] :: PlainHighlight -> Maybe CommonHighlight
+ Database.V1.Bloodhound.Types: [plainNonPost] :: PlainHighlight -> Maybe NonPostings
+ Database.V1.Bloodhound.Types: [pluginName] :: PluginName -> Text
+ Database.V1.Bloodhound.Types: [positiveQuery] :: BoostingQuery -> Query
+ Database.V1.Bloodhound.Types: [precisionThreshold] :: CardinalityAggregation -> Maybe Int
+ Database.V1.Bloodhound.Types: [prefixQueryBoost] :: PrefixQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [prefixQueryField] :: PrefixQuery -> FieldName
+ Database.V1.Bloodhound.Types: [prefixQueryPrefixValue] :: PrefixQuery -> Text
+ Database.V1.Bloodhound.Types: [publishAddress] :: BoundTransportAddress -> EsAddress
+ Database.V1.Bloodhound.Types: [queryBody] :: Search -> Maybe Query
+ Database.V1.Bloodhound.Types: [queryStringAllowLeadingWildcard] :: QueryStringQuery -> Maybe AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: [queryStringAnalyzeWildcard] :: QueryStringQuery -> Maybe AnalyzeWildcard
+ Database.V1.Bloodhound.Types: [queryStringAnalyzer] :: QueryStringQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [queryStringBoost] :: QueryStringQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [queryStringDefaultField] :: QueryStringQuery -> Maybe FieldName
+ Database.V1.Bloodhound.Types: [queryStringEnablePositionIncrements] :: QueryStringQuery -> Maybe EnablePositionIncrements
+ Database.V1.Bloodhound.Types: [queryStringFuzziness] :: QueryStringQuery -> Maybe Fuzziness
+ Database.V1.Bloodhound.Types: [queryStringFuzzyMaxExpansions] :: QueryStringQuery -> Maybe MaxExpansions
+ Database.V1.Bloodhound.Types: [queryStringFuzzyPrefixLength] :: QueryStringQuery -> Maybe PrefixLength
+ Database.V1.Bloodhound.Types: [queryStringGeneratePhraseQueries] :: QueryStringQuery -> Maybe GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: [queryStringLenient] :: QueryStringQuery -> Maybe Lenient
+ Database.V1.Bloodhound.Types: [queryStringLocale] :: QueryStringQuery -> Maybe Locale
+ Database.V1.Bloodhound.Types: [queryStringLowercaseExpanded] :: QueryStringQuery -> Maybe LowercaseExpanded
+ Database.V1.Bloodhound.Types: [queryStringMinimumShouldMatch] :: QueryStringQuery -> Maybe MinimumMatch
+ Database.V1.Bloodhound.Types: [queryStringOperator] :: QueryStringQuery -> Maybe BooleanOperator
+ Database.V1.Bloodhound.Types: [queryStringPhraseSlop] :: QueryStringQuery -> Maybe PhraseSlop
+ Database.V1.Bloodhound.Types: [queryStringQuery] :: QueryStringQuery -> QueryString
+ Database.V1.Bloodhound.Types: [rangeQueryBoost] :: RangeQuery -> Boost
+ Database.V1.Bloodhound.Types: [rangeQueryField] :: RangeQuery -> FieldName
+ Database.V1.Bloodhound.Types: [rangeQueryRange] :: RangeQuery -> RangeValue
+ Database.V1.Bloodhound.Types: [regexpQueryBoost] :: RegexpQuery -> Maybe Boost
+ Database.V1.Bloodhound.Types: [regexpQueryField] :: RegexpQuery -> FieldName
+ Database.V1.Bloodhound.Types: [regexpQueryFlags] :: RegexpQuery -> RegexpFlags
+ Database.V1.Bloodhound.Types: [regexpQuery] :: RegexpQuery -> Regexp
+ Database.V1.Bloodhound.Types: [repoUpdateVerify] :: SnapshotRepoUpdateSettings -> Bool
+ Database.V1.Bloodhound.Types: [requireFieldMatch] :: CommonHighlight -> Maybe Bool
+ Database.V1.Bloodhound.Types: [restoreOverrideReplicas] :: RestoreIndexSettings -> Maybe ReplicaCount
+ Database.V1.Bloodhound.Types: [routingValue] :: RoutingValue -> Text
+ Database.V1.Bloodhound.Types: [rrPattern] :: RestoreRenamePattern -> Text
+ Database.V1.Bloodhound.Types: [sSummaryFixedSettings] :: IndexSettingsSummary -> IndexSettings
+ Database.V1.Bloodhound.Types: [sSummaryIndexName] :: IndexSettingsSummary -> IndexName
+ Database.V1.Bloodhound.Types: [sSummaryUpdateable] :: IndexSettingsSummary -> [UpdatableIndexSetting]
+ Database.V1.Bloodhound.Types: [scriptText] :: Script -> Text
+ Database.V1.Bloodhound.Types: [scrollId] :: SearchResult a -> Maybe ScrollId
+ Database.V1.Bloodhound.Types: [searchHits] :: SearchResult a -> SearchHits a
+ Database.V1.Bloodhound.Types: [searchType] :: Search -> SearchType
+ Database.V1.Bloodhound.Types: [shardId] :: ShardId -> Int
+ Database.V1.Bloodhound.Types: [shardTotal] :: ShardResult -> Int
+ Database.V1.Bloodhound.Types: [shardsFailed] :: ShardResult -> Int
+ Database.V1.Bloodhound.Types: [shardsSuccessful] :: ShardResult -> Int
+ Database.V1.Bloodhound.Types: [shards] :: SearchResult a -> ShardResult
+ Database.V1.Bloodhound.Types: [simpleQueryStringAnalyzer] :: SimpleQueryStringQuery -> Maybe Analyzer
+ Database.V1.Bloodhound.Types: [simpleQueryStringField] :: SimpleQueryStringQuery -> Maybe FieldOrFields
+ Database.V1.Bloodhound.Types: [simpleQueryStringFlags] :: SimpleQueryStringQuery -> Maybe (NonEmpty SimpleQueryFlag)
+ Database.V1.Bloodhound.Types: [simpleQueryStringLocale] :: SimpleQueryStringQuery -> Maybe Locale
+ Database.V1.Bloodhound.Types: [simpleQueryStringLowercaseExpanded] :: SimpleQueryStringQuery -> Maybe LowercaseExpanded
+ Database.V1.Bloodhound.Types: [simpleQueryStringOperator] :: SimpleQueryStringQuery -> Maybe BooleanOperator
+ Database.V1.Bloodhound.Types: [simpleQueryStringQuery] :: SimpleQueryStringQuery -> QueryString
+ Database.V1.Bloodhound.Types: [size] :: Search -> Size
+ Database.V1.Bloodhound.Types: [snapIgnoreUnavailable] :: SnapshotCreateSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapIncludeGlobalState] :: SnapshotCreateSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapIndices] :: SnapshotCreateSettings -> Maybe IndexSelection
+ Database.V1.Bloodhound.Types: [snapInfoDuration] :: SnapshotInfo -> NominalDiffTime
+ Database.V1.Bloodhound.Types: [snapInfoEndTime] :: SnapshotInfo -> UTCTime
+ Database.V1.Bloodhound.Types: [snapInfoFailures] :: SnapshotInfo -> [SnapshotShardFailure]
+ Database.V1.Bloodhound.Types: [snapInfoIndices] :: SnapshotInfo -> [IndexName]
+ Database.V1.Bloodhound.Types: [snapInfoName] :: SnapshotInfo -> SnapshotName
+ Database.V1.Bloodhound.Types: [snapInfoShards] :: SnapshotInfo -> ShardResult
+ Database.V1.Bloodhound.Types: [snapInfoStartTime] :: SnapshotInfo -> UTCTime
+ Database.V1.Bloodhound.Types: [snapInfoState] :: SnapshotInfo -> SnapshotState
+ Database.V1.Bloodhound.Types: [snapPartial] :: SnapshotCreateSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapRestoreIgnoreIndexSettings] :: SnapshotRestoreSettings -> Maybe (NonEmpty Text)
+ Database.V1.Bloodhound.Types: [snapRestoreIgnoreUnavailable] :: SnapshotRestoreSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapRestoreIncludeAliases] :: SnapshotRestoreSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapRestoreIncludeGlobalState] :: SnapshotRestoreSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapRestoreIndexSettingsOverrides] :: SnapshotRestoreSettings -> Maybe RestoreIndexSettings
+ Database.V1.Bloodhound.Types: [snapRestoreIndices] :: SnapshotRestoreSettings -> Maybe IndexSelection
+ Database.V1.Bloodhound.Types: [snapRestorePartial] :: SnapshotRestoreSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapRestoreRenamePattern] :: SnapshotRestoreSettings -> Maybe RestoreRenamePattern
+ Database.V1.Bloodhound.Types: [snapRestoreRenameReplacement] :: SnapshotRestoreSettings -> Maybe (NonEmpty RestoreRenameToken)
+ Database.V1.Bloodhound.Types: [snapRestoreWaitForCompletion] :: SnapshotRestoreSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapShardFailureIndex] :: SnapshotShardFailure -> IndexName
+ Database.V1.Bloodhound.Types: [snapShardFailureNodeId] :: SnapshotShardFailure -> Maybe NodeName
+ Database.V1.Bloodhound.Types: [snapShardFailureReason] :: SnapshotShardFailure -> Text
+ Database.V1.Bloodhound.Types: [snapShardFailureShardId] :: SnapshotShardFailure -> ShardId
+ Database.V1.Bloodhound.Types: [snapWaitForCompletion] :: SnapshotCreateSettings -> Bool
+ Database.V1.Bloodhound.Types: [snapshotName] :: SnapshotName -> Text
+ Database.V1.Bloodhound.Types: [snapshotNodeVerifications] :: SnapshotVerification -> [SnapshotNodeVerification]
+ Database.V1.Bloodhound.Types: [snapshotRepoName] :: SnapshotRepoName -> Text
+ Database.V1.Bloodhound.Types: [snapshotRepoType] :: SnapshotRepoType -> Text
+ Database.V1.Bloodhound.Types: [snvFullId] :: SnapshotNodeVerification -> FullNodeId
+ Database.V1.Bloodhound.Types: [snvNodeName] :: SnapshotNodeVerification -> NodeName
+ Database.V1.Bloodhound.Types: [sortBody] :: Search -> Maybe Sort
+ Database.V1.Bloodhound.Types: [sortFieldName] :: DefaultSort -> FieldName
+ Database.V1.Bloodhound.Types: [sortMode] :: DefaultSort -> Maybe SortMode
+ Database.V1.Bloodhound.Types: [sortOrder] :: DefaultSort -> SortOrder
+ Database.V1.Bloodhound.Types: [source] :: Search -> Maybe Source
+ Database.V1.Bloodhound.Types: [srcIndex] :: IndexAlias -> IndexName
+ Database.V1.Bloodhound.Types: [status] :: Status -> Int
+ Database.V1.Bloodhound.Types: [taFrom] :: TopHitsAggregation -> Maybe From
+ Database.V1.Bloodhound.Types: [taSize] :: TopHitsAggregation -> Maybe Size
+ Database.V1.Bloodhound.Types: [taSort] :: TopHitsAggregation -> Maybe Sort
+ Database.V1.Bloodhound.Types: [tag] :: CommonHighlight -> Maybe HighlightTag
+ Database.V1.Bloodhound.Types: [tagline] :: Status -> Text
+ Database.V1.Bloodhound.Types: [tarHits] :: TopHitResult a -> (SearchHits a)
+ Database.V1.Bloodhound.Types: [templateMappings] :: IndexTemplate -> [Value]
+ Database.V1.Bloodhound.Types: [templatePattern] :: IndexTemplate -> TemplatePattern
+ Database.V1.Bloodhound.Types: [templateSettings] :: IndexTemplate -> Maybe IndexSettings
+ Database.V1.Bloodhound.Types: [termAggs] :: TermsAggregation -> Maybe Aggregations
+ Database.V1.Bloodhound.Types: [termCollectMode] :: TermsAggregation -> Maybe CollectionMode
+ Database.V1.Bloodhound.Types: [termExclude] :: TermsAggregation -> Maybe TermInclusion
+ Database.V1.Bloodhound.Types: [termExecutionHint] :: TermsAggregation -> Maybe ExecutionHint
+ Database.V1.Bloodhound.Types: [termField] :: Term -> Text
+ Database.V1.Bloodhound.Types: [termInclude] :: TermsAggregation -> Maybe TermInclusion
+ Database.V1.Bloodhound.Types: [termKey] :: TermsResult -> BucketValue
+ Database.V1.Bloodhound.Types: [termMinDocCount] :: TermsAggregation -> Maybe Int
+ Database.V1.Bloodhound.Types: [termOrder] :: TermsAggregation -> Maybe TermOrder
+ Database.V1.Bloodhound.Types: [termShardSize] :: TermsAggregation -> Maybe Int
+ Database.V1.Bloodhound.Types: [termSize] :: TermsAggregation -> Maybe Int
+ Database.V1.Bloodhound.Types: [termSortField] :: TermOrder -> Text
+ Database.V1.Bloodhound.Types: [termSortOrder] :: TermOrder -> SortOrder
+ Database.V1.Bloodhound.Types: [termValue] :: Term -> Text
+ Database.V1.Bloodhound.Types: [term] :: TermsAggregation -> Either Text Text
+ Database.V1.Bloodhound.Types: [termsAggs] :: TermsResult -> Maybe AggregationResults
+ Database.V1.Bloodhound.Types: [termsDocCount] :: TermsResult -> Int
+ Database.V1.Bloodhound.Types: [timedOut] :: SearchResult a -> Bool
+ Database.V1.Bloodhound.Types: [took] :: SearchResult a -> Int
+ Database.V1.Bloodhound.Types: [topLeft] :: GeoBoundingBox -> LatLon
+ Database.V1.Bloodhound.Types: [trackSortScores] :: Search -> TrackSortScores
+ Database.V1.Bloodhound.Types: [typeName] :: Mapping -> TypeName
+ Database.V1.Bloodhound.Types: [unBH] :: BH m a -> ReaderT BHEnv m a
+ Database.V1.Bloodhound.Types: [unMaybeNA] :: MaybeNA a -> Maybe a
+ Database.V1.Bloodhound.Types: [unit] :: Distance -> DistanceUnit
+ Database.V1.Bloodhound.Types: [versionNumber] :: VersionNumber -> Version
+ Database.V1.Bloodhound.Types: [version] :: Status -> Version
+ Database.V1.Bloodhound.Types: aggs :: BucketAggregation a => a -> Maybe AggregationResults
+ Database.V1.Bloodhound.Types: bhManager :: BHEnv -> Manager
+ Database.V1.Bloodhound.Types: bhRequestHook :: BHEnv -> Request -> IO Request
+ Database.V1.Bloodhound.Types: bhServer :: BHEnv -> Server
+ Database.V1.Bloodhound.Types: class BucketAggregation a
+ Database.V1.Bloodhound.Types: class (Functor m, Applicative m, MonadIO m) => MonadBH m
+ Database.V1.Bloodhound.Types: class Monoid a
+ Database.V1.Bloodhound.Types: class Monoid a => Seminearring a where (<&&>) = mappend
+ Database.V1.Bloodhound.Types: class SnapshotRepo r
+ Database.V1.Bloodhound.Types: class ToJSON a
+ Database.V1.Bloodhound.Types: data Aggregation
+ Database.V1.Bloodhound.Types: data AliasRouting
+ Database.V1.Bloodhound.Types: data AllocationPolicy
+ Database.V1.Bloodhound.Types: data BHEnv
+ Database.V1.Bloodhound.Types: data BoolMatch
+ Database.V1.Bloodhound.Types: data BoolQuery
+ Database.V1.Bloodhound.Types: data BooleanOperator
+ Database.V1.Bloodhound.Types: data BoostingQuery
+ Database.V1.Bloodhound.Types: data BoundTransportAddress
+ Database.V1.Bloodhound.Types: data Bucket a
+ Database.V1.Bloodhound.Types: data BucketValue
+ Database.V1.Bloodhound.Types: data BulkOperation
+ Database.V1.Bloodhound.Types: data CPUInfo
+ Database.V1.Bloodhound.Types: data CardinalityAggregation
+ Database.V1.Bloodhound.Types: data CollectionMode
+ Database.V1.Bloodhound.Types: data CommonHighlight
+ Database.V1.Bloodhound.Types: data CommonMinimumMatch
+ Database.V1.Bloodhound.Types: data CommonTermsQuery
+ Database.V1.Bloodhound.Types: data CompoundFormat
+ Database.V1.Bloodhound.Types: data DateHistogramAggregation
+ Database.V1.Bloodhound.Types: data DateHistogramResult
+ Database.V1.Bloodhound.Types: data DateMathAnchor
+ Database.V1.Bloodhound.Types: data DateMathExpr
+ Database.V1.Bloodhound.Types: data DateMathModifier
+ Database.V1.Bloodhound.Types: data DateMathUnit
+ Database.V1.Bloodhound.Types: data DateRangeAggRange
+ Database.V1.Bloodhound.Types: data DateRangeAggregation
+ Database.V1.Bloodhound.Types: data DateRangeResult
+ Database.V1.Bloodhound.Types: data DefaultSort
+ Database.V1.Bloodhound.Types: data DisMaxQuery
+ Database.V1.Bloodhound.Types: data Distance
+ Database.V1.Bloodhound.Types: data DistanceRange
+ Database.V1.Bloodhound.Types: data DistanceType
+ Database.V1.Bloodhound.Types: data DistanceUnit
+ Database.V1.Bloodhound.Types: data DocVersion
+ Database.V1.Bloodhound.Types: data EsError
+ Database.V1.Bloodhound.Types: data EsProtocolException
+ Database.V1.Bloodhound.Types: data EsResult a
+ Database.V1.Bloodhound.Types: data EsResultFound a
+ Database.V1.Bloodhound.Types: data Exclude
+ Database.V1.Bloodhound.Types: data ExecutionHint
+ Database.V1.Bloodhound.Types: data FSType
+ Database.V1.Bloodhound.Types: data FastVectorHighlight
+ Database.V1.Bloodhound.Types: data FieldDefinition
+ Database.V1.Bloodhound.Types: data FieldHighlight
+ Database.V1.Bloodhound.Types: data FieldOrFields
+ Database.V1.Bloodhound.Types: data Filter
+ Database.V1.Bloodhound.Types: data FilterAggregation
+ Database.V1.Bloodhound.Types: data FilteredQuery
+ Database.V1.Bloodhound.Types: data FsSnapshotRepo
+ Database.V1.Bloodhound.Types: data FuzzyLikeFieldQuery
+ Database.V1.Bloodhound.Types: data FuzzyLikeThisQuery
+ Database.V1.Bloodhound.Types: data FuzzyQuery
+ Database.V1.Bloodhound.Types: data GenericSnapshotRepo
+ Database.V1.Bloodhound.Types: data GeoBoundingBox
+ Database.V1.Bloodhound.Types: data GeoBoundingBoxConstraint
+ Database.V1.Bloodhound.Types: data GeoFilterType
+ Database.V1.Bloodhound.Types: data GeoPoint
+ Database.V1.Bloodhound.Types: data HasChildQuery
+ Database.V1.Bloodhound.Types: data HasParentQuery
+ Database.V1.Bloodhound.Types: data HighlightEncoder
+ Database.V1.Bloodhound.Types: data HighlightSettings
+ Database.V1.Bloodhound.Types: data HighlightTag
+ Database.V1.Bloodhound.Types: data Highlights
+ Database.V1.Bloodhound.Types: data Hit a
+ Database.V1.Bloodhound.Types: data Include
+ Database.V1.Bloodhound.Types: data IndexAlias
+ Database.V1.Bloodhound.Types: data IndexAliasAction
+ Database.V1.Bloodhound.Types: data IndexAliasCreate
+ Database.V1.Bloodhound.Types: data IndexAliasSummary
+ Database.V1.Bloodhound.Types: data IndexDocumentSettings
+ Database.V1.Bloodhound.Types: data IndexOptimizationSettings
+ Database.V1.Bloodhound.Types: data IndexSelection
+ Database.V1.Bloodhound.Types: data IndexSettings
+ Database.V1.Bloodhound.Types: data IndexSettingsSummary
+ Database.V1.Bloodhound.Types: data IndexTemplate
+ Database.V1.Bloodhound.Types: data IndicesQuery
+ Database.V1.Bloodhound.Types: data InitialShardCount
+ Database.V1.Bloodhound.Types: data Interval
+ Database.V1.Bloodhound.Types: data JVMBufferPoolStats
+ Database.V1.Bloodhound.Types: data JVMGCStats
+ Database.V1.Bloodhound.Types: data JVMMemoryInfo
+ Database.V1.Bloodhound.Types: data JVMPoolStats
+ Database.V1.Bloodhound.Types: data LatLon
+ Database.V1.Bloodhound.Types: data LoadAvgs
+ Database.V1.Bloodhound.Types: data Mapping
+ Database.V1.Bloodhound.Types: data MappingField
+ Database.V1.Bloodhound.Types: data MatchQuery
+ Database.V1.Bloodhound.Types: data MatchQueryType
+ Database.V1.Bloodhound.Types: data MinimumMatchHighLow
+ Database.V1.Bloodhound.Types: data Missing
+ Database.V1.Bloodhound.Types: data MissingAggregation
+ Database.V1.Bloodhound.Types: data MissingResult
+ Database.V1.Bloodhound.Types: data MoreLikeThisFieldQuery
+ Database.V1.Bloodhound.Types: data MoreLikeThisQuery
+ Database.V1.Bloodhound.Types: data MultiMatchQuery
+ Database.V1.Bloodhound.Types: data MultiMatchQueryType
+ Database.V1.Bloodhound.Types: data NestedQuery
+ Database.V1.Bloodhound.Types: data NodeAttrFilter
+ Database.V1.Bloodhound.Types: data NodeBreakerStats
+ Database.V1.Bloodhound.Types: data NodeBreakersStats
+ Database.V1.Bloodhound.Types: data NodeDataPathStats
+ Database.V1.Bloodhound.Types: data NodeFSStats
+ Database.V1.Bloodhound.Types: data NodeFSTotalStats
+ Database.V1.Bloodhound.Types: data NodeHTTPInfo
+ Database.V1.Bloodhound.Types: data NodeHTTPStats
+ Database.V1.Bloodhound.Types: data NodeIndicesStats
+ Database.V1.Bloodhound.Types: data NodeInfo
+ Database.V1.Bloodhound.Types: data NodeJVMInfo
+ Database.V1.Bloodhound.Types: data NodeJVMStats
+ Database.V1.Bloodhound.Types: data NodeNetworkInfo
+ Database.V1.Bloodhound.Types: data NodeNetworkInterface
+ Database.V1.Bloodhound.Types: data NodeNetworkStats
+ Database.V1.Bloodhound.Types: data NodeOSInfo
+ Database.V1.Bloodhound.Types: data NodeOSStats
+ Database.V1.Bloodhound.Types: data NodePluginInfo
+ Database.V1.Bloodhound.Types: data NodeProcessInfo
+ Database.V1.Bloodhound.Types: data NodeProcessStats
+ Database.V1.Bloodhound.Types: data NodeSelection
+ Database.V1.Bloodhound.Types: data NodeSelector
+ Database.V1.Bloodhound.Types: data NodeStats
+ Database.V1.Bloodhound.Types: data NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: data NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: data NodeThreadPoolsInfo
+ Database.V1.Bloodhound.Types: data NodeThreadPoolsStats
+ Database.V1.Bloodhound.Types: data NodeTransportInfo
+ Database.V1.Bloodhound.Types: data NodeTransportStats
+ Database.V1.Bloodhound.Types: data NodesInfo
+ Database.V1.Bloodhound.Types: data NodesStats
+ Database.V1.Bloodhound.Types: data NonPostings
+ Database.V1.Bloodhound.Types: data OpenCloseIndex
+ Database.V1.Bloodhound.Types: data OptimizeBbox
+ Database.V1.Bloodhound.Types: data PatternOrPatterns
+ Database.V1.Bloodhound.Types: data PlainHighlight
+ Database.V1.Bloodhound.Types: data PostingsHighlight
+ Database.V1.Bloodhound.Types: data PrefixQuery
+ Database.V1.Bloodhound.Types: data Query
+ Database.V1.Bloodhound.Types: data QueryStringQuery
+ Database.V1.Bloodhound.Types: data RRGroupRefNum
+ Database.V1.Bloodhound.Types: data RangeExecution
+ Database.V1.Bloodhound.Types: data RangeQuery
+ Database.V1.Bloodhound.Types: data RangeValue
+ Database.V1.Bloodhound.Types: data RegexpFlag
+ Database.V1.Bloodhound.Types: data RegexpFlags
+ Database.V1.Bloodhound.Types: data RegexpQuery
+ Database.V1.Bloodhound.Types: data ReplicaBounds
+ Database.V1.Bloodhound.Types: data RestoreIndexSettings
+ Database.V1.Bloodhound.Types: data RestoreRenameToken
+ Database.V1.Bloodhound.Types: data ScoreType
+ Database.V1.Bloodhound.Types: data Search
+ Database.V1.Bloodhound.Types: data SearchHits a
+ Database.V1.Bloodhound.Types: data SearchResult a
+ Database.V1.Bloodhound.Types: data SearchType
+ Database.V1.Bloodhound.Types: data ShardResult
+ Database.V1.Bloodhound.Types: data SimpleQueryFlag
+ Database.V1.Bloodhound.Types: data SimpleQueryStringQuery
+ Database.V1.Bloodhound.Types: data SnapshotCreateSettings
+ Database.V1.Bloodhound.Types: data SnapshotInfo
+ Database.V1.Bloodhound.Types: data SnapshotNodeVerification
+ Database.V1.Bloodhound.Types: data SnapshotPattern
+ Database.V1.Bloodhound.Types: data SnapshotRepoConversionError
+ Database.V1.Bloodhound.Types: data SnapshotRepoPattern
+ Database.V1.Bloodhound.Types: data SnapshotRepoSelection
+ Database.V1.Bloodhound.Types: data SnapshotRepoUpdateSettings
+ Database.V1.Bloodhound.Types: data SnapshotRestoreSettings
+ Database.V1.Bloodhound.Types: data SnapshotSelection
+ Database.V1.Bloodhound.Types: data SnapshotShardFailure
+ Database.V1.Bloodhound.Types: data SnapshotState
+ Database.V1.Bloodhound.Types: data SortMode
+ Database.V1.Bloodhound.Types: data SortOrder
+ Database.V1.Bloodhound.Types: data SortSpec
+ Database.V1.Bloodhound.Types: data Source
+ Database.V1.Bloodhound.Types: data Status
+ Database.V1.Bloodhound.Types: data Term
+ Database.V1.Bloodhound.Types: data TermInclusion
+ Database.V1.Bloodhound.Types: data TermOrder
+ Database.V1.Bloodhound.Types: data TermsAggregation
+ Database.V1.Bloodhound.Types: data TermsResult
+ Database.V1.Bloodhound.Types: data ThreadPoolSize
+ Database.V1.Bloodhound.Types: data ThreadPoolType
+ Database.V1.Bloodhound.Types: data TimeInterval
+ Database.V1.Bloodhound.Types: data TopHitResult a
+ Database.V1.Bloodhound.Types: data TopHitsAggregation
+ Database.V1.Bloodhound.Types: data UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: data ValueCountAggregation
+ Database.V1.Bloodhound.Types: data Version
+ Database.V1.Bloodhound.Types: data VersionControl
+ Database.V1.Bloodhound.Types: data ZeroTermsQuery
+ Database.V1.Bloodhound.Types: defaultCache :: Cache
+ Database.V1.Bloodhound.Types: defaultIndexDocumentSettings :: IndexDocumentSettings
+ Database.V1.Bloodhound.Types: defaultIndexOptimizationSettings :: IndexOptimizationSettings
+ Database.V1.Bloodhound.Types: defaultIndexSettings :: IndexSettings
+ Database.V1.Bloodhound.Types: defaultSnapshotCreateSettings :: SnapshotCreateSettings
+ Database.V1.Bloodhound.Types: defaultSnapshotRepoUpdateSettings :: SnapshotRepoUpdateSettings
+ Database.V1.Bloodhound.Types: defaultSnapshotRestoreSettings :: SnapshotRestoreSettings
+ Database.V1.Bloodhound.Types: docCount :: BucketAggregation a => a -> Int
+ Database.V1.Bloodhound.Types: docVersionNumber :: DocVersion -> Int
+ Database.V1.Bloodhound.Types: fromGSnapshotRepo :: SnapshotRepo r => GenericSnapshotRepo -> Either SnapshotRepoConversionError r
+ Database.V1.Bloodhound.Types: getBHEnv :: MonadBH m => m BHEnv
+ Database.V1.Bloodhound.Types: gigabytes :: Int -> Bytes
+ Database.V1.Bloodhound.Types: instance (GHC.Base.Functor m, GHC.Base.Applicative m, Control.Monad.IO.Class.MonadIO m) => Database.V1.Bloodhound.Types.Internal.MonadBH (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Control.Monad.Trans.Class.MonadTrans Database.V1.Bloodhound.Types.BH
+ Database.V1.Bloodhound.Types: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.AliasRouting
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.AllocationPolicy
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.AnalyzeWildcard
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Analyzer
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.BoolMatch
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.BoolQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.BooleanOperator
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Boost
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.BoostTerms
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.BoostingQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.BoundTransportAddress
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.BucketValue
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.BuildHash
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Bytes
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.CPUInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.CacheKey
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.CacheName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ClusterName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.CommonMinimumMatch
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.CommonTermsQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.CompoundFormat
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.CutoffFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.DateHistogramResult
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.DateRangeResult
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.DisMaxQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.DisableCoord
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Distance
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.DistanceType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.DistanceUnit
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.DocId
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.EnablePositionIncrements
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.EsAddress
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.EsError
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Existence
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.FSType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.FieldName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.FieldOrFields
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.FilteredQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.FullNodeId
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Fuzziness
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.FuzzyQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.GeoBoundingBox
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.GeoFilterType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.HasChildQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.HasParentQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.IndexAliasCreate
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.IndexAliasRouting
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.IndexAliasesSummary
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.IndexName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.IndexSettings
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.IndexSettingsSummary
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.IndicesQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.InitialShardCount
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.JVMBufferPoolStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.JVMGCCollector
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.JVMGCStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.JVMMemoryInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.JVMMemoryPool
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.JVMPoolStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.JVMVersion
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.LatLon
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Lenient
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.LoadAvgs
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Locale
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.LowercaseExpanded
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MS
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MacAddress
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MappingName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MatchQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MatchQueryType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MaxDocFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MaxExpansions
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MaxQueryTerms
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MaxWordLength
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MinDocFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MinWordLength
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MinimumMatch
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MinimumTermFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MissingResult
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MoreLikeThisQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MultiMatchQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.MultiMatchQueryType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NestedQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NetworkInterfaceName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeBreakerStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeBreakersStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeDataPathStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeFSStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeFSTotalStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeHTTPInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeHTTPStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeIndicesStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeJVMInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeJVMStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeNetworkInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeNetworkInterface
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeNetworkStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeOSInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeOSStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodePluginInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeProcessInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeProcessStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeThreadPoolsInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeThreadPoolsStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeTransportInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodeTransportStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodesInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NodesStats
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NominalDiffTimeJSON
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.NullValue
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.OptimizeBbox
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.PID
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.POSIXMS
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.PercentMatch
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.PhraseSlop
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.PluginName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.PrefixLength
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.PrefixQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Query
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.QueryPath
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.QueryString
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.QueryStringQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.RangeExecution
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.RangeQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.RangeValue
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Regexp
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.RegexpFlag
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.RegexpFlags
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.RegexpQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ReplicaBounds
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ReplicaCount
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.RoutingValue
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ScoreType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ScrollId
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SearchAliasRouting
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ShardCount
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ShardId
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ShardResult
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SimpleQueryFlag
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SnapshotInfo
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SnapshotName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SnapshotRepoName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SnapshotRepoType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SnapshotShardFailure
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SnapshotState
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.SnapshotVerification
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Status
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.StopWord
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.StringlyTypedDouble
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.TemplateName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.TemplatePattern
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Term
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.TermsResult
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ThreadPoolSize
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ThreadPoolType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Tiebreaker
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.TypeName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Version
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.VersionNumber
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.ZeroTermsQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V1.Bloodhound.Types.Bucket a)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V1.Bloodhound.Types.EsResult a)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V1.Bloodhound.Types.EsResultFound a)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V1.Bloodhound.Types.Hit a)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V1.Bloodhound.Types.MaybeNA a)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V1.Bloodhound.Types.SearchHits a)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V1.Bloodhound.Types.SearchResult a)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V1.Bloodhound.Types.TopHitResult a)
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Aggregation
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.AliasRouting
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.AllocationPolicy
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.AnalyzeWildcard
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Analyzer
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.BoolMatch
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.BoolQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.BooleanOperator
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Boost
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.BoostTerms
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.BoostingQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.BuildHash
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Bytes
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.CacheKey
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.CacheName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.CollectionMode
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.CommonMinimumMatch
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.CommonTermsQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.CompoundFormat
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.CutoffFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DateMathExpr
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DateRangeAggRange
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DateRangeAggregation
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DisMaxQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DisableCoord
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Distance
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DistanceType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DistanceUnit
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DocId
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.EnablePositionIncrements
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Exclude
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.ExecutionHint
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Existence
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.ExternalDocVersion
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.FSType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.FieldHighlight
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.FieldName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.FieldOrFields
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.FilteredQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.From
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Fuzziness
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.FuzzyQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.GeoBoundingBox
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.GeoFilterType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.GeoPoint
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.HasChildQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.HasParentQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.HighlightEncoder
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.HighlightSettings
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Highlights
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Include
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndexAlias
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndexAliasAction
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndexAliasCreate
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndexAliasName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndexAliasRouting
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndexName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndexSettings
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndexTemplate
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.IndicesQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.InitialShardCount
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Interval
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.LatLon
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Lenient
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Locale
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.LowercaseExpanded
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MappingName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MatchQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MatchQueryType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MaxDocFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MaxExpansions
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MaxQueryTerms
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MaxWordLength
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MinDocFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MinWordLength
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MinimumMatch
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MinimumTermFrequency
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Missing
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MoreLikeThisQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MultiMatchQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.MultiMatchQueryType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.NestedQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.NominalDiffTimeJSON
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.NullValue
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.OptimizeBbox
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Pattern
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.PatternOrPatterns
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.PercentMatch
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.PhraseSlop
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.PrefixLength
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.PrefixQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Query
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.QueryPath
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.QueryString
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.QueryStringQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.RangeExecution
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.RangeQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.RegexpFlags
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.RegexpQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.ReplicaBounds
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.ReplicaCount
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.RestoreIndexSettings
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.RestoreRenamePattern
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.RoutingValue
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.ScoreType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.ScrollId
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Search
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SearchAliasRouting
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.ShardCount
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SimpleQueryFlag
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Size
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SnapshotName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SnapshotRepoName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SnapshotRepoType
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SortMode
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SortOrder
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.SortSpec
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Source
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.StopWord
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.TemplateName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.TemplatePattern
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Term
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.TermInclusion
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.TermOrder
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Tiebreaker
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.TypeName
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.Version
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.VersionNumber
+ Database.V1.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V1.Bloodhound.Types.ZeroTermsQuery
+ Database.V1.Bloodhound.Types: instance Data.Semigroup.Semigroup (Database.V1.Bloodhound.Types.SearchHits a)
+ Database.V1.Bloodhound.Types: instance Data.Semigroup.Semigroup Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance Database.V1.Bloodhound.Types.BucketAggregation Database.V1.Bloodhound.Types.DateHistogramResult
+ Database.V1.Bloodhound.Types: instance Database.V1.Bloodhound.Types.BucketAggregation Database.V1.Bloodhound.Types.DateRangeResult
+ Database.V1.Bloodhound.Types: instance Database.V1.Bloodhound.Types.BucketAggregation Database.V1.Bloodhound.Types.TermsResult
+ Database.V1.Bloodhound.Types: instance Database.V1.Bloodhound.Types.Class.Seminearring Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance Database.V1.Bloodhound.Types.SnapshotRepo Database.V1.Bloodhound.Types.FsSnapshotRepo
+ Database.V1.Bloodhound.Types: instance Database.V1.Bloodhound.Types.SnapshotRepo Database.V1.Bloodhound.Types.GenericSnapshotRepo
+ Database.V1.Bloodhound.Types: instance GHC.Base.Alternative m => GHC.Base.Alternative (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance GHC.Base.Applicative m => GHC.Base.Applicative (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance GHC.Base.Functor m => GHC.Base.Functor (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance GHC.Base.Monad m => GHC.Base.Monad (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Database.V1.Bloodhound.Types.BH m)
+ Database.V1.Bloodhound.Types: instance GHC.Base.Monoid (Database.V1.Bloodhound.Types.SearchHits a)
+ Database.V1.Bloodhound.Types: instance GHC.Base.Monoid Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Aggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.AliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.AllocationPolicy
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.AnalyzeWildcard
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Analyzer
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.BoolMatch
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.BoolQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.BooleanOperator
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Boost
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.BoostTerms
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.BoostingQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.BoundTransportAddress
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.BuildHash
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.BulkOperation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Bytes
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CPUInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CacheKey
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CacheName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CardinalityAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ClusterName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CollectionMode
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CommonHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CommonMinimumMatch
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CommonTermsQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CompoundFormat
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.CutoffFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DateHistogramAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DateMathAnchor
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DateMathExpr
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DateMathModifier
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DateMathUnit
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DateRangeAggRange
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DateRangeAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DateRangeResult
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DefaultSort
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DisMaxQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DisableCoord
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Distance
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DistanceRange
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DistanceType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DistanceUnit
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DocId
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.DocumentParent
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.EnablePositionIncrements
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.EsAddress
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.EsError
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.EsPassword
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.EsProtocolException
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.EsUsername
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Exclude
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ExecutionHint
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Existence
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ExternalDocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FSType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FastVectorHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FieldDefinition
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FieldHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FieldName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FieldOrFields
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FieldType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FilterAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FilteredQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.From
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FsSnapshotRepo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FullNodeId
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Fuzziness
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.FuzzyQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GenericSnapshotRepo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GeoBoundingBox
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GeoFilterType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GeoPoint
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GreaterThan
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GreaterThanD
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GreaterThanEq
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.GreaterThanEqD
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.HasChildQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.HasParentQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.HighlightEncoder
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.HighlightSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.HighlightTag
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Highlights
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Include
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexAlias
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexAliasAction
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexAliasCreate
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexAliasName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexAliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexAliasSummary
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexAliasesSummary
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexDocumentSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexOptimizationSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexSelection
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndexSettingsSummary
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.IndicesQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.InitialShardCount
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Interval
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.JVMBufferPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.JVMGCCollector
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.JVMGCStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.JVMMemoryInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.JVMMemoryPool
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.JVMPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.LatLon
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Lenient
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.LessThan
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.LessThanD
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.LessThanEq
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.LessThanEqD
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.LoadAvgs
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Locale
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.LowercaseExpanded
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MacAddress
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Mapping
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MappingField
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MappingName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MatchQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MatchQueryType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MaxDocFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MaxExpansions
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MaxQueryTerms
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MaxWordLength
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MinDocFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MinWordLength
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MinimumMatch
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MinimumMatchHighLow
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MinimumTermFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Missing
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MissingAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MoreLikeThisQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MultiMatchQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.MultiMatchQueryType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NestedQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NetworkInterfaceName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeAttrFilter
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeAttrName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeBreakerStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeBreakersStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeDataPathStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeFSStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeFSTotalStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeHTTPInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeHTTPStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeIndicesStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeJVMInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeJVMStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeNetworkInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeNetworkInterface
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeNetworkStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeOSInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeOSStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodePluginInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeProcessInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeProcessStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeSelection
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeSelector
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeThreadPoolsInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeThreadPoolsStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeTransportInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodeTransportStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodesInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NodesStats
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NonPostings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.NullValue
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.OpenCloseIndex
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.OptimizeBbox
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PID
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Pattern
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PatternOrPatterns
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PercentMatch
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PhraseSlop
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PlainHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PluginName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PostingsHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PrefixLength
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.PrefixQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Query
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.QueryPath
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.QueryString
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.QueryStringQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RRGroupRefNum
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RangeExecution
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RangeQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RangeValue
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Regexp
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RegexpFlag
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RegexpFlags
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RegexpQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ReplicaBounds
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ReplicaCount
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RestoreIndexSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RestoreRenamePattern
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RestoreRenameToken
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.RoutingValue
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ScoreType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Script
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ScrollId
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Search
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SearchAliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SearchType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ShardCount
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ShardId
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ShardResult
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SimpleQueryFlag
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Size
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotCreateSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotInfo
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotNodeVerification
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotPattern
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotRepoConversionError
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotRepoName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotRepoPattern
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotRepoSelection
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotRepoType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotRepoUpdateSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotRestoreSettings
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotSelection
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotShardFailure
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotState
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SnapshotVerification
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SortMode
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SortOrder
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.SortSpec
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Source
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Status
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.StopWord
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.TemplateName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.TemplatePattern
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Term
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.TermInclusion
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.TermOrder
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.TermsAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ThreadPoolSize
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ThreadPoolType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Tiebreaker
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.TimeInterval
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.TopHitsAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.TypeName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ValueCountAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Version
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.VersionControl
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.VersionNumber
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.ZeroTermsQuery
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V1.Bloodhound.Types.EsResult a)
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V1.Bloodhound.Types.EsResultFound a)
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V1.Bloodhound.Types.Hit a)
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V1.Bloodhound.Types.MaybeNA a)
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V1.Bloodhound.Types.SearchHits a)
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V1.Bloodhound.Types.SearchResult a)
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.BuildHash
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.Bytes
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.ClusterName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.EsAddress
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.ExternalDocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.FSType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.FullNodeId
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.MacAddress
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.NetworkInterfaceName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.NodeAttrFilter
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.NodeAttrName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.NodeName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.PluginName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.RRGroupRefNum
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.RestoreRenamePattern
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.ScrollId
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.SnapshotName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.SnapshotRepoName
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.SnapshotRepoType
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.VersionControl
+ Database.V1.Bloodhound.Types: instance GHC.Classes.Ord Database.V1.Bloodhound.Types.VersionNumber
+ Database.V1.Bloodhound.Types: instance GHC.Enum.Bounded Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Enum.Bounded Database.V1.Bloodhound.Types.ExternalDocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Enum.Bounded Database.V1.Bloodhound.Types.RRGroupRefNum
+ Database.V1.Bloodhound.Types: instance GHC.Enum.Enum Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Enum.Enum Database.V1.Bloodhound.Types.ExternalDocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Exception.Exception Database.V1.Bloodhound.Types.EsProtocolException
+ Database.V1.Bloodhound.Types: instance GHC.Exception.Exception Database.V1.Bloodhound.Types.SnapshotRepoConversionError
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic (Database.V1.Bloodhound.Types.EsResult a)
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic (Database.V1.Bloodhound.Types.EsResultFound a)
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic (Database.V1.Bloodhound.Types.Hit a)
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic (Database.V1.Bloodhound.Types.SearchHits a)
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic (Database.V1.Bloodhound.Types.SearchResult a)
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Aggregation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.AliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.AllocationPolicy
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.AnalyzeWildcard
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Analyzer
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.BoolMatch
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.BoolQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.BooleanOperator
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Boost
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.BoostTerms
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.BoostingQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.BoundTransportAddress
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.BuildHash
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.BulkOperation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Bytes
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CPUInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CacheKey
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CacheName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CardinalityAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ClusterName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CollectionMode
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CommonHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CommonMinimumMatch
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CommonTermsQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CompoundFormat
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.CutoffFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DateHistogramAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DateMathAnchor
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DateMathExpr
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DateMathModifier
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DateMathUnit
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DateRangeAggRange
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DateRangeAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DateRangeResult
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DefaultSort
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DisMaxQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DisableCoord
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Distance
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DistanceRange
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DistanceType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DistanceUnit
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DocId
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.DocumentParent
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.EnablePositionIncrements
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.EsAddress
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.EsError
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.EsProtocolException
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Exclude
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ExecutionHint
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Existence
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ExternalDocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FSType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FastVectorHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FieldDefinition
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FieldHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FieldName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FieldOrFields
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FieldType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FilterAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FilteredQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.From
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FsSnapshotRepo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FullNodeId
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Fuzziness
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.FuzzyQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GenericSnapshotRepo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GeoBoundingBox
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GeoFilterType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GeoPoint
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GreaterThan
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GreaterThanD
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GreaterThanEq
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.GreaterThanEqD
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.HasChildQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.HasParentQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.HighlightEncoder
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.HighlightSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.HighlightTag
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Highlights
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Include
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexAlias
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexAliasAction
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexAliasCreate
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexAliasName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexAliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexAliasSummary
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexAliasesSummary
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexDocumentSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexOptimizationSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexSelection
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndexSettingsSummary
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.IndicesQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.InitialShardCount
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Interval
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.JVMBufferPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.JVMGCCollector
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.JVMGCStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.JVMMemoryInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.JVMMemoryPool
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.JVMPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.LatLon
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Lenient
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.LessThan
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.LessThanD
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.LessThanEq
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.LessThanEqD
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.LoadAvgs
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Locale
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.LowercaseExpanded
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MacAddress
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Mapping
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MappingField
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MappingName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MatchQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MatchQueryType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MaxDocFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MaxExpansions
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MaxQueryTerms
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MaxWordLength
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MinDocFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MinWordLength
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MinimumMatch
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MinimumMatchHighLow
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MinimumTermFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Missing
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MissingAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MoreLikeThisQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MultiMatchQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.MultiMatchQueryType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NestedQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NetworkInterfaceName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeAttrFilter
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeAttrName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeBreakerStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeBreakersStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeDataPathStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeFSStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeFSTotalStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeHTTPInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeHTTPStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeIndicesStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeJVMInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeJVMStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeNetworkInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeNetworkInterface
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeNetworkStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeOSInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeOSStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodePluginInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeProcessInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeProcessStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeSelection
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeSelector
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeThreadPoolsInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeThreadPoolsStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeTransportInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodeTransportStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodesInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NodesStats
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NonPostings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.NullValue
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.OpenCloseIndex
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.OptimizeBbox
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PID
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Pattern
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PatternOrPatterns
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PercentMatch
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PhraseSlop
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PlainHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PluginName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PostingsHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PrefixLength
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.PrefixQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Query
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.QueryPath
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.QueryString
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.QueryStringQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RRGroupRefNum
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RangeExecution
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RangeQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RangeValue
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Regexp
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RegexpFlag
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RegexpFlags
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RegexpQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ReplicaBounds
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ReplicaCount
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RestoreIndexSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RestoreRenamePattern
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RestoreRenameToken
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.RoutingValue
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ScoreType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Script
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ScrollId
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Search
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SearchAliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SearchType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ShardCount
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ShardId
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ShardResult
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SimpleQueryFlag
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Size
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotCreateSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotInfo
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotNodeVerification
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotPattern
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotRepoConversionError
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotRepoName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotRepoPattern
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotRepoSelection
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotRepoType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotRepoUpdateSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotRestoreSettings
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotSelection
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotShardFailure
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotState
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SnapshotVerification
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SortMode
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SortOrder
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.SortSpec
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Source
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Status
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.StopWord
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.TemplateName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.TemplatePattern
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Term
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.TermInclusion
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.TermOrder
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.TermsAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ThreadPoolSize
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ThreadPoolType
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Tiebreaker
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.TypeName
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ValueCountAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Version
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.VersionControl
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.VersionNumber
+ Database.V1.Bloodhound.Types: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.ZeroTermsQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Aggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.AliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.AllocationPolicy
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.AnalyzeWildcard
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Analyzer
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.BoolMatch
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.BoolQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.BooleanOperator
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Boost
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.BoostTerms
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.BoostingQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.BucketValue
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.BuildHash
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.BulkOperation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Bytes
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CacheKey
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CacheName
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CardinalityAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CollectionMode
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CommonHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CommonMinimumMatch
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CommonTermsQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CompoundFormat
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.CutoffFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateHistogramAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateHistogramResult
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateMathAnchor
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateMathExpr
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateMathModifier
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateMathUnit
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateRangeAggRange
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateRangeAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DateRangeResult
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DefaultSort
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DisMaxQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DisableCoord
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Distance
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DistanceRange
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DistanceType
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DistanceUnit
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DocId
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.DocumentParent
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.EnablePositionIncrements
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.EsError
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.EsPassword
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.EsProtocolException
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.EsUsername
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Exclude
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ExecutionHint
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Existence
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ExternalDocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FSType
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FastVectorHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FieldDefinition
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FieldHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FieldName
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FieldOrFields
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FieldType
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FilterAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FilteredQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.From
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Fuzziness
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.FuzzyQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GeoBoundingBox
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GeoFilterType
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GeoPoint
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GreaterThan
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GreaterThanD
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GreaterThanEq
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.GreaterThanEqD
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.HasChildQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.HasParentQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.HighlightEncoder
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.HighlightSettings
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.HighlightTag
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Highlights
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Include
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexAlias
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexAliasAction
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexAliasCreate
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexAliasName
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexAliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexAliasSummary
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexAliasesSummary
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexDocumentSettings
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexName
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndexSettings
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.IndicesQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.InitialShardCount
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Interval
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.LatLon
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Lenient
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.LessThan
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.LessThanD
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.LessThanEq
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.LessThanEqD
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Locale
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.LowercaseExpanded
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Mapping
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MappingField
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MappingName
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MatchQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MatchQueryType
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MaxDocFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MaxExpansions
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MaxQueryTerms
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MaxWordLength
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MinDocFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MinWordLength
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MinimumMatch
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MinimumMatchHighLow
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MinimumTermFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Missing
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MissingAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MoreLikeThisQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MultiMatchQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.MultiMatchQueryType
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.NestedQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.NodeAttrFilter
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.NodeAttrName
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.NonPostings
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.NullValue
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.OpenCloseIndex
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.OptimizeBbox
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Pattern
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.PatternOrPatterns
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.PercentMatch
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.PhraseSlop
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.PlainHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.PostingsHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.PrefixLength
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.PrefixQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Query
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.QueryPath
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.QueryString
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.QueryStringQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.RangeExecution
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.RangeQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.RangeValue
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Regexp
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.RegexpFlag
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.RegexpFlags
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.RegexpQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ReplicaBounds
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ReplicaCount
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.RoutingValue
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ScoreType
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Script
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ScrollId
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Search
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.SearchAliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.SearchType
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ShardCount
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ShardResult
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.SimpleQueryFlag
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Size
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.SortMode
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.SortOrder
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.SortSpec
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Source
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Status
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.StopWord
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TemplateName
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TemplatePattern
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Term
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TermInclusion
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TermOrder
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TermsAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TermsResult
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Tiebreaker
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TimeInterval
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TopHitsAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.TypeName
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ValueCountAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.Version
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.VersionControl
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.VersionNumber
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read Database.V1.Bloodhound.Types.ZeroTermsQuery
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V1.Bloodhound.Types.Bucket a)
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V1.Bloodhound.Types.EsResult a)
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V1.Bloodhound.Types.EsResultFound a)
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V1.Bloodhound.Types.Hit a)
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V1.Bloodhound.Types.SearchHits a)
+ Database.V1.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V1.Bloodhound.Types.SearchResult a)
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Aggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.AliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.AllocationPolicy
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.AnalyzeWildcard
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Analyzer
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BoolMatch
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BoolQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BooleanOperator
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Boost
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BoostTerms
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BoostingQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BoundTransportAddress
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BucketValue
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BuildHash
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.BulkOperation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Bytes
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CPUInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CacheKey
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CacheName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CardinalityAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ClusterName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CollectionMode
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CommonHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CommonMinimumMatch
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CommonTermsQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CompoundFormat
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.CutoffFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateHistogramAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateHistogramResult
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateMathAnchor
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateMathExpr
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateMathModifier
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateMathUnit
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateRangeAggRange
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateRangeAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DateRangeResult
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DefaultSort
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DisMaxQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DisableCoord
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Distance
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DistanceRange
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DistanceType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DistanceUnit
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DocId
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.DocumentParent
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.EnablePositionIncrements
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.EsAddress
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.EsError
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.EsPassword
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.EsProtocolException
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.EsUsername
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Exclude
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ExecutionHint
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Existence
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ExternalDocVersion
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FSType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FastVectorHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FieldDefinition
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FieldHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FieldName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FieldOrFields
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FieldType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Filter
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FilterAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FilteredQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.From
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FsSnapshotRepo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FullNodeId
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Fuzziness
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.FuzzyQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GenericSnapshotRepo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GeoBoundingBox
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GeoFilterType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GeoPoint
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GreaterThan
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GreaterThanD
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GreaterThanEq
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.GreaterThanEqD
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.HasChildQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.HasParentQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.HighlightEncoder
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.HighlightSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.HighlightTag
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Highlights
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Include
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexAlias
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexAliasAction
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexAliasCreate
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexAliasName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexAliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexAliasSummary
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexAliasesSummary
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexDocumentSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexOptimizationSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexSelection
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndexSettingsSummary
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.IndicesQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.InitialShardCount
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Interval
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.JVMBufferPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.JVMGCCollector
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.JVMGCStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.JVMMemoryInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.JVMMemoryPool
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.JVMPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.LatLon
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Lenient
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.LessThan
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.LessThanD
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.LessThanEq
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.LessThanEqD
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.LoadAvgs
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Locale
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.LowercaseExpanded
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MacAddress
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Mapping
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MappingField
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MappingName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MatchQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MatchQueryType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MaxDocFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MaxExpansions
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MaxQueryTerms
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MaxWordLength
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MinDocFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MinWordLength
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MinimumMatch
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MinimumMatchHighLow
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MinimumTermFrequency
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Missing
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MissingAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MissingResult
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MoreLikeThisQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MultiMatchQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.MultiMatchQueryType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NestedQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NetworkInterfaceName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeAttrFilter
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeAttrName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeBreakerStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeBreakersStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeDataPathStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeFSStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeFSTotalStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeHTTPInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeHTTPStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeIndicesStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeJVMInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeJVMStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeNetworkInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeNetworkInterface
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeNetworkStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeOSInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeOSStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodePluginInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeProcessInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeProcessStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeSelection
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeSelector
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeThreadPoolInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeThreadPoolStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeThreadPoolsInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeThreadPoolsStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeTransportInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodeTransportStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodesInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NodesStats
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NonPostings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.NullValue
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.OpenCloseIndex
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.OptimizeBbox
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PID
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Pattern
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PatternOrPatterns
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PercentMatch
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PhraseSlop
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PlainHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PluginName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PostingsHighlight
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PrefixLength
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.PrefixQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Query
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.QueryPath
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.QueryString
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.QueryStringQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RRGroupRefNum
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RangeExecution
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RangeQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RangeValue
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Regexp
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RegexpFlag
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RegexpFlags
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RegexpQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ReplicaBounds
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ReplicaCount
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RestoreIndexSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RestoreRenamePattern
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RestoreRenameToken
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.RoutingValue
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ScoreType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Script
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ScrollId
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Search
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SearchAliasRouting
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SearchType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ShardCount
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ShardId
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ShardResult
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SimpleQueryFlag
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Size
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotCreateSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotInfo
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotNodeVerification
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotPattern
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotRepoConversionError
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotRepoName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotRepoPattern
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotRepoSelection
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotRepoType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotRepoUpdateSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotRestoreSettings
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotSelection
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotShardFailure
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotState
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SnapshotVerification
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SortMode
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SortOrder
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.SortSpec
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Source
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Status
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.StopWord
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TemplateName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TemplatePattern
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Term
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TermInclusion
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TermOrder
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TermsAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TermsResult
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ThreadPoolSize
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ThreadPoolType
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Tiebreaker
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TimeInterval
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TopHitsAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.TypeName
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.UpdatableIndexSetting
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ValueCountAggregation
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.Version
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.VersionControl
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.VersionNumber
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show Database.V1.Bloodhound.Types.ZeroTermsQuery
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V1.Bloodhound.Types.Bucket a)
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V1.Bloodhound.Types.EsResult a)
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V1.Bloodhound.Types.EsResultFound a)
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V1.Bloodhound.Types.Hit a)
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V1.Bloodhound.Types.MaybeNA a)
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V1.Bloodhound.Types.SearchHits a)
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V1.Bloodhound.Types.SearchResult a)
+ Database.V1.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V1.Bloodhound.Types.TopHitResult a)
+ Database.V1.Bloodhound.Types: key :: BucketAggregation a => a -> BucketValue
+ Database.V1.Bloodhound.Types: kilobytes :: Int -> Bytes
+ Database.V1.Bloodhound.Types: mappend :: Monoid a => a -> a -> a
+ Database.V1.Bloodhound.Types: mconcat :: Monoid a => [a] -> a
+ Database.V1.Bloodhound.Types: megabytes :: Int -> Bytes
+ Database.V1.Bloodhound.Types: mempty :: Monoid a => a
+ Database.V1.Bloodhound.Types: mkAggregations :: Text -> Aggregation -> Aggregations
+ Database.V1.Bloodhound.Types: mkBHEnv :: Server -> Manager -> BHEnv
+ Database.V1.Bloodhound.Types: mkBoolQuery :: [Query] -> [Query] -> [Query] -> BoolQuery
+ Database.V1.Bloodhound.Types: mkCardinalityAggregation :: FieldName -> CardinalityAggregation
+ Database.V1.Bloodhound.Types: mkDateHistogram :: FieldName -> Interval -> DateHistogramAggregation
+ Database.V1.Bloodhound.Types: mkDocVersion :: Int -> Maybe DocVersion
+ Database.V1.Bloodhound.Types: mkMatchQuery :: FieldName -> QueryString -> MatchQuery
+ Database.V1.Bloodhound.Types: mkMultiMatchQuery :: [FieldName] -> QueryString -> MultiMatchQuery
+ Database.V1.Bloodhound.Types: mkQueryStringQuery :: QueryString -> QueryStringQuery
+ Database.V1.Bloodhound.Types: mkRRGroupRefNum :: Int -> Maybe RRGroupRefNum
+ Database.V1.Bloodhound.Types: mkRangeQuery :: FieldName -> RangeValue -> RangeQuery
+ Database.V1.Bloodhound.Types: mkSort :: FieldName -> SortOrder -> DefaultSort
+ Database.V1.Bloodhound.Types: mkTermsAggregation :: Text -> TermsAggregation
+ Database.V1.Bloodhound.Types: mkTermsScriptAggregation :: Text -> TermsAggregation
+ Database.V1.Bloodhound.Types: newtype AllowLeadingWildcard
+ Database.V1.Bloodhound.Types: newtype AnalyzeWildcard
+ Database.V1.Bloodhound.Types: newtype Analyzer
+ Database.V1.Bloodhound.Types: newtype BH m a
+ Database.V1.Bloodhound.Types: newtype Boost
+ Database.V1.Bloodhound.Types: newtype BoostTerms
+ Database.V1.Bloodhound.Types: newtype BuildHash
+ Database.V1.Bloodhound.Types: newtype Bytes
+ Database.V1.Bloodhound.Types: newtype CacheKey
+ Database.V1.Bloodhound.Types: newtype CacheName
+ Database.V1.Bloodhound.Types: newtype ClusterName
+ Database.V1.Bloodhound.Types: newtype CutoffFrequency
+ Database.V1.Bloodhound.Types: newtype DisableCoord
+ Database.V1.Bloodhound.Types: newtype DocId
+ Database.V1.Bloodhound.Types: newtype DocumentParent
+ Database.V1.Bloodhound.Types: newtype EnablePositionIncrements
+ Database.V1.Bloodhound.Types: newtype EsAddress
+ Database.V1.Bloodhound.Types: newtype EsPassword
+ Database.V1.Bloodhound.Types: newtype EsUsername
+ Database.V1.Bloodhound.Types: newtype Existence
+ Database.V1.Bloodhound.Types: newtype ExternalDocVersion
+ Database.V1.Bloodhound.Types: newtype FieldName
+ Database.V1.Bloodhound.Types: newtype From
+ Database.V1.Bloodhound.Types: newtype FullNodeId
+ Database.V1.Bloodhound.Types: newtype Fuzziness
+ Database.V1.Bloodhound.Types: newtype GeneratePhraseQueries
+ Database.V1.Bloodhound.Types: newtype GenericSnapshotRepoSettings
+ Database.V1.Bloodhound.Types: newtype GreaterThan
+ Database.V1.Bloodhound.Types: newtype GreaterThanD
+ Database.V1.Bloodhound.Types: newtype GreaterThanEq
+ Database.V1.Bloodhound.Types: newtype GreaterThanEqD
+ Database.V1.Bloodhound.Types: newtype IgnoreTermFrequency
+ Database.V1.Bloodhound.Types: newtype IndexAliasName
+ Database.V1.Bloodhound.Types: newtype IndexAliasRouting
+ Database.V1.Bloodhound.Types: newtype IndexAliasesSummary
+ Database.V1.Bloodhound.Types: newtype IndexName
+ Database.V1.Bloodhound.Types: newtype JVMGCCollector
+ Database.V1.Bloodhound.Types: newtype JVMMemoryPool
+ Database.V1.Bloodhound.Types: newtype Lenient
+ Database.V1.Bloodhound.Types: newtype LessThan
+ Database.V1.Bloodhound.Types: newtype LessThanD
+ Database.V1.Bloodhound.Types: newtype LessThanEq
+ Database.V1.Bloodhound.Types: newtype LessThanEqD
+ Database.V1.Bloodhound.Types: newtype Locale
+ Database.V1.Bloodhound.Types: newtype LowercaseExpanded
+ Database.V1.Bloodhound.Types: newtype MacAddress
+ Database.V1.Bloodhound.Types: newtype MappingName
+ Database.V1.Bloodhound.Types: newtype MaxDocFrequency
+ Database.V1.Bloodhound.Types: newtype MaxExpansions
+ Database.V1.Bloodhound.Types: newtype MaxQueryTerms
+ Database.V1.Bloodhound.Types: newtype MaxWordLength
+ Database.V1.Bloodhound.Types: newtype MaybeNA a
+ Database.V1.Bloodhound.Types: newtype MinDocFrequency
+ Database.V1.Bloodhound.Types: newtype MinWordLength
+ Database.V1.Bloodhound.Types: newtype MinimumMatch
+ Database.V1.Bloodhound.Types: newtype MinimumTermFrequency
+ Database.V1.Bloodhound.Types: newtype NetworkInterfaceName
+ Database.V1.Bloodhound.Types: newtype NodeAttrName
+ Database.V1.Bloodhound.Types: newtype NodeName
+ Database.V1.Bloodhound.Types: newtype NullValue
+ Database.V1.Bloodhound.Types: newtype PID
+ Database.V1.Bloodhound.Types: newtype Pattern
+ Database.V1.Bloodhound.Types: newtype PercentMatch
+ Database.V1.Bloodhound.Types: newtype PhraseSlop
+ Database.V1.Bloodhound.Types: newtype PluginName
+ Database.V1.Bloodhound.Types: newtype PrefixLength
+ Database.V1.Bloodhound.Types: newtype QueryPath
+ Database.V1.Bloodhound.Types: newtype QueryString
+ Database.V1.Bloodhound.Types: newtype Regexp
+ Database.V1.Bloodhound.Types: newtype ReplicaCount
+ Database.V1.Bloodhound.Types: newtype RestoreRenamePattern
+ Database.V1.Bloodhound.Types: newtype RoutingValue
+ Database.V1.Bloodhound.Types: newtype Script
+ Database.V1.Bloodhound.Types: newtype ScrollId
+ Database.V1.Bloodhound.Types: newtype SearchAliasRouting
+ Database.V1.Bloodhound.Types: newtype Server
+ Database.V1.Bloodhound.Types: newtype ShardCount
+ Database.V1.Bloodhound.Types: newtype ShardId
+ Database.V1.Bloodhound.Types: newtype Size
+ Database.V1.Bloodhound.Types: newtype SnapshotName
+ Database.V1.Bloodhound.Types: newtype SnapshotRepoName
+ Database.V1.Bloodhound.Types: newtype SnapshotRepoType
+ Database.V1.Bloodhound.Types: newtype SnapshotVerification
+ Database.V1.Bloodhound.Types: newtype StopWord
+ Database.V1.Bloodhound.Types: newtype TemplateName
+ Database.V1.Bloodhound.Types: newtype TemplatePattern
+ Database.V1.Bloodhound.Types: newtype Tiebreaker
+ Database.V1.Bloodhound.Types: newtype TypeName
+ Database.V1.Bloodhound.Types: newtype VersionNumber
+ Database.V1.Bloodhound.Types: omitNulls :: [(Text, Value)] -> Value
+ Database.V1.Bloodhound.Types: rrGroupRefNum :: RRGroupRefNum -> Int
+ Database.V1.Bloodhound.Types: runBH :: BHEnv -> BH m a -> m a
+ Database.V1.Bloodhound.Types: showText :: Show a => a -> Text
+ Database.V1.Bloodhound.Types: toDateHistogram :: Text -> AggregationResults -> Maybe (Bucket DateHistogramResult)
+ Database.V1.Bloodhound.Types: toEncoding :: ToJSON a => a -> Encoding
+ Database.V1.Bloodhound.Types: toEncodingList :: ToJSON a => [a] -> Encoding
+ Database.V1.Bloodhound.Types: toGSnapshotRepo :: SnapshotRepo r => r -> GenericSnapshotRepo
+ Database.V1.Bloodhound.Types: toJSON :: ToJSON a => a -> Value
+ Database.V1.Bloodhound.Types: toJSONList :: ToJSON a => [a] -> Value
+ Database.V1.Bloodhound.Types: toMissing :: Text -> AggregationResults -> Maybe MissingResult
+ Database.V1.Bloodhound.Types: toTerms :: Text -> AggregationResults -> Maybe (Bucket TermsResult)
+ Database.V1.Bloodhound.Types: toTopHits :: (FromJSON a) => Text -> AggregationResults -> Maybe (TopHitResult a)
+ Database.V1.Bloodhound.Types: type AggregationResults = Map Text Value
+ Database.V1.Bloodhound.Types: type Aggregations = Map Text Aggregation
+ Database.V1.Bloodhound.Types: type Cache = Bool
+ Database.V1.Bloodhound.Types: type HitHighlight = Map Text [Text]
+ Database.V1.Bloodhound.Types: type Method = Method
+ Database.V1.Bloodhound.Types: type Reply = Response ByteString
+ Database.V1.Bloodhound.Types: type Score = Maybe Double
+ Database.V1.Bloodhound.Types: type Sort = [SortSpec]
+ Database.V1.Bloodhound.Types: type TrackSortScores = Bool
+ Database.V1.Bloodhound.Types: unpackId :: DocId -> Text
+ Database.V1.Bloodhound.Types.Class: (<&&>) :: Seminearring a => a -> a -> a
+ Database.V1.Bloodhound.Types.Class: (<||>) :: Seminearring a => a -> a -> a
+ Database.V1.Bloodhound.Types.Class: class Monoid a => Seminearring a where (<&&>) = mappend
+ Database.V1.Bloodhound.Types.Internal: BHEnv :: Server -> Manager -> (Request -> IO Request) -> BHEnv
+ Database.V1.Bloodhound.Types.Internal: Server :: Text -> Server
+ Database.V1.Bloodhound.Types.Internal: [bhManager] :: BHEnv -> Manager
+ Database.V1.Bloodhound.Types.Internal: [bhRequestHook] :: BHEnv -> Request -> IO Request
+ Database.V1.Bloodhound.Types.Internal: [bhServer] :: BHEnv -> Server
+ Database.V1.Bloodhound.Types.Internal: class (Functor m, Applicative m, MonadIO m) => MonadBH m
+ Database.V1.Bloodhound.Types.Internal: data BHEnv
+ Database.V1.Bloodhound.Types.Internal: getBHEnv :: MonadBH m => m BHEnv
+ Database.V1.Bloodhound.Types.Internal: instance (GHC.Base.Functor m, GHC.Base.Applicative m, Control.Monad.IO.Class.MonadIO m) => Database.V1.Bloodhound.Types.Internal.MonadBH (Control.Monad.Trans.Reader.ReaderT Database.V1.Bloodhound.Types.Internal.BHEnv m)
+ Database.V1.Bloodhound.Types.Internal: instance Data.Aeson.Types.FromJSON.FromJSON Database.V1.Bloodhound.Types.Internal.Server
+ Database.V1.Bloodhound.Types.Internal: instance GHC.Classes.Eq Database.V1.Bloodhound.Types.Internal.Server
+ Database.V1.Bloodhound.Types.Internal: instance GHC.Generics.Generic Database.V1.Bloodhound.Types.Internal.Server
+ Database.V1.Bloodhound.Types.Internal: instance GHC.Show.Show Database.V1.Bloodhound.Types.Internal.Server
+ Database.V1.Bloodhound.Types.Internal: newtype Server
+ Database.V5.Bloodhound.Client: advanceScroll :: (FromJSON a, MonadBH m, MonadThrow m) => ScrollId -> NominalDiffTime -> m (Either EsError (SearchResult a))
+ Database.V5.Bloodhound.Client: basicAuthHook :: Monad m => EsUsername -> EsPassword -> Request -> m Request
+ Database.V5.Bloodhound.Client: bulk :: MonadBH m => Vector BulkOperation -> m Reply
+ Database.V5.Bloodhound.Client: closeIndex :: MonadBH m => IndexName -> m Reply
+ Database.V5.Bloodhound.Client: createIndex :: MonadBH m => IndexSettings -> IndexName -> m Reply
+ Database.V5.Bloodhound.Client: createSnapshot :: (MonadBH m) => SnapshotRepoName -> SnapshotName -> SnapshotCreateSettings -> m Reply
+ Database.V5.Bloodhound.Client: deleteDocument :: MonadBH m => IndexName -> MappingName -> DocId -> m Reply
+ Database.V5.Bloodhound.Client: deleteIndex :: MonadBH m => IndexName -> m Reply
+ Database.V5.Bloodhound.Client: deleteSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> m Reply
+ Database.V5.Bloodhound.Client: deleteSnapshotRepo :: MonadBH m => SnapshotRepoName -> m Reply
+ Database.V5.Bloodhound.Client: deleteTemplate :: MonadBH m => TemplateName -> m Reply
+ Database.V5.Bloodhound.Client: documentExists :: MonadBH m => IndexName -> MappingName -> Maybe DocumentParent -> DocId -> m Bool
+ Database.V5.Bloodhound.Client: encodeBulkOperation :: BulkOperation -> ByteString
+ Database.V5.Bloodhound.Client: encodeBulkOperations :: Vector BulkOperation -> ByteString
+ Database.V5.Bloodhound.Client: forceMergeIndex :: MonadBH m => IndexSelection -> ForceMergeIndexSettings -> m Reply
+ Database.V5.Bloodhound.Client: getDocument :: MonadBH m => IndexName -> MappingName -> DocId -> m Reply
+ Database.V5.Bloodhound.Client: getIndexAliases :: (MonadBH m, MonadThrow m) => m (Either EsError IndexAliasesSummary)
+ Database.V5.Bloodhound.Client: getIndexSettings :: (MonadBH m, MonadThrow m) => IndexName -> m (Either EsError IndexSettingsSummary)
+ Database.V5.Bloodhound.Client: getInitialScroll :: (FromJSON a, MonadThrow m, MonadBH m) => IndexName -> MappingName -> Search -> m (Either EsError (SearchResult a))
+ Database.V5.Bloodhound.Client: getNodesInfo :: (MonadBH m, MonadThrow m) => NodeSelection -> m (Either EsError NodesInfo)
+ Database.V5.Bloodhound.Client: getNodesStats :: (MonadBH m, MonadThrow m) => NodeSelection -> m (Either EsError NodesStats)
+ Database.V5.Bloodhound.Client: getSnapshotRepos :: (MonadBH m, MonadThrow m) => SnapshotRepoSelection -> m (Either EsError [GenericSnapshotRepo])
+ Database.V5.Bloodhound.Client: getSnapshots :: (MonadBH m, MonadThrow m) => SnapshotRepoName -> SnapshotSelection -> m (Either EsError [SnapshotInfo])
+ Database.V5.Bloodhound.Client: getStatus :: MonadBH m => m (Maybe Status)
+ Database.V5.Bloodhound.Client: indexDocument :: (ToJSON doc, MonadBH m) => IndexName -> MappingName -> IndexDocumentSettings -> doc -> DocId -> m Reply
+ Database.V5.Bloodhound.Client: indexExists :: MonadBH m => IndexName -> m Bool
+ Database.V5.Bloodhound.Client: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Client.GSRs
+ Database.V5.Bloodhound.Client: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Client.SIs
+ Database.V5.Bloodhound.Client: isCreated :: Reply -> Bool
+ Database.V5.Bloodhound.Client: isSuccess :: Reply -> Bool
+ Database.V5.Bloodhound.Client: isVersionConflict :: Reply -> Bool
+ Database.V5.Bloodhound.Client: listIndices :: (MonadThrow m, MonadBH m) => m [IndexName]
+ Database.V5.Bloodhound.Client: mkAggregateSearch :: Maybe Query -> Aggregations -> Search
+ Database.V5.Bloodhound.Client: mkHighlightSearch :: Maybe Query -> Highlights -> Search
+ Database.V5.Bloodhound.Client: mkReplicaCount :: Int -> Maybe ReplicaCount
+ Database.V5.Bloodhound.Client: mkSearch :: Maybe Query -> Maybe Filter -> Search
+ Database.V5.Bloodhound.Client: mkShardCount :: Int -> Maybe ShardCount
+ Database.V5.Bloodhound.Client: openIndex :: MonadBH m => IndexName -> m Reply
+ Database.V5.Bloodhound.Client: pageSearch :: From -> Size -> Search -> Search
+ Database.V5.Bloodhound.Client: parseEsResponse :: (MonadThrow m, FromJSON a) => Reply -> m (Either EsError a)
+ Database.V5.Bloodhound.Client: putMapping :: (MonadBH m, ToJSON a) => IndexName -> MappingName -> a -> m Reply
+ Database.V5.Bloodhound.Client: putTemplate :: MonadBH m => IndexTemplate -> TemplateName -> m Reply
+ Database.V5.Bloodhound.Client: refreshIndex :: MonadBH m => IndexName -> m Reply
+ Database.V5.Bloodhound.Client: restoreSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> SnapshotRestoreSettings -> m Reply
+ Database.V5.Bloodhound.Client: scanSearch :: (FromJSON a, MonadBH m, MonadThrow m) => IndexName -> MappingName -> Search -> m [Hit a]
+ Database.V5.Bloodhound.Client: searchAll :: MonadBH m => Search -> m Reply
+ Database.V5.Bloodhound.Client: searchByIndex :: MonadBH m => IndexName -> Search -> m Reply
+ Database.V5.Bloodhound.Client: searchByType :: MonadBH m => IndexName -> MappingName -> Search -> m Reply
+ Database.V5.Bloodhound.Client: templateExists :: MonadBH m => TemplateName -> m Bool
+ Database.V5.Bloodhound.Client: updateDocument :: (ToJSON patch, MonadBH m) => IndexName -> MappingName -> IndexDocumentSettings -> patch -> DocId -> m Reply
+ Database.V5.Bloodhound.Client: updateIndexAliases :: MonadBH m => NonEmpty IndexAliasAction -> m Reply
+ Database.V5.Bloodhound.Client: updateIndexSettings :: MonadBH m => NonEmpty UpdatableIndexSetting -> IndexName -> m Reply
+ Database.V5.Bloodhound.Client: updateSnapshotRepo :: (MonadBH m, SnapshotRepo repo) => SnapshotRepoUpdateSettings -> repo -> m Reply
+ Database.V5.Bloodhound.Client: verifySnapshotRepo :: (MonadBH m, MonadThrow m) => SnapshotRepoName -> m (Either EsError SnapshotVerification)
+ Database.V5.Bloodhound.Client: waitForYellowIndex :: MonadBH m => IndexName -> m Reply
+ Database.V5.Bloodhound.Client: withBH :: ManagerSettings -> Server -> BH IO a -> IO a
+ Database.V5.Bloodhound.Types: (<&&>) :: Seminearring a => a -> a -> a
+ Database.V5.Bloodhound.Types: (<||>) :: Seminearring a => a -> a -> a
+ Database.V5.Bloodhound.Types: AddAlias :: IndexAlias -> IndexAliasCreate -> IndexAliasAction
+ Database.V5.Bloodhound.Types: AddTime :: Int -> DateMathUnit -> DateMathModifier
+ Database.V5.Bloodhound.Types: AllAliasRouting :: RoutingValue -> AliasRouting
+ Database.V5.Bloodhound.Types: AllIndexes :: IndexSelection
+ Database.V5.Bloodhound.Types: AllNodes :: NodeSelection
+ Database.V5.Bloodhound.Types: AllRegexpFlags :: RegexpFlags
+ Database.V5.Bloodhound.Types: AllSnapshotRepos :: SnapshotRepoSelection
+ Database.V5.Bloodhound.Types: AllSnapshots :: SnapshotSelection
+ Database.V5.Bloodhound.Types: AllocAll :: AllocationPolicy
+ Database.V5.Bloodhound.Types: AllocNewPrimaries :: AllocationPolicy
+ Database.V5.Bloodhound.Types: AllocNone :: AllocationPolicy
+ Database.V5.Bloodhound.Types: AllocPrimaries :: AllocationPolicy
+ Database.V5.Bloodhound.Types: AllowLeadingWildcard :: Bool -> AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: AnalyzeWildcard :: Bool -> AnalyzeWildcard
+ Database.V5.Bloodhound.Types: Analyzer :: Text -> Analyzer
+ Database.V5.Bloodhound.Types: And :: BooleanOperator
+ Database.V5.Bloodhound.Types: AnyString :: RegexpFlag
+ Database.V5.Bloodhound.Types: Arc :: DistanceType
+ Database.V5.Bloodhound.Types: Ascending :: SortOrder
+ Database.V5.Bloodhound.Types: AutoExpandReplicas :: ReplicaBounds -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: Automaton :: RegexpFlag
+ Database.V5.Bloodhound.Types: BH :: ReaderT BHEnv m a -> BH m a
+ Database.V5.Bloodhound.Types: BlocksMetaData :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: BlocksRead :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: BlocksReadOnly :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: BlocksWrite :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: BoolQuery :: [Query] -> [Filter] -> [Query] -> [Query] -> Maybe MinimumMatch -> Maybe Boost -> Maybe DisableCoord -> BoolQuery
+ Database.V5.Bloodhound.Types: BoolValue :: Bool -> BucketValue
+ Database.V5.Bloodhound.Types: Boost :: Double -> Boost
+ Database.V5.Bloodhound.Types: BoostTerms :: Double -> BoostTerms
+ Database.V5.Bloodhound.Types: BoostingQuery :: Query -> Query -> Boost -> BoostingQuery
+ Database.V5.Bloodhound.Types: BoundTransportAddress :: EsAddress -> [EsAddress] -> BoundTransportAddress
+ Database.V5.Bloodhound.Types: BreadthFirst :: CollectionMode
+ Database.V5.Bloodhound.Types: Bucket :: [a] -> Bucket a
+ Database.V5.Bloodhound.Types: BuildHash :: Text -> BuildHash
+ Database.V5.Bloodhound.Types: BulkCreate :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
+ Database.V5.Bloodhound.Types: BulkDelete :: IndexName -> MappingName -> DocId -> BulkOperation
+ Database.V5.Bloodhound.Types: BulkIndex :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
+ Database.V5.Bloodhound.Types: BulkUpdate :: IndexName -> MappingName -> DocId -> Value -> BulkOperation
+ Database.V5.Bloodhound.Types: Bytes :: Int -> Bytes
+ Database.V5.Bloodhound.Types: CPUInfo :: Bytes -> Int -> Int -> Int -> Int -> Text -> Text -> CPUInfo
+ Database.V5.Bloodhound.Types: CacheFilterExpire :: (Maybe NominalDiffTime) -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: CacheFilterMaxSize :: (Maybe Bytes) -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: CacheKey :: Text -> CacheKey
+ Database.V5.Bloodhound.Types: CacheName :: Text -> CacheName
+ Database.V5.Bloodhound.Types: CardinalityAgg :: CardinalityAggregation -> Aggregation
+ Database.V5.Bloodhound.Types: CardinalityAggregation :: FieldName -> Maybe Int -> CardinalityAggregation
+ Database.V5.Bloodhound.Types: Centimeters :: DistanceUnit
+ Database.V5.Bloodhound.Types: CloseIndex :: OpenCloseIndex
+ Database.V5.Bloodhound.Types: ClusterName :: Text -> ClusterName
+ Database.V5.Bloodhound.Types: CommonHighlight :: Maybe Text -> Maybe Bool -> Maybe HighlightTag -> Maybe HighlightEncoder -> Maybe Int -> Maybe Query -> Maybe Bool -> CommonHighlight
+ Database.V5.Bloodhound.Types: CommonMinimumMatch :: MinimumMatch -> CommonMinimumMatch
+ Database.V5.Bloodhound.Types: CommonMinimumMatchHighLow :: MinimumMatchHighLow -> CommonMinimumMatch
+ Database.V5.Bloodhound.Types: CommonTermsQuery :: FieldName -> QueryString -> CutoffFrequency -> BooleanOperator -> BooleanOperator -> Maybe CommonMinimumMatch -> Maybe Boost -> Maybe Analyzer -> Maybe DisableCoord -> CommonTermsQuery
+ Database.V5.Bloodhound.Types: Complement :: RegexpFlag
+ Database.V5.Bloodhound.Types: CompoundFileFormat :: Bool -> CompoundFormat
+ Database.V5.Bloodhound.Types: ConstantScoreQuery :: Query -> Boost -> Query
+ Database.V5.Bloodhound.Types: CustomMissing :: Text -> Missing
+ Database.V5.Bloodhound.Types: CustomTags :: ([Text], [Text]) -> HighlightTag
+ Database.V5.Bloodhound.Types: CutoffFrequency :: Double -> CutoffFrequency
+ Database.V5.Bloodhound.Types: DMDate :: Day -> DateMathAnchor
+ Database.V5.Bloodhound.Types: DMDay :: DateMathUnit
+ Database.V5.Bloodhound.Types: DMHour :: DateMathUnit
+ Database.V5.Bloodhound.Types: DMMinute :: DateMathUnit
+ Database.V5.Bloodhound.Types: DMMonth :: DateMathUnit
+ Database.V5.Bloodhound.Types: DMNow :: DateMathAnchor
+ Database.V5.Bloodhound.Types: DMSecond :: DateMathUnit
+ Database.V5.Bloodhound.Types: DMWeek :: DateMathUnit
+ Database.V5.Bloodhound.Types: DMYear :: DateMathUnit
+ Database.V5.Bloodhound.Types: DateHistogramAgg :: DateHistogramAggregation -> Aggregation
+ Database.V5.Bloodhound.Types: DateHistogramAggregation :: FieldName -> Interval -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Aggregations -> DateHistogramAggregation
+ Database.V5.Bloodhound.Types: DateHistogramResult :: Int -> Maybe Text -> Int -> Maybe AggregationResults -> DateHistogramResult
+ Database.V5.Bloodhound.Types: DateMathExpr :: DateMathAnchor -> [DateMathModifier] -> DateMathExpr
+ Database.V5.Bloodhound.Types: DateRangeAgg :: DateRangeAggregation -> Aggregation
+ Database.V5.Bloodhound.Types: DateRangeAggregation :: FieldName -> Maybe Text -> NonEmpty DateRangeAggRange -> DateRangeAggregation
+ Database.V5.Bloodhound.Types: DateRangeFrom :: DateMathExpr -> DateRangeAggRange
+ Database.V5.Bloodhound.Types: DateRangeFromAndTo :: DateMathExpr -> DateMathExpr -> DateRangeAggRange
+ Database.V5.Bloodhound.Types: DateRangeResult :: Text -> Maybe UTCTime -> Maybe Text -> Maybe UTCTime -> Maybe Text -> Int -> Maybe AggregationResults -> DateRangeResult
+ Database.V5.Bloodhound.Types: DateRangeTo :: DateMathExpr -> DateRangeAggRange
+ Database.V5.Bloodhound.Types: Day :: Interval
+ Database.V5.Bloodhound.Types: Days :: TimeInterval
+ Database.V5.Bloodhound.Types: DefaultEncoder :: HighlightEncoder
+ Database.V5.Bloodhound.Types: DefaultSort :: FieldName -> SortOrder -> Maybe Text -> Maybe SortMode -> Maybe Missing -> Maybe Filter -> DefaultSort
+ Database.V5.Bloodhound.Types: DefaultSortSpec :: DefaultSort -> SortSpec
+ Database.V5.Bloodhound.Types: DepthFirst :: CollectionMode
+ Database.V5.Bloodhound.Types: Descending :: SortOrder
+ Database.V5.Bloodhound.Types: DisMaxQuery :: [Query] -> Tiebreaker -> Maybe Boost -> DisMaxQuery
+ Database.V5.Bloodhound.Types: DisableCoord :: Bool -> DisableCoord
+ Database.V5.Bloodhound.Types: Distance :: Double -> DistanceUnit -> Distance
+ Database.V5.Bloodhound.Types: DistanceRange :: Distance -> Distance -> DistanceRange
+ Database.V5.Bloodhound.Types: DocId :: Text -> DocId
+ Database.V5.Bloodhound.Types: DocumentParent :: DocId -> DocumentParent
+ Database.V5.Bloodhound.Types: Empty :: RegexpFlag
+ Database.V5.Bloodhound.Types: EnablePositionIncrements :: Bool -> EnablePositionIncrements
+ Database.V5.Bloodhound.Types: EsAddress :: Text -> EsAddress
+ Database.V5.Bloodhound.Types: EsError :: Int -> Text -> EsError
+ Database.V5.Bloodhound.Types: EsPassword :: Text -> EsPassword
+ Database.V5.Bloodhound.Types: EsProtocolException :: ByteString -> EsProtocolException
+ Database.V5.Bloodhound.Types: EsResult :: Text -> Text -> Text -> Maybe (EsResultFound a) -> EsResult a
+ Database.V5.Bloodhound.Types: EsResultFound :: DocVersion -> a -> EsResultFound a
+ Database.V5.Bloodhound.Types: EsUsername :: Text -> EsUsername
+ Database.V5.Bloodhound.Types: ExactRepo :: SnapshotRepoName -> SnapshotRepoPattern
+ Database.V5.Bloodhound.Types: ExactSnap :: SnapshotName -> SnapshotPattern
+ Database.V5.Bloodhound.Types: Exclude :: [Pattern] -> Exclude
+ Database.V5.Bloodhound.Types: Existence :: Bool -> Existence
+ Database.V5.Bloodhound.Types: ExplicitShards :: Int -> InitialShardCount
+ Database.V5.Bloodhound.Types: ExternalDocVersion :: DocVersion -> ExternalDocVersion
+ Database.V5.Bloodhound.Types: ExternalGT :: ExternalDocVersion -> VersionControl
+ Database.V5.Bloodhound.Types: ExternalGTE :: ExternalDocVersion -> VersionControl
+ Database.V5.Bloodhound.Types: FSBuffered :: FSType
+ Database.V5.Bloodhound.Types: FSSimple :: FSType
+ Database.V5.Bloodhound.Types: FailOnMergeFailure :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: FastVector :: FastVectorHighlight -> HighlightSettings
+ Database.V5.Bloodhound.Types: FastVectorHighlight :: Maybe CommonHighlight -> Maybe NonPostings -> Maybe Text -> Maybe Int -> Maybe Int -> [Text] -> Maybe Int -> FastVectorHighlight
+ Database.V5.Bloodhound.Types: Feet :: DistanceUnit
+ Database.V5.Bloodhound.Types: FieldDefinition :: FieldType -> FieldDefinition
+ Database.V5.Bloodhound.Types: FieldHighlight :: FieldName -> (Maybe HighlightSettings) -> FieldHighlight
+ Database.V5.Bloodhound.Types: FieldName :: Text -> FieldName
+ Database.V5.Bloodhound.Types: FieldValueCount :: FieldName -> ValueCountAggregation
+ Database.V5.Bloodhound.Types: Filter :: Query -> Filter
+ Database.V5.Bloodhound.Types: FilterAgg :: FilterAggregation -> Aggregation
+ Database.V5.Bloodhound.Types: FilterAggregation :: Filter -> Maybe Aggregations -> FilterAggregation
+ Database.V5.Bloodhound.Types: FirstMissing :: Missing
+ Database.V5.Bloodhound.Types: FofField :: FieldName -> FieldOrFields
+ Database.V5.Bloodhound.Types: FofFields :: (NonEmpty FieldName) -> FieldOrFields
+ Database.V5.Bloodhound.Types: ForceMergeIndexSettings :: Maybe Int -> Bool -> Bool -> ForceMergeIndexSettings
+ Database.V5.Bloodhound.Types: ForceVersion :: ExternalDocVersion -> VersionControl
+ Database.V5.Bloodhound.Types: From :: Int -> From
+ Database.V5.Bloodhound.Types: FsSnapshotRepo :: SnapshotRepoName -> FilePath -> Bool -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> FsSnapshotRepo
+ Database.V5.Bloodhound.Types: FullMinus1Shards :: InitialShardCount
+ Database.V5.Bloodhound.Types: FullNodeId :: Text -> FullNodeId
+ Database.V5.Bloodhound.Types: FullShards :: InitialShardCount
+ Database.V5.Bloodhound.Types: Fuzziness :: Double -> Fuzziness
+ Database.V5.Bloodhound.Types: FuzzyLikeFieldQuery :: FieldName -> Text -> MaxQueryTerms -> IgnoreTermFrequency -> Fuzziness -> PrefixLength -> Boost -> Maybe Analyzer -> FuzzyLikeFieldQuery
+ Database.V5.Bloodhound.Types: FuzzyLikeThisQuery :: [FieldName] -> Text -> MaxQueryTerms -> IgnoreTermFrequency -> Fuzziness -> PrefixLength -> Boost -> Maybe Analyzer -> FuzzyLikeThisQuery
+ Database.V5.Bloodhound.Types: FuzzyQuery :: FieldName -> Text -> PrefixLength -> MaxExpansions -> Fuzziness -> Maybe Boost -> FuzzyQuery
+ Database.V5.Bloodhound.Types: GCDeletes :: NominalDiffTime -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: GatewaySnapshotInterval :: NominalDiffTime -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: GeneratePhraseQueries :: Bool -> GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: GenericSnapshotRepo :: SnapshotRepoName -> SnapshotRepoType -> GenericSnapshotRepoSettings -> GenericSnapshotRepo
+ Database.V5.Bloodhound.Types: GenericSnapshotRepoSettings :: Object -> GenericSnapshotRepoSettings
+ Database.V5.Bloodhound.Types: GeoBoundingBox :: LatLon -> LatLon -> GeoBoundingBox
+ Database.V5.Bloodhound.Types: GeoBoundingBoxConstraint :: FieldName -> GeoBoundingBox -> Cache -> GeoFilterType -> GeoBoundingBoxConstraint
+ Database.V5.Bloodhound.Types: GeoDistanceSortSpec :: SortOrder -> GeoPoint -> DistanceUnit -> SortSpec
+ Database.V5.Bloodhound.Types: GeoFilterIndexed :: GeoFilterType
+ Database.V5.Bloodhound.Types: GeoFilterMemory :: GeoFilterType
+ Database.V5.Bloodhound.Types: GeoPoint :: FieldName -> LatLon -> GeoPoint
+ Database.V5.Bloodhound.Types: GlobalOrdinals :: ExecutionHint
+ Database.V5.Bloodhound.Types: GlobalOrdinalsHash :: ExecutionHint
+ Database.V5.Bloodhound.Types: GlobalOrdinalsLowCardinality :: ExecutionHint
+ Database.V5.Bloodhound.Types: GranularAliasRouting :: (Maybe SearchAliasRouting) -> (Maybe IndexAliasRouting) -> AliasRouting
+ Database.V5.Bloodhound.Types: GreaterThan :: Double -> GreaterThan
+ Database.V5.Bloodhound.Types: GreaterThanD :: UTCTime -> GreaterThanD
+ Database.V5.Bloodhound.Types: GreaterThanEq :: Double -> GreaterThanEq
+ Database.V5.Bloodhound.Types: GreaterThanEqD :: UTCTime -> GreaterThanEqD
+ Database.V5.Bloodhound.Types: HTMLEncoder :: HighlightEncoder
+ Database.V5.Bloodhound.Types: HasChildQuery :: TypeName -> Query -> Maybe ScoreType -> HasChildQuery
+ Database.V5.Bloodhound.Types: HasParentQuery :: TypeName -> Query -> Maybe ScoreType -> HasParentQuery
+ Database.V5.Bloodhound.Types: Highlights :: Maybe HighlightSettings -> [FieldHighlight] -> Highlights
+ Database.V5.Bloodhound.Types: Hit :: IndexName -> MappingName -> DocId -> Score -> Maybe a -> Maybe HitHighlight -> Hit a
+ Database.V5.Bloodhound.Types: Hour :: Interval
+ Database.V5.Bloodhound.Types: Hours :: TimeInterval
+ Database.V5.Bloodhound.Types: IdsQuery :: MappingName -> [DocId] -> Query
+ Database.V5.Bloodhound.Types: IgnoreTermFrequency :: Bool -> IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: Inches :: DistanceUnit
+ Database.V5.Bloodhound.Types: Include :: [Pattern] -> Include
+ Database.V5.Bloodhound.Types: IndexAlias :: IndexName -> IndexAliasName -> IndexAlias
+ Database.V5.Bloodhound.Types: IndexAliasCreate :: Maybe AliasRouting -> Maybe Filter -> IndexAliasCreate
+ Database.V5.Bloodhound.Types: IndexAliasName :: IndexName -> IndexAliasName
+ Database.V5.Bloodhound.Types: IndexAliasRouting :: RoutingValue -> IndexAliasRouting
+ Database.V5.Bloodhound.Types: IndexAliasSummary :: IndexAlias -> IndexAliasCreate -> IndexAliasSummary
+ Database.V5.Bloodhound.Types: IndexAliasesSummary :: [IndexAliasSummary] -> IndexAliasesSummary
+ Database.V5.Bloodhound.Types: IndexCompoundFormat :: CompoundFormat -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: IndexCompoundOnFlush :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: IndexConcurrency :: Int -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: IndexDocumentSettings :: VersionControl -> Maybe DocumentParent -> IndexDocumentSettings
+ Database.V5.Bloodhound.Types: IndexList :: (NonEmpty IndexName) -> IndexSelection
+ Database.V5.Bloodhound.Types: IndexName :: Text -> IndexName
+ Database.V5.Bloodhound.Types: IndexSettings :: ShardCount -> ReplicaCount -> IndexSettings
+ Database.V5.Bloodhound.Types: IndexSettingsSummary :: IndexName -> IndexSettings -> [UpdatableIndexSetting] -> IndexSettingsSummary
+ Database.V5.Bloodhound.Types: IndexTemplate :: TemplatePattern -> Maybe IndexSettings -> [Value] -> IndexTemplate
+ Database.V5.Bloodhound.Types: IndicesQuery :: [IndexName] -> Query -> Maybe Query -> IndicesQuery
+ Database.V5.Bloodhound.Types: InternalVersion :: DocVersion -> VersionControl
+ Database.V5.Bloodhound.Types: Intersection :: RegexpFlag
+ Database.V5.Bloodhound.Types: Interval :: RegexpFlag
+ Database.V5.Bloodhound.Types: JVMBufferPoolStats :: Bytes -> Bytes -> Int -> JVMBufferPoolStats
+ Database.V5.Bloodhound.Types: JVMGCCollector :: Text -> JVMGCCollector
+ Database.V5.Bloodhound.Types: JVMGCStats :: NominalDiffTime -> Int -> JVMGCStats
+ Database.V5.Bloodhound.Types: JVMMemoryInfo :: Bytes -> Bytes -> Bytes -> Bytes -> Bytes -> JVMMemoryInfo
+ Database.V5.Bloodhound.Types: JVMMemoryPool :: Text -> JVMMemoryPool
+ Database.V5.Bloodhound.Types: JVMPoolStats :: Bytes -> Bytes -> Bytes -> Bytes -> JVMPoolStats
+ Database.V5.Bloodhound.Types: Kilometers :: DistanceUnit
+ Database.V5.Bloodhound.Types: LastMissing :: Missing
+ Database.V5.Bloodhound.Types: LatLon :: Double -> Double -> LatLon
+ Database.V5.Bloodhound.Types: Lenient :: Bool -> Lenient
+ Database.V5.Bloodhound.Types: LessThan :: Double -> LessThan
+ Database.V5.Bloodhound.Types: LessThanD :: UTCTime -> LessThanD
+ Database.V5.Bloodhound.Types: LessThanEq :: Double -> LessThanEq
+ Database.V5.Bloodhound.Types: LessThanEqD :: UTCTime -> LessThanEqD
+ Database.V5.Bloodhound.Types: LoadAvgs :: Double -> Double -> Double -> LoadAvgs
+ Database.V5.Bloodhound.Types: LocalNode :: NodeSelection
+ Database.V5.Bloodhound.Types: Locale :: Text -> Locale
+ Database.V5.Bloodhound.Types: LowercaseExpanded :: Bool -> LowercaseExpanded
+ Database.V5.Bloodhound.Types: MacAddress :: Text -> MacAddress
+ Database.V5.Bloodhound.Types: Map :: ExecutionHint
+ Database.V5.Bloodhound.Types: Mapping :: TypeName -> [MappingField] -> Mapping
+ Database.V5.Bloodhound.Types: MappingField :: FieldName -> FieldDefinition -> MappingField
+ Database.V5.Bloodhound.Types: MappingName :: Text -> MappingName
+ Database.V5.Bloodhound.Types: MatchAllQuery :: (Maybe Boost) -> Query
+ Database.V5.Bloodhound.Types: MatchPhrase :: MatchQueryType
+ Database.V5.Bloodhound.Types: MatchPhrasePrefix :: MatchQueryType
+ Database.V5.Bloodhound.Types: MatchQuery :: FieldName -> QueryString -> BooleanOperator -> ZeroTermsQuery -> Maybe CutoffFrequency -> Maybe MatchQueryType -> Maybe Analyzer -> Maybe MaxExpansions -> Maybe Lenient -> Maybe Boost -> MatchQuery
+ Database.V5.Bloodhound.Types: MaxDocFrequency :: Int -> MaxDocFrequency
+ Database.V5.Bloodhound.Types: MaxExpansions :: Int -> MaxExpansions
+ Database.V5.Bloodhound.Types: MaxQueryTerms :: Int -> MaxQueryTerms
+ Database.V5.Bloodhound.Types: MaxWordLength :: Int -> MaxWordLength
+ Database.V5.Bloodhound.Types: MaybeNA :: Maybe a -> MaybeNA a
+ Database.V5.Bloodhound.Types: MergeSegmentVsTotalIndex :: Double -> CompoundFormat
+ Database.V5.Bloodhound.Types: Meters :: DistanceUnit
+ Database.V5.Bloodhound.Types: Miles :: DistanceUnit
+ Database.V5.Bloodhound.Types: Millimeters :: DistanceUnit
+ Database.V5.Bloodhound.Types: MinDocFrequency :: Int -> MinDocFrequency
+ Database.V5.Bloodhound.Types: MinWordLength :: Int -> MinWordLength
+ Database.V5.Bloodhound.Types: MinimumMatch :: Int -> MinimumMatch
+ Database.V5.Bloodhound.Types: MinimumMatchHighLow :: MinimumMatch -> MinimumMatch -> MinimumMatchHighLow
+ Database.V5.Bloodhound.Types: MinimumTermFrequency :: Int -> MinimumTermFrequency
+ Database.V5.Bloodhound.Types: Minute :: Interval
+ Database.V5.Bloodhound.Types: Minutes :: TimeInterval
+ Database.V5.Bloodhound.Types: MissingAgg :: MissingAggregation -> Aggregation
+ Database.V5.Bloodhound.Types: MissingAggregation :: Text -> MissingAggregation
+ Database.V5.Bloodhound.Types: MissingResult :: Int -> MissingResult
+ Database.V5.Bloodhound.Types: Month :: Interval
+ Database.V5.Bloodhound.Types: MoreLikeThisFieldQuery :: Text -> FieldName -> Maybe PercentMatch -> Maybe MinimumTermFrequency -> Maybe MaxQueryTerms -> Maybe (NonEmpty StopWord) -> Maybe MinDocFrequency -> Maybe MaxDocFrequency -> Maybe MinWordLength -> Maybe MaxWordLength -> Maybe BoostTerms -> Maybe Boost -> Maybe Analyzer -> MoreLikeThisFieldQuery
+ Database.V5.Bloodhound.Types: MoreLikeThisQuery :: Text -> Maybe (NonEmpty FieldName) -> Maybe PercentMatch -> Maybe MinimumTermFrequency -> Maybe MaxQueryTerms -> Maybe (NonEmpty StopWord) -> Maybe MinDocFrequency -> Maybe MaxDocFrequency -> Maybe MinWordLength -> Maybe MaxWordLength -> Maybe BoostTerms -> Maybe Boost -> Maybe Analyzer -> MoreLikeThisQuery
+ Database.V5.Bloodhound.Types: MultiMatchBestFields :: MultiMatchQueryType
+ Database.V5.Bloodhound.Types: MultiMatchCrossFields :: MultiMatchQueryType
+ Database.V5.Bloodhound.Types: MultiMatchMostFields :: MultiMatchQueryType
+ Database.V5.Bloodhound.Types: MultiMatchPhrase :: MultiMatchQueryType
+ Database.V5.Bloodhound.Types: MultiMatchPhrasePrefix :: MultiMatchQueryType
+ Database.V5.Bloodhound.Types: MultiMatchQuery :: [FieldName] -> QueryString -> BooleanOperator -> ZeroTermsQuery -> Maybe Tiebreaker -> Maybe MultiMatchQueryType -> Maybe CutoffFrequency -> Maybe Analyzer -> Maybe MaxExpansions -> Maybe Lenient -> MultiMatchQuery
+ Database.V5.Bloodhound.Types: MustMatch :: Term -> Cache -> BoolMatch
+ Database.V5.Bloodhound.Types: MustNotMatch :: Term -> Cache -> BoolMatch
+ Database.V5.Bloodhound.Types: NauticalMiles :: DistanceUnit
+ Database.V5.Bloodhound.Types: NestedQuery :: QueryPath -> ScoreType -> Query -> NestedQuery
+ Database.V5.Bloodhound.Types: NetworkInterfaceName :: Text -> NetworkInterfaceName
+ Database.V5.Bloodhound.Types: NoOptimizeBbox :: OptimizeBbox
+ Database.V5.Bloodhound.Types: NoRegexpFlags :: RegexpFlags
+ Database.V5.Bloodhound.Types: NoSource :: Source
+ Database.V5.Bloodhound.Types: NoVersionControl :: VersionControl
+ Database.V5.Bloodhound.Types: NodeAttrFilter :: NodeAttrName -> NonEmpty Text -> NodeAttrFilter
+ Database.V5.Bloodhound.Types: NodeAttrName :: Text -> NodeAttrName
+ Database.V5.Bloodhound.Types: NodeBreakerStats :: Int -> Double -> Bytes -> Bytes -> NodeBreakerStats
+ Database.V5.Bloodhound.Types: NodeBreakersStats :: NodeBreakerStats -> NodeBreakerStats -> NodeBreakerStats -> NodeBreakersStats
+ Database.V5.Bloodhound.Types: NodeByAttribute :: NodeAttrName -> Text -> NodeSelector
+ Database.V5.Bloodhound.Types: NodeByFullNodeId :: FullNodeId -> NodeSelector
+ Database.V5.Bloodhound.Types: NodeByHost :: Server -> NodeSelector
+ Database.V5.Bloodhound.Types: NodeByName :: NodeName -> NodeSelector
+ Database.V5.Bloodhound.Types: NodeDataPathStats :: Maybe Double -> Maybe Double -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> Maybe Int -> Maybe Int -> Maybe Int -> Bytes -> Bytes -> Bytes -> Maybe Text -> Maybe Text -> Text -> Text -> NodeDataPathStats
+ Database.V5.Bloodhound.Types: NodeFSStats :: [NodeDataPathStats] -> NodeFSTotalStats -> UTCTime -> NodeFSStats
+ Database.V5.Bloodhound.Types: NodeFSTotalStats :: Maybe Double -> Maybe Double -> Maybe Bytes -> Maybe Bytes -> Maybe Bytes -> Maybe Int -> Maybe Int -> Maybe Int -> Bytes -> Bytes -> Bytes -> NodeFSTotalStats
+ Database.V5.Bloodhound.Types: NodeHTTPInfo :: Bytes -> BoundTransportAddress -> NodeHTTPInfo
+ Database.V5.Bloodhound.Types: NodeHTTPStats :: Int -> Int -> NodeHTTPStats
+ Database.V5.Bloodhound.Types: NodeIndicesStats :: Maybe NominalDiffTime -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Bytes -> Maybe Int -> Maybe NominalDiffTime -> Maybe Int -> Bytes -> Int -> Maybe Bytes -> Bytes -> Maybe Bytes -> Bytes -> Bytes -> Int -> Bytes -> Maybe Int -> Maybe Bytes -> Maybe Int -> Maybe NominalDiffTime -> Maybe Int -> Int -> Bytes -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> Bytes -> Int -> NominalDiffTime -> Int -> Bytes -> Int -> Int -> Int -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Int -> Maybe NominalDiffTime -> Maybe Bool -> Maybe Int -> Int -> NominalDiffTime -> Int -> Int -> NominalDiffTime -> Int -> NominalDiffTime -> Bytes -> Int -> Int -> NodeIndicesStats
+ Database.V5.Bloodhound.Types: NodeInfo :: Maybe EsAddress -> BuildHash -> VersionNumber -> Server -> Server -> EsAddress -> NodeName -> FullNodeId -> [NodePluginInfo] -> NodeHTTPInfo -> NodeTransportInfo -> Maybe NodeNetworkInfo -> NodeThreadPoolsInfo -> NodeJVMInfo -> NodeProcessInfo -> NodeOSInfo -> Object -> NodeInfo
+ Database.V5.Bloodhound.Types: NodeJVMInfo :: [JVMMemoryPool] -> [JVMGCCollector] -> JVMMemoryInfo -> UTCTime -> Text -> VersionNumber -> Text -> VersionNumber -> PID -> NodeJVMInfo
+ Database.V5.Bloodhound.Types: NodeJVMStats :: JVMBufferPoolStats -> JVMBufferPoolStats -> JVMGCStats -> JVMGCStats -> Int -> Int -> JVMPoolStats -> JVMPoolStats -> JVMPoolStats -> Bytes -> Bytes -> Bytes -> Bytes -> Int -> Bytes -> NominalDiffTime -> UTCTime -> NodeJVMStats
+ Database.V5.Bloodhound.Types: NodeList :: (NonEmpty NodeSelector) -> NodeSelection
+ Database.V5.Bloodhound.Types: NodeName :: Text -> NodeName
+ Database.V5.Bloodhound.Types: NodeNetworkInfo :: NodeNetworkInterface -> NominalDiffTime -> NodeNetworkInfo
+ Database.V5.Bloodhound.Types: NodeNetworkInterface :: MacAddress -> NetworkInterfaceName -> Server -> NodeNetworkInterface
+ Database.V5.Bloodhound.Types: NodeNetworkStats :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> NodeNetworkStats
+ Database.V5.Bloodhound.Types: NodeOSInfo :: NominalDiffTime -> Text -> Text -> VersionNumber -> Int -> Int -> NodeOSInfo
+ Database.V5.Bloodhound.Types: NodeOSStats :: UTCTime -> Int -> Maybe LoadAvgs -> Bytes -> Bytes -> Int -> Bytes -> Int -> Bytes -> Bytes -> Bytes -> NodeOSStats
+ Database.V5.Bloodhound.Types: NodePluginInfo :: Maybe Bool -> Maybe Bool -> Text -> MaybeNA VersionNumber -> PluginName -> NodePluginInfo
+ Database.V5.Bloodhound.Types: NodeProcessInfo :: Bool -> Maybe Int -> PID -> NominalDiffTime -> NodeProcessInfo
+ Database.V5.Bloodhound.Types: NodeProcessStats :: UTCTime -> Int -> Int -> Int -> NominalDiffTime -> Bytes -> NodeProcessStats
+ Database.V5.Bloodhound.Types: NodeStats :: NodeName -> FullNodeId -> Maybe NodeBreakersStats -> NodeHTTPStats -> NodeTransportStats -> NodeFSStats -> Maybe NodeNetworkStats -> NodeThreadPoolsStats -> NodeJVMStats -> NodeProcessStats -> NodeOSStats -> NodeIndicesStats -> NodeStats
+ Database.V5.Bloodhound.Types: NodeThreadPoolInfo :: ThreadPoolSize -> Maybe NominalDiffTime -> Maybe Int -> Maybe Int -> ThreadPoolType -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: NodeThreadPoolStats :: Int -> Int -> Int -> Int -> Int -> Int -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: NodeThreadPoolsInfo :: NodeThreadPoolInfo -> NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> Maybe NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolInfo -> NodeThreadPoolsInfo
+ Database.V5.Bloodhound.Types: NodeThreadPoolsStats :: NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> NodeThreadPoolStats -> NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> Maybe NodeThreadPoolStats -> NodeThreadPoolsStats
+ Database.V5.Bloodhound.Types: NodeTransportInfo :: [BoundTransportAddress] -> BoundTransportAddress -> NodeTransportInfo
+ Database.V5.Bloodhound.Types: NodeTransportStats :: Bytes -> Int -> Bytes -> Int -> Int -> NodeTransportStats
+ Database.V5.Bloodhound.Types: NodesInfo :: [NodeInfo] -> ClusterName -> NodesInfo
+ Database.V5.Bloodhound.Types: NodesStats :: [NodeStats] -> ClusterName -> NodesStats
+ Database.V5.Bloodhound.Types: NonPostings :: Maybe Int -> Maybe Int -> NonPostings
+ Database.V5.Bloodhound.Types: NullValue :: Bool -> NullValue
+ Database.V5.Bloodhound.Types: NumberOfReplicas :: ReplicaCount -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: OpenIndex :: OpenCloseIndex
+ Database.V5.Bloodhound.Types: OptimizeGeoFilterType :: GeoFilterType -> OptimizeBbox
+ Database.V5.Bloodhound.Types: Or :: BooleanOperator
+ Database.V5.Bloodhound.Types: Ordinals :: ExecutionHint
+ Database.V5.Bloodhound.Types: OtherRepoConversionError :: Text -> SnapshotRepoConversionError
+ Database.V5.Bloodhound.Types: PID :: Int -> PID
+ Database.V5.Bloodhound.Types: Pattern :: Text -> Pattern
+ Database.V5.Bloodhound.Types: PercentMatch :: Double -> PercentMatch
+ Database.V5.Bloodhound.Types: PhraseSlop :: Int -> PhraseSlop
+ Database.V5.Bloodhound.Types: Plain :: PlainHighlight -> HighlightSettings
+ Database.V5.Bloodhound.Types: PlainHighlight :: Maybe CommonHighlight -> Maybe NonPostings -> PlainHighlight
+ Database.V5.Bloodhound.Types: Plane :: DistanceType
+ Database.V5.Bloodhound.Types: PluginName :: Text -> PluginName
+ Database.V5.Bloodhound.Types: PopPattern :: Pattern -> PatternOrPatterns
+ Database.V5.Bloodhound.Types: PopPatterns :: [Pattern] -> PatternOrPatterns
+ Database.V5.Bloodhound.Types: Postings :: PostingsHighlight -> HighlightSettings
+ Database.V5.Bloodhound.Types: PostingsHighlight :: (Maybe CommonHighlight) -> PostingsHighlight
+ Database.V5.Bloodhound.Types: PrefixLength :: Int -> PrefixLength
+ Database.V5.Bloodhound.Types: PrefixQuery :: FieldName -> Text -> Maybe Boost -> PrefixQuery
+ Database.V5.Bloodhound.Types: Quarter :: Interval
+ Database.V5.Bloodhound.Types: QueryBoolQuery :: BoolQuery -> Query
+ Database.V5.Bloodhound.Types: QueryBoostingQuery :: BoostingQuery -> Query
+ Database.V5.Bloodhound.Types: QueryCommonTermsQuery :: CommonTermsQuery -> Query
+ Database.V5.Bloodhound.Types: QueryDisMaxQuery :: DisMaxQuery -> Query
+ Database.V5.Bloodhound.Types: QueryExistsQuery :: FieldName -> Query
+ Database.V5.Bloodhound.Types: QueryFuzzyLikeFieldQuery :: FuzzyLikeFieldQuery -> Query
+ Database.V5.Bloodhound.Types: QueryFuzzyLikeThisQuery :: FuzzyLikeThisQuery -> Query
+ Database.V5.Bloodhound.Types: QueryFuzzyQuery :: FuzzyQuery -> Query
+ Database.V5.Bloodhound.Types: QueryHasChildQuery :: HasChildQuery -> Query
+ Database.V5.Bloodhound.Types: QueryHasParentQuery :: HasParentQuery -> Query
+ Database.V5.Bloodhound.Types: QueryIndicesQuery :: IndicesQuery -> Query
+ Database.V5.Bloodhound.Types: QueryMatchNoneQuery :: Query
+ Database.V5.Bloodhound.Types: QueryMatchQuery :: MatchQuery -> Query
+ Database.V5.Bloodhound.Types: QueryMoreLikeThisFieldQuery :: MoreLikeThisFieldQuery -> Query
+ Database.V5.Bloodhound.Types: QueryMoreLikeThisQuery :: MoreLikeThisQuery -> Query
+ Database.V5.Bloodhound.Types: QueryMultiMatchQuery :: MultiMatchQuery -> Query
+ Database.V5.Bloodhound.Types: QueryNestedQuery :: NestedQuery -> Query
+ Database.V5.Bloodhound.Types: QueryPath :: Text -> QueryPath
+ Database.V5.Bloodhound.Types: QueryPrefixQuery :: PrefixQuery -> Query
+ Database.V5.Bloodhound.Types: QueryQueryStringQuery :: QueryStringQuery -> Query
+ Database.V5.Bloodhound.Types: QueryRangeQuery :: RangeQuery -> Query
+ Database.V5.Bloodhound.Types: QueryRegexpQuery :: RegexpQuery -> Query
+ Database.V5.Bloodhound.Types: QuerySimpleQueryStringQuery :: SimpleQueryStringQuery -> Query
+ Database.V5.Bloodhound.Types: QueryString :: Text -> QueryString
+ Database.V5.Bloodhound.Types: QueryStringQuery :: QueryString -> Maybe FieldName -> Maybe BooleanOperator -> Maybe Analyzer -> Maybe AllowLeadingWildcard -> Maybe LowercaseExpanded -> Maybe EnablePositionIncrements -> Maybe MaxExpansions -> Maybe Fuzziness -> Maybe PrefixLength -> Maybe PhraseSlop -> Maybe Boost -> Maybe AnalyzeWildcard -> Maybe GeneratePhraseQueries -> Maybe MinimumMatch -> Maybe Lenient -> Maybe Locale -> QueryStringQuery
+ Database.V5.Bloodhound.Types: QuorumMinus1Shards :: InitialShardCount
+ Database.V5.Bloodhound.Types: QuorumShards :: InitialShardCount
+ Database.V5.Bloodhound.Types: RRSubGroup :: RRGroupRefNum -> RestoreRenameToken
+ Database.V5.Bloodhound.Types: RRSubWholeMatch :: RestoreRenameToken
+ Database.V5.Bloodhound.Types: RRTLit :: Text -> RestoreRenameToken
+ Database.V5.Bloodhound.Types: RangeDateGt :: GreaterThanD -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDateGtLt :: GreaterThanD -> LessThanD -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDateGtLte :: GreaterThanD -> LessThanEqD -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDateGte :: GreaterThanEqD -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDateGteLt :: GreaterThanEqD -> LessThanD -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDateGteLte :: GreaterThanEqD -> LessThanEqD -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDateLt :: LessThanD -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDateLte :: LessThanEqD -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDoubleGt :: GreaterThan -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDoubleGtLt :: GreaterThan -> LessThan -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDoubleGtLte :: GreaterThan -> LessThanEq -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDoubleGte :: GreaterThanEq -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDoubleGteLt :: GreaterThanEq -> LessThan -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDoubleGteLte :: GreaterThanEq -> LessThanEq -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDoubleLt :: LessThan -> RangeValue
+ Database.V5.Bloodhound.Types: RangeDoubleLte :: LessThanEq -> RangeValue
+ Database.V5.Bloodhound.Types: RangeExecutionFielddata :: RangeExecution
+ Database.V5.Bloodhound.Types: RangeExecutionIndex :: RangeExecution
+ Database.V5.Bloodhound.Types: RangeQuery :: FieldName -> RangeValue -> Boost -> RangeQuery
+ Database.V5.Bloodhound.Types: RecoveryInitialShards :: InitialShardCount -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: RefreshInterval :: NominalDiffTime -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: Regexp :: Text -> Regexp
+ Database.V5.Bloodhound.Types: RegexpQuery :: FieldName -> Regexp -> RegexpFlags -> Maybe Boost -> RegexpQuery
+ Database.V5.Bloodhound.Types: RemoveAlias :: IndexAlias -> IndexAliasAction
+ Database.V5.Bloodhound.Types: ReplicaCount :: Int -> ReplicaCount
+ Database.V5.Bloodhound.Types: ReplicasBounded :: Int -> Int -> ReplicaBounds
+ Database.V5.Bloodhound.Types: ReplicasLowerBounded :: Int -> ReplicaBounds
+ Database.V5.Bloodhound.Types: ReplicasUnbounded :: ReplicaBounds
+ Database.V5.Bloodhound.Types: RepoPattern :: Text -> SnapshotRepoPattern
+ Database.V5.Bloodhound.Types: RepoTypeMismatch :: SnapshotRepoType -> SnapshotRepoType -> SnapshotRepoConversionError
+ Database.V5.Bloodhound.Types: RestoreIndexSettings :: Maybe ReplicaCount -> RestoreIndexSettings
+ Database.V5.Bloodhound.Types: RestoreRenamePattern :: Text -> RestoreRenamePattern
+ Database.V5.Bloodhound.Types: RoundDownTo :: DateMathUnit -> DateMathModifier
+ Database.V5.Bloodhound.Types: RoutingAllocationEnable :: AllocationPolicy -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: RoutingAllocationExclude :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: RoutingAllocationInclude :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: RoutingAllocationRequire :: (NonEmpty NodeAttrFilter) -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: RoutingAllocationShardsPerNode :: ShardCount -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: RoutingValue :: Text -> RoutingValue
+ Database.V5.Bloodhound.Types: ScientificValue :: Scientific -> BucketValue
+ Database.V5.Bloodhound.Types: ScoreTypeAvg :: ScoreType
+ Database.V5.Bloodhound.Types: ScoreTypeMax :: ScoreType
+ Database.V5.Bloodhound.Types: ScoreTypeNone :: ScoreType
+ Database.V5.Bloodhound.Types: ScoreTypeSum :: ScoreType
+ Database.V5.Bloodhound.Types: Script :: Text -> Script
+ Database.V5.Bloodhound.Types: ScriptValueCount :: Script -> ValueCountAggregation
+ Database.V5.Bloodhound.Types: ScrollId :: Text -> ScrollId
+ Database.V5.Bloodhound.Types: Search :: Maybe Query -> Maybe Filter -> Maybe Sort -> Maybe Aggregations -> Maybe Highlights -> TrackSortScores -> From -> Size -> SearchType -> Maybe [FieldName] -> Maybe Source -> Search
+ Database.V5.Bloodhound.Types: SearchAliasRouting :: (NonEmpty RoutingValue) -> SearchAliasRouting
+ Database.V5.Bloodhound.Types: SearchHits :: Int -> Score -> [Hit a] -> SearchHits a
+ Database.V5.Bloodhound.Types: SearchResult :: Int -> Bool -> ShardResult -> SearchHits a -> Maybe AggregationResults -> Maybe ScrollId -> SearchResult a
+ Database.V5.Bloodhound.Types: SearchTypeDfsQueryThenFetch :: SearchType
+ Database.V5.Bloodhound.Types: SearchTypeQueryThenFetch :: SearchType
+ Database.V5.Bloodhound.Types: Second :: Interval
+ Database.V5.Bloodhound.Types: Seconds :: TimeInterval
+ Database.V5.Bloodhound.Types: Server :: Text -> Server
+ Database.V5.Bloodhound.Types: ShardCount :: Int -> ShardCount
+ Database.V5.Bloodhound.Types: ShardId :: Int -> ShardId
+ Database.V5.Bloodhound.Types: ShardResult :: Int -> Int -> Int -> ShardResult
+ Database.V5.Bloodhound.Types: ShouldMatch :: [Term] -> Cache -> BoolMatch
+ Database.V5.Bloodhound.Types: SimpleQueryAll :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryAnd :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryEscape :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryFuzzy :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryNear :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryNone :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryOr :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryPhrase :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryPrecedence :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryPrefix :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQuerySlop :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: SimpleQueryStringQuery :: QueryString -> Maybe FieldOrFields -> Maybe BooleanOperator -> Maybe Analyzer -> Maybe (NonEmpty SimpleQueryFlag) -> Maybe LowercaseExpanded -> Maybe Locale -> SimpleQueryStringQuery
+ Database.V5.Bloodhound.Types: SimpleQueryWhitespace :: SimpleQueryFlag
+ Database.V5.Bloodhound.Types: Size :: Int -> Size
+ Database.V5.Bloodhound.Types: SloppyArc :: DistanceType
+ Database.V5.Bloodhound.Types: SnapPattern :: Text -> SnapshotPattern
+ Database.V5.Bloodhound.Types: SnapshotAborted :: SnapshotState
+ Database.V5.Bloodhound.Types: SnapshotCreateSettings :: Bool -> Maybe IndexSelection -> Bool -> Bool -> Bool -> SnapshotCreateSettings
+ Database.V5.Bloodhound.Types: SnapshotFailed :: SnapshotState
+ Database.V5.Bloodhound.Types: SnapshotInfo :: ShardResult -> [SnapshotShardFailure] -> NominalDiffTime -> UTCTime -> UTCTime -> SnapshotState -> [IndexName] -> SnapshotName -> SnapshotInfo
+ Database.V5.Bloodhound.Types: SnapshotInit :: SnapshotState
+ Database.V5.Bloodhound.Types: SnapshotList :: (NonEmpty SnapshotPattern) -> SnapshotSelection
+ Database.V5.Bloodhound.Types: SnapshotMissing :: SnapshotState
+ Database.V5.Bloodhound.Types: SnapshotName :: Text -> SnapshotName
+ Database.V5.Bloodhound.Types: SnapshotNodeVerification :: FullNodeId -> NodeName -> SnapshotNodeVerification
+ Database.V5.Bloodhound.Types: SnapshotRepoList :: (NonEmpty SnapshotRepoPattern) -> SnapshotRepoSelection
+ Database.V5.Bloodhound.Types: SnapshotRepoName :: Text -> SnapshotRepoName
+ Database.V5.Bloodhound.Types: SnapshotRepoType :: Text -> SnapshotRepoType
+ Database.V5.Bloodhound.Types: SnapshotRepoUpdateSettings :: Bool -> SnapshotRepoUpdateSettings
+ Database.V5.Bloodhound.Types: SnapshotRestoreSettings :: Bool -> Maybe IndexSelection -> Bool -> Bool -> Maybe RestoreRenamePattern -> Maybe (NonEmpty RestoreRenameToken) -> Bool -> Bool -> Maybe RestoreIndexSettings -> Maybe (NonEmpty Text) -> SnapshotRestoreSettings
+ Database.V5.Bloodhound.Types: SnapshotShardFailure :: IndexName -> Maybe NodeName -> Text -> ShardId -> SnapshotShardFailure
+ Database.V5.Bloodhound.Types: SnapshotStarted :: SnapshotState
+ Database.V5.Bloodhound.Types: SnapshotSuccess :: SnapshotState
+ Database.V5.Bloodhound.Types: SnapshotVerification :: [SnapshotNodeVerification] -> SnapshotVerification
+ Database.V5.Bloodhound.Types: SnapshotWaiting :: SnapshotState
+ Database.V5.Bloodhound.Types: SomeRegexpFlags :: (NonEmpty RegexpFlag) -> RegexpFlags
+ Database.V5.Bloodhound.Types: SortAvg :: SortMode
+ Database.V5.Bloodhound.Types: SortMax :: SortMode
+ Database.V5.Bloodhound.Types: SortMin :: SortMode
+ Database.V5.Bloodhound.Types: SortSum :: SortMode
+ Database.V5.Bloodhound.Types: SourceIncludeExclude :: Include -> Exclude -> Source
+ Database.V5.Bloodhound.Types: SourcePatterns :: PatternOrPatterns -> Source
+ Database.V5.Bloodhound.Types: Status :: Text -> Text -> Text -> Version -> Text -> Status
+ Database.V5.Bloodhound.Types: StopWord :: Text -> StopWord
+ Database.V5.Bloodhound.Types: SubtractTime :: Int -> DateMathUnit -> DateMathModifier
+ Database.V5.Bloodhound.Types: TTLDisablePurge :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: TagSchema :: Text -> HighlightTag
+ Database.V5.Bloodhound.Types: TemplateName :: Text -> TemplateName
+ Database.V5.Bloodhound.Types: TemplatePattern :: Text -> TemplatePattern
+ Database.V5.Bloodhound.Types: Term :: Text -> Text -> Term
+ Database.V5.Bloodhound.Types: TermInclusion :: Text -> TermInclusion
+ Database.V5.Bloodhound.Types: TermOrder :: Text -> SortOrder -> TermOrder
+ Database.V5.Bloodhound.Types: TermPattern :: Text -> Text -> TermInclusion
+ Database.V5.Bloodhound.Types: TermQuery :: Term -> (Maybe Boost) -> Query
+ Database.V5.Bloodhound.Types: TermsAgg :: TermsAggregation -> Aggregation
+ Database.V5.Bloodhound.Types: TermsAggregation :: Either Text Text -> Maybe TermInclusion -> Maybe TermInclusion -> Maybe TermOrder -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe CollectionMode -> Maybe ExecutionHint -> Maybe Aggregations -> TermsAggregation
+ Database.V5.Bloodhound.Types: TermsQuery :: Text -> (NonEmpty Text) -> Query
+ Database.V5.Bloodhound.Types: TermsResult :: BucketValue -> Int -> Maybe AggregationResults -> TermsResult
+ Database.V5.Bloodhound.Types: TextValue :: Text -> BucketValue
+ Database.V5.Bloodhound.Types: ThreadPoolBounded :: Int -> ThreadPoolSize
+ Database.V5.Bloodhound.Types: ThreadPoolCached :: ThreadPoolType
+ Database.V5.Bloodhound.Types: ThreadPoolFixed :: ThreadPoolType
+ Database.V5.Bloodhound.Types: ThreadPoolScaling :: ThreadPoolType
+ Database.V5.Bloodhound.Types: ThreadPoolUnbounded :: ThreadPoolSize
+ Database.V5.Bloodhound.Types: Tiebreaker :: Double -> Tiebreaker
+ Database.V5.Bloodhound.Types: TopHitResult :: (SearchHits a) -> TopHitResult a
+ Database.V5.Bloodhound.Types: TopHitsAgg :: TopHitsAggregation -> Aggregation
+ Database.V5.Bloodhound.Types: TopHitsAggregation :: Maybe From -> Maybe Size -> Maybe Sort -> TopHitsAggregation
+ Database.V5.Bloodhound.Types: TranslogDisableFlush :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: TranslogFSType :: FSType -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: TranslogFlushThresholdOps :: Int -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: TranslogFlushThresholdPeriod :: NominalDiffTime -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: TranslogFlushThresholdSize :: Bytes -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: TypeName :: Text -> TypeName
+ Database.V5.Bloodhound.Types: ValueCountAgg :: ValueCountAggregation -> Aggregation
+ Database.V5.Bloodhound.Types: Version :: VersionNumber -> BuildHash -> UTCTime -> Bool -> VersionNumber -> Version
+ Database.V5.Bloodhound.Types: VersionNumber :: Version -> VersionNumber
+ Database.V5.Bloodhound.Types: WarmerEnabled :: Bool -> UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: Week :: Interval
+ Database.V5.Bloodhound.Types: Weeks :: TimeInterval
+ Database.V5.Bloodhound.Types: Yards :: DistanceUnit
+ Database.V5.Bloodhound.Types: Year :: Interval
+ Database.V5.Bloodhound.Types: ZeroTermsAll :: ZeroTermsQuery
+ Database.V5.Bloodhound.Types: ZeroTermsNone :: ZeroTermsQuery
+ Database.V5.Bloodhound.Types: [_id] :: EsResult a -> Text
+ Database.V5.Bloodhound.Types: [_index] :: EsResult a -> Text
+ Database.V5.Bloodhound.Types: [_source] :: EsResultFound a -> a
+ Database.V5.Bloodhound.Types: [_type] :: EsResult a -> Text
+ Database.V5.Bloodhound.Types: [_version] :: EsResultFound a -> DocVersion
+ Database.V5.Bloodhound.Types: [aggBody] :: Search -> Maybe Aggregations
+ Database.V5.Bloodhound.Types: [aggregations] :: SearchResult a -> Maybe AggregationResults
+ Database.V5.Bloodhound.Types: [aliasCreateFilter] :: IndexAliasCreate -> Maybe Filter
+ Database.V5.Bloodhound.Types: [aliasCreateRouting] :: IndexAliasCreate -> Maybe AliasRouting
+ Database.V5.Bloodhound.Types: [bbConstraintcache] :: GeoBoundingBoxConstraint -> Cache
+ Database.V5.Bloodhound.Types: [boolQueryBoost] :: BoolQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [boolQueryDisableCoord] :: BoolQuery -> Maybe DisableCoord
+ Database.V5.Bloodhound.Types: [boolQueryFilter] :: BoolQuery -> [Filter]
+ Database.V5.Bloodhound.Types: [boolQueryMinimumShouldMatch] :: BoolQuery -> Maybe MinimumMatch
+ Database.V5.Bloodhound.Types: [boolQueryMustMatch] :: BoolQuery -> [Query]
+ Database.V5.Bloodhound.Types: [boolQueryMustNotMatch] :: BoolQuery -> [Query]
+ Database.V5.Bloodhound.Types: [boolQueryShouldMatch] :: BoolQuery -> [Query]
+ Database.V5.Bloodhound.Types: [bottomRight] :: GeoBoundingBox -> LatLon
+ Database.V5.Bloodhound.Types: [boundAddress] :: BoundTransportAddress -> [EsAddress]
+ Database.V5.Bloodhound.Types: [boundaryChars] :: FastVectorHighlight -> Maybe Text
+ Database.V5.Bloodhound.Types: [boundaryMaxScan] :: FastVectorHighlight -> Maybe Int
+ Database.V5.Bloodhound.Types: [buckets] :: Bucket a -> [a]
+ Database.V5.Bloodhound.Types: [buildHash] :: BuildHash -> Text
+ Database.V5.Bloodhound.Types: [build_date] :: Version -> UTCTime
+ Database.V5.Bloodhound.Types: [build_hash] :: Version -> BuildHash
+ Database.V5.Bloodhound.Types: [build_snapshot] :: Version -> Bool
+ Database.V5.Bloodhound.Types: [cardinalityField] :: CardinalityAggregation -> FieldName
+ Database.V5.Bloodhound.Types: [clusterName] :: ClusterName -> Text
+ Database.V5.Bloodhound.Types: [cluster_name] :: Status -> Text
+ Database.V5.Bloodhound.Types: [cluster_uuid] :: Status -> Text
+ Database.V5.Bloodhound.Types: [coefficient] :: Distance -> Double
+ Database.V5.Bloodhound.Types: [commonAnalyzer] :: CommonTermsQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [commonBoost] :: CommonTermsQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [commonCutoffFrequency] :: CommonTermsQuery -> CutoffFrequency
+ Database.V5.Bloodhound.Types: [commonDisableCoord] :: CommonTermsQuery -> Maybe DisableCoord
+ Database.V5.Bloodhound.Types: [commonField] :: CommonTermsQuery -> FieldName
+ Database.V5.Bloodhound.Types: [commonHighFreqOperator] :: CommonTermsQuery -> BooleanOperator
+ Database.V5.Bloodhound.Types: [commonLowFreqOperator] :: CommonTermsQuery -> BooleanOperator
+ Database.V5.Bloodhound.Types: [commonMinimumShouldMatch] :: CommonTermsQuery -> Maybe CommonMinimumMatch
+ Database.V5.Bloodhound.Types: [commonQuery] :: CommonTermsQuery -> QueryString
+ Database.V5.Bloodhound.Types: [constraintBox] :: GeoBoundingBoxConstraint -> GeoBoundingBox
+ Database.V5.Bloodhound.Types: [cpuCacheSize] :: CPUInfo -> Bytes
+ Database.V5.Bloodhound.Types: [cpuCoresPerSocket] :: CPUInfo -> Int
+ Database.V5.Bloodhound.Types: [cpuMHZ] :: CPUInfo -> Int
+ Database.V5.Bloodhound.Types: [cpuModel] :: CPUInfo -> Text
+ Database.V5.Bloodhound.Types: [cpuTotalCores] :: CPUInfo -> Int
+ Database.V5.Bloodhound.Types: [cpuTotalSockets] :: CPUInfo -> Int
+ Database.V5.Bloodhound.Types: [cpuVendor] :: CPUInfo -> Text
+ Database.V5.Bloodhound.Types: [dateAggs] :: DateHistogramAggregation -> Maybe Aggregations
+ Database.V5.Bloodhound.Types: [dateDocCount] :: DateHistogramResult -> Int
+ Database.V5.Bloodhound.Types: [dateField] :: DateHistogramAggregation -> FieldName
+ Database.V5.Bloodhound.Types: [dateFormat] :: DateHistogramAggregation -> Maybe Text
+ Database.V5.Bloodhound.Types: [dateHistogramAggs] :: DateHistogramResult -> Maybe AggregationResults
+ Database.V5.Bloodhound.Types: [dateInterval] :: DateHistogramAggregation -> Interval
+ Database.V5.Bloodhound.Types: [dateKeyStr] :: DateHistogramResult -> Maybe Text
+ Database.V5.Bloodhound.Types: [dateKey] :: DateHistogramResult -> Int
+ Database.V5.Bloodhound.Types: [datePostOffset] :: DateHistogramAggregation -> Maybe Text
+ Database.V5.Bloodhound.Types: [datePostZone] :: DateHistogramAggregation -> Maybe Text
+ Database.V5.Bloodhound.Types: [datePreOffset] :: DateHistogramAggregation -> Maybe Text
+ Database.V5.Bloodhound.Types: [datePreZone] :: DateHistogramAggregation -> Maybe Text
+ Database.V5.Bloodhound.Types: [dateRangeAggs] :: DateRangeResult -> Maybe AggregationResults
+ Database.V5.Bloodhound.Types: [dateRangeDocCount] :: DateRangeResult -> Int
+ Database.V5.Bloodhound.Types: [dateRangeFromAsString] :: DateRangeResult -> Maybe Text
+ Database.V5.Bloodhound.Types: [dateRangeFrom] :: DateRangeResult -> Maybe UTCTime
+ Database.V5.Bloodhound.Types: [dateRangeKey] :: DateRangeResult -> Text
+ Database.V5.Bloodhound.Types: [dateRangeToAsString] :: DateRangeResult -> Maybe Text
+ Database.V5.Bloodhound.Types: [dateRangeTo] :: DateRangeResult -> Maybe UTCTime
+ Database.V5.Bloodhound.Types: [disMaxBoost] :: DisMaxQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [disMaxQueries] :: DisMaxQuery -> [Query]
+ Database.V5.Bloodhound.Types: [disMaxTiebreaker] :: DisMaxQuery -> Tiebreaker
+ Database.V5.Bloodhound.Types: [distanceFrom] :: DistanceRange -> Distance
+ Database.V5.Bloodhound.Types: [distanceTo] :: DistanceRange -> Distance
+ Database.V5.Bloodhound.Types: [draField] :: DateRangeAggregation -> FieldName
+ Database.V5.Bloodhound.Types: [draFormat] :: DateRangeAggregation -> Maybe Text
+ Database.V5.Bloodhound.Types: [draRanges] :: DateRangeAggregation -> NonEmpty DateRangeAggRange
+ Database.V5.Bloodhound.Types: [encoder] :: CommonHighlight -> Maybe HighlightEncoder
+ Database.V5.Bloodhound.Types: [errorMessage] :: EsError -> Text
+ Database.V5.Bloodhound.Types: [errorStatus] :: EsError -> Int
+ Database.V5.Bloodhound.Types: [esAddress] :: EsAddress -> Text
+ Database.V5.Bloodhound.Types: [esPassword] :: EsPassword -> Text
+ Database.V5.Bloodhound.Types: [esProtoExBody] :: EsProtocolException -> ByteString
+ Database.V5.Bloodhound.Types: [esUsername] :: EsUsername -> Text
+ Database.V5.Bloodhound.Types: [faAggs] :: FilterAggregation -> Maybe Aggregations
+ Database.V5.Bloodhound.Types: [faFilter] :: FilterAggregation -> Filter
+ Database.V5.Bloodhound.Types: [fieldDefinition] :: MappingField -> FieldDefinition
+ Database.V5.Bloodhound.Types: [fieldType] :: FieldDefinition -> FieldType
+ Database.V5.Bloodhound.Types: [fields] :: Search -> Maybe [FieldName]
+ Database.V5.Bloodhound.Types: [filterBody] :: Search -> Maybe Filter
+ Database.V5.Bloodhound.Types: [flushAfterOptimize] :: ForceMergeIndexSettings -> Bool
+ Database.V5.Bloodhound.Types: [forceSource] :: CommonHighlight -> Maybe Bool
+ Database.V5.Bloodhound.Types: [foundResult] :: EsResult a -> Maybe (EsResultFound a)
+ Database.V5.Bloodhound.Types: [fragmentOffset] :: FastVectorHighlight -> Maybe Int
+ Database.V5.Bloodhound.Types: [fragmentSize] :: NonPostings -> Maybe Int
+ Database.V5.Bloodhound.Types: [from] :: Search -> From
+ Database.V5.Bloodhound.Types: [fsrChunkSize] :: FsSnapshotRepo -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [fsrCompressMetadata] :: FsSnapshotRepo -> Bool
+ Database.V5.Bloodhound.Types: [fsrLocation] :: FsSnapshotRepo -> FilePath
+ Database.V5.Bloodhound.Types: [fsrMaxRestoreBytesPerSec] :: FsSnapshotRepo -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [fsrMaxSnapshotBytesPerSec] :: FsSnapshotRepo -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [fsrName] :: FsSnapshotRepo -> SnapshotRepoName
+ Database.V5.Bloodhound.Types: [fullNodeId] :: FullNodeId -> Text
+ Database.V5.Bloodhound.Types: [fuzzyLikeAnalyzer] :: FuzzyLikeThisQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [fuzzyLikeBoost] :: FuzzyLikeThisQuery -> Boost
+ Database.V5.Bloodhound.Types: [fuzzyLikeFieldAnalyzer] :: FuzzyLikeFieldQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [fuzzyLikeFieldBoost] :: FuzzyLikeFieldQuery -> Boost
+ Database.V5.Bloodhound.Types: [fuzzyLikeFieldFuzziness] :: FuzzyLikeFieldQuery -> Fuzziness
+ Database.V5.Bloodhound.Types: [fuzzyLikeFieldIgnoreTermFrequency] :: FuzzyLikeFieldQuery -> IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: [fuzzyLikeFieldMaxQueryTerms] :: FuzzyLikeFieldQuery -> MaxQueryTerms
+ Database.V5.Bloodhound.Types: [fuzzyLikeFieldPrefixLength] :: FuzzyLikeFieldQuery -> PrefixLength
+ Database.V5.Bloodhound.Types: [fuzzyLikeFieldText] :: FuzzyLikeFieldQuery -> Text
+ Database.V5.Bloodhound.Types: [fuzzyLikeField] :: FuzzyLikeFieldQuery -> FieldName
+ Database.V5.Bloodhound.Types: [fuzzyLikeFields] :: FuzzyLikeThisQuery -> [FieldName]
+ Database.V5.Bloodhound.Types: [fuzzyLikeFuzziness] :: FuzzyLikeThisQuery -> Fuzziness
+ Database.V5.Bloodhound.Types: [fuzzyLikeIgnoreTermFrequency] :: FuzzyLikeThisQuery -> IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: [fuzzyLikeMaxQueryTerms] :: FuzzyLikeThisQuery -> MaxQueryTerms
+ Database.V5.Bloodhound.Types: [fuzzyLikePrefixLength] :: FuzzyLikeThisQuery -> PrefixLength
+ Database.V5.Bloodhound.Types: [fuzzyLikeText] :: FuzzyLikeThisQuery -> Text
+ Database.V5.Bloodhound.Types: [fuzzyQueryBoost] :: FuzzyQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [fuzzyQueryField] :: FuzzyQuery -> FieldName
+ Database.V5.Bloodhound.Types: [fuzzyQueryFuzziness] :: FuzzyQuery -> Fuzziness
+ Database.V5.Bloodhound.Types: [fuzzyQueryMaxExpansions] :: FuzzyQuery -> MaxExpansions
+ Database.V5.Bloodhound.Types: [fuzzyQueryPrefixLength] :: FuzzyQuery -> PrefixLength
+ Database.V5.Bloodhound.Types: [fuzzyQueryValue] :: FuzzyQuery -> Text
+ Database.V5.Bloodhound.Types: [fvCommon] :: FastVectorHighlight -> Maybe CommonHighlight
+ Database.V5.Bloodhound.Types: [fvNonPostSettings] :: FastVectorHighlight -> Maybe NonPostings
+ Database.V5.Bloodhound.Types: [gSnapshotRepoName] :: GenericSnapshotRepo -> SnapshotRepoName
+ Database.V5.Bloodhound.Types: [gSnapshotRepoSettingsObject] :: GenericSnapshotRepoSettings -> Object
+ Database.V5.Bloodhound.Types: [gSnapshotRepoSettings] :: GenericSnapshotRepo -> GenericSnapshotRepoSettings
+ Database.V5.Bloodhound.Types: [gSnapshotRepoType] :: GenericSnapshotRepo -> SnapshotRepoType
+ Database.V5.Bloodhound.Types: [geoBBField] :: GeoBoundingBoxConstraint -> FieldName
+ Database.V5.Bloodhound.Types: [geoField] :: GeoPoint -> FieldName
+ Database.V5.Bloodhound.Types: [geoType] :: GeoBoundingBoxConstraint -> GeoFilterType
+ Database.V5.Bloodhound.Types: [globalsettings] :: Highlights -> Maybe HighlightSettings
+ Database.V5.Bloodhound.Types: [hasChildQueryScoreType] :: HasChildQuery -> Maybe ScoreType
+ Database.V5.Bloodhound.Types: [hasChildQueryType] :: HasChildQuery -> TypeName
+ Database.V5.Bloodhound.Types: [hasChildQuery] :: HasChildQuery -> Query
+ Database.V5.Bloodhound.Types: [hasParentQueryScoreType] :: HasParentQuery -> Maybe ScoreType
+ Database.V5.Bloodhound.Types: [hasParentQueryType] :: HasParentQuery -> TypeName
+ Database.V5.Bloodhound.Types: [hasParentQuery] :: HasParentQuery -> Query
+ Database.V5.Bloodhound.Types: [highFreq] :: MinimumMatchHighLow -> MinimumMatch
+ Database.V5.Bloodhound.Types: [highlightFields] :: Highlights -> [FieldHighlight]
+ Database.V5.Bloodhound.Types: [highlightQuery] :: CommonHighlight -> Maybe Query
+ Database.V5.Bloodhound.Types: [highlight] :: Search -> Maybe Highlights
+ Database.V5.Bloodhound.Types: [hitDocId] :: Hit a -> DocId
+ Database.V5.Bloodhound.Types: [hitHighlight] :: Hit a -> Maybe HitHighlight
+ Database.V5.Bloodhound.Types: [hitIndex] :: Hit a -> IndexName
+ Database.V5.Bloodhound.Types: [hitScore] :: Hit a -> Score
+ Database.V5.Bloodhound.Types: [hitSource] :: Hit a -> Maybe a
+ Database.V5.Bloodhound.Types: [hitType] :: Hit a -> MappingName
+ Database.V5.Bloodhound.Types: [hitsTotal] :: SearchHits a -> Int
+ Database.V5.Bloodhound.Types: [hits] :: SearchHits a -> [Hit a]
+ Database.V5.Bloodhound.Types: [idsParent] :: IndexDocumentSettings -> Maybe DocumentParent
+ Database.V5.Bloodhound.Types: [idsVersionControl] :: IndexDocumentSettings -> VersionControl
+ Database.V5.Bloodhound.Types: [ignoreUnmapped] :: DefaultSort -> Maybe Text
+ Database.V5.Bloodhound.Types: [indexAliasName] :: IndexAliasName -> IndexName
+ Database.V5.Bloodhound.Types: [indexAliasSummaryAlias] :: IndexAliasSummary -> IndexAlias
+ Database.V5.Bloodhound.Types: [indexAliasSummaryCreate] :: IndexAliasSummary -> IndexAliasCreate
+ Database.V5.Bloodhound.Types: [indexAlias] :: IndexAlias -> IndexAliasName
+ Database.V5.Bloodhound.Types: [indexAliasesSummary] :: IndexAliasesSummary -> [IndexAliasSummary]
+ Database.V5.Bloodhound.Types: [indexReplicas] :: IndexSettings -> ReplicaCount
+ Database.V5.Bloodhound.Types: [indexShards] :: IndexSettings -> ShardCount
+ Database.V5.Bloodhound.Types: [indicesQueryIndices] :: IndicesQuery -> [IndexName]
+ Database.V5.Bloodhound.Types: [indicesQueryNoMatch] :: IndicesQuery -> Maybe Query
+ Database.V5.Bloodhound.Types: [indicesQuery] :: IndicesQuery -> Query
+ Database.V5.Bloodhound.Types: [jvmBufferPoolStatsCount] :: JVMBufferPoolStats -> Int
+ Database.V5.Bloodhound.Types: [jvmBufferPoolStatsTotalCapacity] :: JVMBufferPoolStats -> Bytes
+ Database.V5.Bloodhound.Types: [jvmBufferPoolStatsUsed] :: JVMBufferPoolStats -> Bytes
+ Database.V5.Bloodhound.Types: [jvmGCCollector] :: JVMGCCollector -> Text
+ Database.V5.Bloodhound.Types: [jvmGCStatsCollectionCount] :: JVMGCStats -> Int
+ Database.V5.Bloodhound.Types: [jvmGCStatsCollectionTime] :: JVMGCStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [jvmMemoryInfoDirectMax] :: JVMMemoryInfo -> Bytes
+ Database.V5.Bloodhound.Types: [jvmMemoryInfoHeapInit] :: JVMMemoryInfo -> Bytes
+ Database.V5.Bloodhound.Types: [jvmMemoryInfoHeapMax] :: JVMMemoryInfo -> Bytes
+ Database.V5.Bloodhound.Types: [jvmMemoryInfoNonHeapInit] :: JVMMemoryInfo -> Bytes
+ Database.V5.Bloodhound.Types: [jvmMemoryInfoNonHeapMax] :: JVMMemoryInfo -> Bytes
+ Database.V5.Bloodhound.Types: [jvmMemoryPool] :: JVMMemoryPool -> Text
+ Database.V5.Bloodhound.Types: [jvmPoolStatsMax] :: JVMPoolStats -> Bytes
+ Database.V5.Bloodhound.Types: [jvmPoolStatsPeakMax] :: JVMPoolStats -> Bytes
+ Database.V5.Bloodhound.Types: [jvmPoolStatsPeakUsed] :: JVMPoolStats -> Bytes
+ Database.V5.Bloodhound.Types: [jvmPoolStatsUsed] :: JVMPoolStats -> Bytes
+ Database.V5.Bloodhound.Types: [latLon] :: GeoPoint -> LatLon
+ Database.V5.Bloodhound.Types: [lat] :: LatLon -> Double
+ Database.V5.Bloodhound.Types: [loadAvg15Min] :: LoadAvgs -> Double
+ Database.V5.Bloodhound.Types: [loadAvg1Min] :: LoadAvgs -> Double
+ Database.V5.Bloodhound.Types: [loadAvg5Min] :: LoadAvgs -> Double
+ Database.V5.Bloodhound.Types: [lon] :: LatLon -> Double
+ Database.V5.Bloodhound.Types: [lowFreq] :: MinimumMatchHighLow -> MinimumMatch
+ Database.V5.Bloodhound.Types: [lucene_version] :: Version -> VersionNumber
+ Database.V5.Bloodhound.Types: [maField] :: MissingAggregation -> Text
+ Database.V5.Bloodhound.Types: [macAddress] :: MacAddress -> Text
+ Database.V5.Bloodhound.Types: [mappingFieldName] :: MappingField -> FieldName
+ Database.V5.Bloodhound.Types: [mappingFields] :: Mapping -> [MappingField]
+ Database.V5.Bloodhound.Types: [matchQueryAnalyzer] :: MatchQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [matchQueryBoost] :: MatchQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [matchQueryCutoffFrequency] :: MatchQuery -> Maybe CutoffFrequency
+ Database.V5.Bloodhound.Types: [matchQueryField] :: MatchQuery -> FieldName
+ Database.V5.Bloodhound.Types: [matchQueryLenient] :: MatchQuery -> Maybe Lenient
+ Database.V5.Bloodhound.Types: [matchQueryMatchType] :: MatchQuery -> Maybe MatchQueryType
+ Database.V5.Bloodhound.Types: [matchQueryMaxExpansions] :: MatchQuery -> Maybe MaxExpansions
+ Database.V5.Bloodhound.Types: [matchQueryOperator] :: MatchQuery -> BooleanOperator
+ Database.V5.Bloodhound.Types: [matchQueryQueryString] :: MatchQuery -> QueryString
+ Database.V5.Bloodhound.Types: [matchQueryZeroTerms] :: MatchQuery -> ZeroTermsQuery
+ Database.V5.Bloodhound.Types: [matchedFields] :: FastVectorHighlight -> [Text]
+ Database.V5.Bloodhound.Types: [maxNumSegments] :: ForceMergeIndexSettings -> Maybe Int
+ Database.V5.Bloodhound.Types: [maxScore] :: SearchHits a -> Score
+ Database.V5.Bloodhound.Types: [missingDocCount] :: MissingResult -> Int
+ Database.V5.Bloodhound.Types: [missingSort] :: DefaultSort -> Maybe Missing
+ Database.V5.Bloodhound.Types: [moreLikeThisAnalyzer] :: MoreLikeThisQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [moreLikeThisBoostTerms] :: MoreLikeThisQuery -> Maybe BoostTerms
+ Database.V5.Bloodhound.Types: [moreLikeThisBoost] :: MoreLikeThisQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldAnalyzer] :: MoreLikeThisFieldQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldBoostTerms] :: MoreLikeThisFieldQuery -> Maybe BoostTerms
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldBoost] :: MoreLikeThisFieldQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldFields] :: MoreLikeThisFieldQuery -> FieldName
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldMaxDocFrequency] :: MoreLikeThisFieldQuery -> Maybe MaxDocFrequency
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldMaxQueryTerms] :: MoreLikeThisFieldQuery -> Maybe MaxQueryTerms
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldMaxWordLength] :: MoreLikeThisFieldQuery -> Maybe MaxWordLength
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldMinDocFrequency] :: MoreLikeThisFieldQuery -> Maybe MinDocFrequency
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldMinWordLength] :: MoreLikeThisFieldQuery -> Maybe MinWordLength
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldMinimumTermFreq] :: MoreLikeThisFieldQuery -> Maybe MinimumTermFrequency
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldPercentMatch] :: MoreLikeThisFieldQuery -> Maybe PercentMatch
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldStopWords] :: MoreLikeThisFieldQuery -> Maybe (NonEmpty StopWord)
+ Database.V5.Bloodhound.Types: [moreLikeThisFieldText] :: MoreLikeThisFieldQuery -> Text
+ Database.V5.Bloodhound.Types: [moreLikeThisFields] :: MoreLikeThisQuery -> Maybe (NonEmpty FieldName)
+ Database.V5.Bloodhound.Types: [moreLikeThisMaxDocFrequency] :: MoreLikeThisQuery -> Maybe MaxDocFrequency
+ Database.V5.Bloodhound.Types: [moreLikeThisMaxQueryTerms] :: MoreLikeThisQuery -> Maybe MaxQueryTerms
+ Database.V5.Bloodhound.Types: [moreLikeThisMaxWordLength] :: MoreLikeThisQuery -> Maybe MaxWordLength
+ Database.V5.Bloodhound.Types: [moreLikeThisMinDocFrequency] :: MoreLikeThisQuery -> Maybe MinDocFrequency
+ Database.V5.Bloodhound.Types: [moreLikeThisMinWordLength] :: MoreLikeThisQuery -> Maybe MinWordLength
+ Database.V5.Bloodhound.Types: [moreLikeThisMinimumTermFreq] :: MoreLikeThisQuery -> Maybe MinimumTermFrequency
+ Database.V5.Bloodhound.Types: [moreLikeThisPercentMatch] :: MoreLikeThisQuery -> Maybe PercentMatch
+ Database.V5.Bloodhound.Types: [moreLikeThisStopWords] :: MoreLikeThisQuery -> Maybe (NonEmpty StopWord)
+ Database.V5.Bloodhound.Types: [moreLikeThisText] :: MoreLikeThisQuery -> Text
+ Database.V5.Bloodhound.Types: [multiMatchQueryAnalyzer] :: MultiMatchQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [multiMatchQueryCutoffFrequency] :: MultiMatchQuery -> Maybe CutoffFrequency
+ Database.V5.Bloodhound.Types: [multiMatchQueryFields] :: MultiMatchQuery -> [FieldName]
+ Database.V5.Bloodhound.Types: [multiMatchQueryLenient] :: MultiMatchQuery -> Maybe Lenient
+ Database.V5.Bloodhound.Types: [multiMatchQueryMaxExpansions] :: MultiMatchQuery -> Maybe MaxExpansions
+ Database.V5.Bloodhound.Types: [multiMatchQueryOperator] :: MultiMatchQuery -> BooleanOperator
+ Database.V5.Bloodhound.Types: [multiMatchQueryString] :: MultiMatchQuery -> QueryString
+ Database.V5.Bloodhound.Types: [multiMatchQueryTiebreaker] :: MultiMatchQuery -> Maybe Tiebreaker
+ Database.V5.Bloodhound.Types: [multiMatchQueryType] :: MultiMatchQuery -> Maybe MultiMatchQueryType
+ Database.V5.Bloodhound.Types: [multiMatchQueryZeroTerms] :: MultiMatchQuery -> ZeroTermsQuery
+ Database.V5.Bloodhound.Types: [name] :: Status -> Text
+ Database.V5.Bloodhound.Types: [negativeBoost] :: BoostingQuery -> Boost
+ Database.V5.Bloodhound.Types: [negativeQuery] :: BoostingQuery -> Query
+ Database.V5.Bloodhound.Types: [nestedFilter] :: DefaultSort -> Maybe Filter
+ Database.V5.Bloodhound.Types: [nestedQueryPath] :: NestedQuery -> QueryPath
+ Database.V5.Bloodhound.Types: [nestedQueryScoreType] :: NestedQuery -> ScoreType
+ Database.V5.Bloodhound.Types: [nestedQuery] :: NestedQuery -> Query
+ Database.V5.Bloodhound.Types: [networkInterfaceName] :: NetworkInterfaceName -> Text
+ Database.V5.Bloodhound.Types: [noMatchSize] :: CommonHighlight -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeAttrFilterName] :: NodeAttrFilter -> NodeAttrName
+ Database.V5.Bloodhound.Types: [nodeAttrFilterValues] :: NodeAttrFilter -> NonEmpty Text
+ Database.V5.Bloodhound.Types: [nodeBreakersEstSize] :: NodeBreakerStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeBreakersLimitSize] :: NodeBreakerStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeBreakersOverhead] :: NodeBreakerStats -> Double
+ Database.V5.Bloodhound.Types: [nodeBreakersTripped] :: NodeBreakerStats -> Int
+ Database.V5.Bloodhound.Types: [nodeDataPathAvailable] :: NodeDataPathStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeDataPathDevice] :: NodeDataPathStats -> Maybe Text
+ Database.V5.Bloodhound.Types: [nodeDataPathDiskQueue] :: NodeDataPathStats -> Maybe Double
+ Database.V5.Bloodhound.Types: [nodeDataPathDiskServiceTime] :: NodeDataPathStats -> Maybe Double
+ Database.V5.Bloodhound.Types: [nodeDataPathFree] :: NodeDataPathStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeDataPathIOOps] :: NodeDataPathStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeDataPathIOSize] :: NodeDataPathStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeDataPathMount] :: NodeDataPathStats -> Text
+ Database.V5.Bloodhound.Types: [nodeDataPathPath] :: NodeDataPathStats -> Text
+ Database.V5.Bloodhound.Types: [nodeDataPathReadSize] :: NodeDataPathStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeDataPathReads] :: NodeDataPathStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeDataPathTotal] :: NodeDataPathStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeDataPathType] :: NodeDataPathStats -> Maybe Text
+ Database.V5.Bloodhound.Types: [nodeDataPathWriteSize] :: NodeDataPathStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeDataPathWrites] :: NodeDataPathStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeFSDataPaths] :: NodeFSStats -> [NodeDataPathStats]
+ Database.V5.Bloodhound.Types: [nodeFSTimestamp] :: NodeFSStats -> UTCTime
+ Database.V5.Bloodhound.Types: [nodeFSTotalAvailable] :: NodeFSTotalStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeFSTotalDiskQueue] :: NodeFSTotalStats -> Maybe Double
+ Database.V5.Bloodhound.Types: [nodeFSTotalDiskServiceTime] :: NodeFSTotalStats -> Maybe Double
+ Database.V5.Bloodhound.Types: [nodeFSTotalFree] :: NodeFSTotalStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeFSTotalIOOps] :: NodeFSTotalStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeFSTotalIOSize] :: NodeFSTotalStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeFSTotalReadSize] :: NodeFSTotalStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeFSTotalReads] :: NodeFSTotalStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeFSTotalTotal] :: NodeFSTotalStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeFSTotalWriteSize] :: NodeFSTotalStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeFSTotalWrites] :: NodeFSTotalStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeFSTotal] :: NodeFSStats -> NodeFSTotalStats
+ Database.V5.Bloodhound.Types: [nodeHTTPCurrentOpen] :: NodeHTTPStats -> Int
+ Database.V5.Bloodhound.Types: [nodeHTTPMaxContentLength] :: NodeHTTPInfo -> Bytes
+ Database.V5.Bloodhound.Types: [nodeHTTPTotalOpened] :: NodeHTTPStats -> Int
+ Database.V5.Bloodhound.Types: [nodeHTTPTransportAddress] :: NodeHTTPInfo -> BoundTransportAddress
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsCompletionSize] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsDocsCount] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsDocsDeleted] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsFieldDataEvictions] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsFieldDataMemory] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsFlushTotalTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsFlushTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsGetCurrent] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsGetExistsTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsGetExistsTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsGetMissingTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsGetMissingTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsGetTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsGetTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteCurrent] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingDeleteTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingIndexCurrent] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingIndexTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingIsThrottled] :: NodeIndicesStats -> Maybe Bool
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingNoopUpdateTotal] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingThrottleTime] :: NodeIndicesStats -> Maybe NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsIndexingTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsMergesCurrentDocs] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsMergesCurrentSize] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsMergesCurrent] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsMergesTotalDocs] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsMergesTotalSize] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsMergesTotalTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsMergesTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsPercolateCurrent] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsPercolateMemory] :: NodeIndicesStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsPercolateQueries] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsPercolateTime] :: NodeIndicesStats -> Maybe NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsPercolateTotal] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsQueryCacheEvictions] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsQueryCacheHits] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsQueryCacheMisses] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsQueryCacheSize] :: NodeIndicesStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsRecoveryCurrentAsSource] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsRecoveryCurrentAsTarget] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsRecoveryThrottleTime] :: NodeIndicesStats -> Maybe NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsRefreshTotalTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsRefreshTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSearchFetchCurrent] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSearchFetchTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSearchFetchTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSearchOpenContexts] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSearchQueryCurrent] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSearchQueryTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSearchQueryTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSegCount] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSegFixedBitSetMemory] :: NodeIndicesStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSegIndexWriterMaxMemory] :: NodeIndicesStats -> Maybe Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSegIndexWriterMemory] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSegMemory] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSegVersionMapMemory] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsStoreSize] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsStoreThrottleTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSuggestCurrent] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSuggestTime] :: NodeIndicesStats -> Maybe NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsSuggestTotal] :: NodeIndicesStats -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsTranslogOps] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsTranslogSize] :: NodeIndicesStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsWarmerCurrent] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsWarmerTotalTime] :: NodeIndicesStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeIndicesStatsWarmerTotal] :: NodeIndicesStats -> Int
+ Database.V5.Bloodhound.Types: [nodeInfoBuild] :: NodeInfo -> BuildHash
+ Database.V5.Bloodhound.Types: [nodeInfoESVersion] :: NodeInfo -> VersionNumber
+ Database.V5.Bloodhound.Types: [nodeInfoFullId] :: NodeInfo -> FullNodeId
+ Database.V5.Bloodhound.Types: [nodeInfoHTTPAddress] :: NodeInfo -> Maybe EsAddress
+ Database.V5.Bloodhound.Types: [nodeInfoHTTP] :: NodeInfo -> NodeHTTPInfo
+ Database.V5.Bloodhound.Types: [nodeInfoHost] :: NodeInfo -> Server
+ Database.V5.Bloodhound.Types: [nodeInfoIP] :: NodeInfo -> Server
+ Database.V5.Bloodhound.Types: [nodeInfoJVM] :: NodeInfo -> NodeJVMInfo
+ Database.V5.Bloodhound.Types: [nodeInfoName] :: NodeInfo -> NodeName
+ Database.V5.Bloodhound.Types: [nodeInfoNetwork] :: NodeInfo -> Maybe NodeNetworkInfo
+ Database.V5.Bloodhound.Types: [nodeInfoOS] :: NodeInfo -> NodeOSInfo
+ Database.V5.Bloodhound.Types: [nodeInfoPlugins] :: NodeInfo -> [NodePluginInfo]
+ Database.V5.Bloodhound.Types: [nodeInfoProcess] :: NodeInfo -> NodeProcessInfo
+ Database.V5.Bloodhound.Types: [nodeInfoSettings] :: NodeInfo -> Object
+ Database.V5.Bloodhound.Types: [nodeInfoThreadPool] :: NodeInfo -> NodeThreadPoolsInfo
+ Database.V5.Bloodhound.Types: [nodeInfoTransportAddress] :: NodeInfo -> EsAddress
+ Database.V5.Bloodhound.Types: [nodeInfoTransport] :: NodeInfo -> NodeTransportInfo
+ Database.V5.Bloodhound.Types: [nodeJVMInfoMemoryInfo] :: NodeJVMInfo -> JVMMemoryInfo
+ Database.V5.Bloodhound.Types: [nodeJVMInfoMemoryPoolsGCCollectors] :: NodeJVMInfo -> [JVMGCCollector]
+ Database.V5.Bloodhound.Types: [nodeJVMInfoMemoryPools] :: NodeJVMInfo -> [JVMMemoryPool]
+ Database.V5.Bloodhound.Types: [nodeJVMInfoStartTime] :: NodeJVMInfo -> UTCTime
+ Database.V5.Bloodhound.Types: [nodeJVMInfoVMVendor] :: NodeJVMInfo -> Text
+ Database.V5.Bloodhound.Types: [nodeJVMPID] :: NodeJVMInfo -> PID
+ Database.V5.Bloodhound.Types: [nodeJVMStatsDirectBufferPool] :: NodeJVMStats -> JVMBufferPoolStats
+ Database.V5.Bloodhound.Types: [nodeJVMStatsGCOldCollector] :: NodeJVMStats -> JVMGCStats
+ Database.V5.Bloodhound.Types: [nodeJVMStatsGCYoungCollector] :: NodeJVMStats -> JVMGCStats
+ Database.V5.Bloodhound.Types: [nodeJVMStatsHeapCommitted] :: NodeJVMStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeJVMStatsHeapMax] :: NodeJVMStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeJVMStatsHeapUsedPercent] :: NodeJVMStats -> Int
+ Database.V5.Bloodhound.Types: [nodeJVMStatsHeapUsed] :: NodeJVMStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeJVMStatsMappedBufferPool] :: NodeJVMStats -> JVMBufferPoolStats
+ Database.V5.Bloodhound.Types: [nodeJVMStatsNonHeapCommitted] :: NodeJVMStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeJVMStatsNonHeapUsed] :: NodeJVMStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeJVMStatsOldPool] :: NodeJVMStats -> JVMPoolStats
+ Database.V5.Bloodhound.Types: [nodeJVMStatsPeakThreadsCount] :: NodeJVMStats -> Int
+ Database.V5.Bloodhound.Types: [nodeJVMStatsSurvivorPool] :: NodeJVMStats -> JVMPoolStats
+ Database.V5.Bloodhound.Types: [nodeJVMStatsThreadsCount] :: NodeJVMStats -> Int
+ Database.V5.Bloodhound.Types: [nodeJVMStatsTimestamp] :: NodeJVMStats -> UTCTime
+ Database.V5.Bloodhound.Types: [nodeJVMStatsUptime] :: NodeJVMStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeJVMStatsYoungPool] :: NodeJVMStats -> JVMPoolStats
+ Database.V5.Bloodhound.Types: [nodeJVMVMName] :: NodeJVMInfo -> Text
+ Database.V5.Bloodhound.Types: [nodeJVMVMVersion] :: NodeJVMInfo -> VersionNumber
+ Database.V5.Bloodhound.Types: [nodeJVMVersion] :: NodeJVMInfo -> VersionNumber
+ Database.V5.Bloodhound.Types: [nodeName] :: NodeName -> Text
+ Database.V5.Bloodhound.Types: [nodeNetIfaceAddress] :: NodeNetworkInterface -> Server
+ Database.V5.Bloodhound.Types: [nodeNetIfaceMacAddress] :: NodeNetworkInterface -> MacAddress
+ Database.V5.Bloodhound.Types: [nodeNetIfaceName] :: NodeNetworkInterface -> NetworkInterfaceName
+ Database.V5.Bloodhound.Types: [nodeNetTCPActiveOpens] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPAttemptFails] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPCurrEstab] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPEstabResets] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPInErrs] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPInSegs] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPOutRSTs] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPOutSegs] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPPassiveOpens] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetTCPRetransSegs] :: NodeNetworkStats -> Int
+ Database.V5.Bloodhound.Types: [nodeNetworkPrimaryInterface] :: NodeNetworkInfo -> NodeNetworkInterface
+ Database.V5.Bloodhound.Types: [nodeNetworkRefreshInterval] :: NodeNetworkInfo -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeOSAllocatedProcessors] :: NodeOSInfo -> Int
+ Database.V5.Bloodhound.Types: [nodeOSArch] :: NodeOSInfo -> Text
+ Database.V5.Bloodhound.Types: [nodeOSAvailableProcessors] :: NodeOSInfo -> Int
+ Database.V5.Bloodhound.Types: [nodeOSCPUPercent] :: NodeOSStats -> Int
+ Database.V5.Bloodhound.Types: [nodeOSLoad] :: NodeOSStats -> Maybe LoadAvgs
+ Database.V5.Bloodhound.Types: [nodeOSMemFreePercent] :: NodeOSStats -> Int
+ Database.V5.Bloodhound.Types: [nodeOSMemFree] :: NodeOSStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeOSMemTotal] :: NodeOSStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeOSMemUsedPercent] :: NodeOSStats -> Int
+ Database.V5.Bloodhound.Types: [nodeOSMemUsed] :: NodeOSStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeOSName] :: NodeOSInfo -> Text
+ Database.V5.Bloodhound.Types: [nodeOSRefreshInterval] :: NodeOSInfo -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeOSSwapFree] :: NodeOSStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeOSSwapTotal] :: NodeOSStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeOSSwapUsed] :: NodeOSStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeOSTimestamp] :: NodeOSStats -> UTCTime
+ Database.V5.Bloodhound.Types: [nodeOSVersion] :: NodeOSInfo -> VersionNumber
+ Database.V5.Bloodhound.Types: [nodePluginDescription] :: NodePluginInfo -> Text
+ Database.V5.Bloodhound.Types: [nodePluginJVM] :: NodePluginInfo -> Maybe Bool
+ Database.V5.Bloodhound.Types: [nodePluginName] :: NodePluginInfo -> PluginName
+ Database.V5.Bloodhound.Types: [nodePluginSite] :: NodePluginInfo -> Maybe Bool
+ Database.V5.Bloodhound.Types: [nodePluginVersion] :: NodePluginInfo -> MaybeNA VersionNumber
+ Database.V5.Bloodhound.Types: [nodeProcessCPUPercent] :: NodeProcessStats -> Int
+ Database.V5.Bloodhound.Types: [nodeProcessCPUTotal] :: NodeProcessStats -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeProcessId] :: NodeProcessInfo -> PID
+ Database.V5.Bloodhound.Types: [nodeProcessMLockAll] :: NodeProcessInfo -> Bool
+ Database.V5.Bloodhound.Types: [nodeProcessMaxFDs] :: NodeProcessStats -> Int
+ Database.V5.Bloodhound.Types: [nodeProcessMaxFileDescriptors] :: NodeProcessInfo -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeProcessMemTotalVirtual] :: NodeProcessStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeProcessOpenFDs] :: NodeProcessStats -> Int
+ Database.V5.Bloodhound.Types: [nodeProcessRefreshInterval] :: NodeProcessInfo -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeProcessTimestamp] :: NodeProcessStats -> UTCTime
+ Database.V5.Bloodhound.Types: [nodeStatsBreakersStats] :: NodeStats -> Maybe NodeBreakersStats
+ Database.V5.Bloodhound.Types: [nodeStatsFS] :: NodeStats -> NodeFSStats
+ Database.V5.Bloodhound.Types: [nodeStatsFieldDataBreaker] :: NodeBreakersStats -> NodeBreakerStats
+ Database.V5.Bloodhound.Types: [nodeStatsFullId] :: NodeStats -> FullNodeId
+ Database.V5.Bloodhound.Types: [nodeStatsHTTP] :: NodeStats -> NodeHTTPStats
+ Database.V5.Bloodhound.Types: [nodeStatsIndices] :: NodeStats -> NodeIndicesStats
+ Database.V5.Bloodhound.Types: [nodeStatsJVM] :: NodeStats -> NodeJVMStats
+ Database.V5.Bloodhound.Types: [nodeStatsName] :: NodeStats -> NodeName
+ Database.V5.Bloodhound.Types: [nodeStatsNetwork] :: NodeStats -> Maybe NodeNetworkStats
+ Database.V5.Bloodhound.Types: [nodeStatsOS] :: NodeStats -> NodeOSStats
+ Database.V5.Bloodhound.Types: [nodeStatsParentBreaker] :: NodeBreakersStats -> NodeBreakerStats
+ Database.V5.Bloodhound.Types: [nodeStatsProcess] :: NodeStats -> NodeProcessStats
+ Database.V5.Bloodhound.Types: [nodeStatsRequestBreaker] :: NodeBreakersStats -> NodeBreakerStats
+ Database.V5.Bloodhound.Types: [nodeStatsThreadPool] :: NodeStats -> NodeThreadPoolsStats
+ Database.V5.Bloodhound.Types: [nodeStatsTransport] :: NodeStats -> NodeTransportStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolActive] :: NodeThreadPoolStats -> Int
+ Database.V5.Bloodhound.Types: [nodeThreadPoolCompleted] :: NodeThreadPoolStats -> Int
+ Database.V5.Bloodhound.Types: [nodeThreadPoolKeepalive] :: NodeThreadPoolInfo -> Maybe NominalDiffTime
+ Database.V5.Bloodhound.Types: [nodeThreadPoolLargest] :: NodeThreadPoolStats -> Int
+ Database.V5.Bloodhound.Types: [nodeThreadPoolMax] :: NodeThreadPoolInfo -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeThreadPoolMin] :: NodeThreadPoolInfo -> Maybe Int
+ Database.V5.Bloodhound.Types: [nodeThreadPoolQueueSize] :: NodeThreadPoolInfo -> ThreadPoolSize
+ Database.V5.Bloodhound.Types: [nodeThreadPoolQueue] :: NodeThreadPoolStats -> Int
+ Database.V5.Bloodhound.Types: [nodeThreadPoolRejected] :: NodeThreadPoolStats -> Int
+ Database.V5.Bloodhound.Types: [nodeThreadPoolThreads] :: NodeThreadPoolStats -> Int
+ Database.V5.Bloodhound.Types: [nodeThreadPoolType] :: NodeThreadPoolInfo -> ThreadPoolType
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsBulk] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsFetchShardStarted] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsFetchShardStore] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsFlush] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsGeneric] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsGet] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsIndex] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsListener] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsManagement] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsMerge] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsOptimize] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsPercolate] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsRefresh] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsSearch] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsSnapshot] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsBulk] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsFetchShardStarted] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsFetchShardStore] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsFlush] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsGeneric] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsGet] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsIndex] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsListener] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsManagement] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsMerge] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsOptimize] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsPercolate] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsRefresh] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsSearch] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsSnapshot] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsSuggest] :: NodeThreadPoolsStats -> Maybe NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsStatsWarmer] :: NodeThreadPoolsStats -> NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsSuggest] :: NodeThreadPoolsInfo -> Maybe NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeThreadPoolsWarmer] :: NodeThreadPoolsInfo -> NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: [nodeTransportAddress] :: NodeTransportInfo -> BoundTransportAddress
+ Database.V5.Bloodhound.Types: [nodeTransportCount] :: NodeTransportStats -> Int
+ Database.V5.Bloodhound.Types: [nodeTransportProfiles] :: NodeTransportInfo -> [BoundTransportAddress]
+ Database.V5.Bloodhound.Types: [nodeTransportRXCount] :: NodeTransportStats -> Int
+ Database.V5.Bloodhound.Types: [nodeTransportRXSize] :: NodeTransportStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodeTransportServerOpen] :: NodeTransportStats -> Int
+ Database.V5.Bloodhound.Types: [nodeTransportTXSize] :: NodeTransportStats -> Bytes
+ Database.V5.Bloodhound.Types: [nodesClusterName] :: NodesInfo -> ClusterName
+ Database.V5.Bloodhound.Types: [nodesInfo] :: NodesInfo -> [NodeInfo]
+ Database.V5.Bloodhound.Types: [nodesStatsClusterName] :: NodesStats -> ClusterName
+ Database.V5.Bloodhound.Types: [nodesStats] :: NodesStats -> [NodeStats]
+ Database.V5.Bloodhound.Types: [numberOfFragments] :: NonPostings -> Maybe Int
+ Database.V5.Bloodhound.Types: [number] :: Version -> VersionNumber
+ Database.V5.Bloodhound.Types: [onlyExpungeDeletes] :: ForceMergeIndexSettings -> Bool
+ Database.V5.Bloodhound.Types: [order] :: CommonHighlight -> Maybe Text
+ Database.V5.Bloodhound.Types: [phraseLimit] :: FastVectorHighlight -> Maybe Int
+ Database.V5.Bloodhound.Types: [pid] :: PID -> Int
+ Database.V5.Bloodhound.Types: [plainCommon] :: PlainHighlight -> Maybe CommonHighlight
+ Database.V5.Bloodhound.Types: [plainNonPost] :: PlainHighlight -> Maybe NonPostings
+ Database.V5.Bloodhound.Types: [pluginName] :: PluginName -> Text
+ Database.V5.Bloodhound.Types: [positiveQuery] :: BoostingQuery -> Query
+ Database.V5.Bloodhound.Types: [precisionThreshold] :: CardinalityAggregation -> Maybe Int
+ Database.V5.Bloodhound.Types: [prefixQueryBoost] :: PrefixQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [prefixQueryField] :: PrefixQuery -> FieldName
+ Database.V5.Bloodhound.Types: [prefixQueryPrefixValue] :: PrefixQuery -> Text
+ Database.V5.Bloodhound.Types: [publishAddress] :: BoundTransportAddress -> EsAddress
+ Database.V5.Bloodhound.Types: [queryBody] :: Search -> Maybe Query
+ Database.V5.Bloodhound.Types: [queryStringAllowLeadingWildcard] :: QueryStringQuery -> Maybe AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: [queryStringAnalyzeWildcard] :: QueryStringQuery -> Maybe AnalyzeWildcard
+ Database.V5.Bloodhound.Types: [queryStringAnalyzer] :: QueryStringQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [queryStringBoost] :: QueryStringQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [queryStringDefaultField] :: QueryStringQuery -> Maybe FieldName
+ Database.V5.Bloodhound.Types: [queryStringEnablePositionIncrements] :: QueryStringQuery -> Maybe EnablePositionIncrements
+ Database.V5.Bloodhound.Types: [queryStringFuzziness] :: QueryStringQuery -> Maybe Fuzziness
+ Database.V5.Bloodhound.Types: [queryStringFuzzyMaxExpansions] :: QueryStringQuery -> Maybe MaxExpansions
+ Database.V5.Bloodhound.Types: [queryStringFuzzyPrefixLength] :: QueryStringQuery -> Maybe PrefixLength
+ Database.V5.Bloodhound.Types: [queryStringGeneratePhraseQueries] :: QueryStringQuery -> Maybe GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: [queryStringLenient] :: QueryStringQuery -> Maybe Lenient
+ Database.V5.Bloodhound.Types: [queryStringLocale] :: QueryStringQuery -> Maybe Locale
+ Database.V5.Bloodhound.Types: [queryStringLowercaseExpanded] :: QueryStringQuery -> Maybe LowercaseExpanded
+ Database.V5.Bloodhound.Types: [queryStringMinimumShouldMatch] :: QueryStringQuery -> Maybe MinimumMatch
+ Database.V5.Bloodhound.Types: [queryStringOperator] :: QueryStringQuery -> Maybe BooleanOperator
+ Database.V5.Bloodhound.Types: [queryStringPhraseSlop] :: QueryStringQuery -> Maybe PhraseSlop
+ Database.V5.Bloodhound.Types: [queryStringQuery] :: QueryStringQuery -> QueryString
+ Database.V5.Bloodhound.Types: [rangeQueryBoost] :: RangeQuery -> Boost
+ Database.V5.Bloodhound.Types: [rangeQueryField] :: RangeQuery -> FieldName
+ Database.V5.Bloodhound.Types: [rangeQueryRange] :: RangeQuery -> RangeValue
+ Database.V5.Bloodhound.Types: [regexpQueryBoost] :: RegexpQuery -> Maybe Boost
+ Database.V5.Bloodhound.Types: [regexpQueryField] :: RegexpQuery -> FieldName
+ Database.V5.Bloodhound.Types: [regexpQueryFlags] :: RegexpQuery -> RegexpFlags
+ Database.V5.Bloodhound.Types: [regexpQuery] :: RegexpQuery -> Regexp
+ Database.V5.Bloodhound.Types: [repoUpdateVerify] :: SnapshotRepoUpdateSettings -> Bool
+ Database.V5.Bloodhound.Types: [requireFieldMatch] :: CommonHighlight -> Maybe Bool
+ Database.V5.Bloodhound.Types: [restoreOverrideReplicas] :: RestoreIndexSettings -> Maybe ReplicaCount
+ Database.V5.Bloodhound.Types: [routingValue] :: RoutingValue -> Text
+ Database.V5.Bloodhound.Types: [rrPattern] :: RestoreRenamePattern -> Text
+ Database.V5.Bloodhound.Types: [sSummaryFixedSettings] :: IndexSettingsSummary -> IndexSettings
+ Database.V5.Bloodhound.Types: [sSummaryIndexName] :: IndexSettingsSummary -> IndexName
+ Database.V5.Bloodhound.Types: [sSummaryUpdateable] :: IndexSettingsSummary -> [UpdatableIndexSetting]
+ Database.V5.Bloodhound.Types: [scriptText] :: Script -> Text
+ Database.V5.Bloodhound.Types: [scrollId] :: SearchResult a -> Maybe ScrollId
+ Database.V5.Bloodhound.Types: [searchHits] :: SearchResult a -> SearchHits a
+ Database.V5.Bloodhound.Types: [searchType] :: Search -> SearchType
+ Database.V5.Bloodhound.Types: [shardId] :: ShardId -> Int
+ Database.V5.Bloodhound.Types: [shardTotal] :: ShardResult -> Int
+ Database.V5.Bloodhound.Types: [shardsFailed] :: ShardResult -> Int
+ Database.V5.Bloodhound.Types: [shardsSuccessful] :: ShardResult -> Int
+ Database.V5.Bloodhound.Types: [shards] :: SearchResult a -> ShardResult
+ Database.V5.Bloodhound.Types: [simpleQueryStringAnalyzer] :: SimpleQueryStringQuery -> Maybe Analyzer
+ Database.V5.Bloodhound.Types: [simpleQueryStringField] :: SimpleQueryStringQuery -> Maybe FieldOrFields
+ Database.V5.Bloodhound.Types: [simpleQueryStringFlags] :: SimpleQueryStringQuery -> Maybe (NonEmpty SimpleQueryFlag)
+ Database.V5.Bloodhound.Types: [simpleQueryStringLocale] :: SimpleQueryStringQuery -> Maybe Locale
+ Database.V5.Bloodhound.Types: [simpleQueryStringLowercaseExpanded] :: SimpleQueryStringQuery -> Maybe LowercaseExpanded
+ Database.V5.Bloodhound.Types: [simpleQueryStringOperator] :: SimpleQueryStringQuery -> Maybe BooleanOperator
+ Database.V5.Bloodhound.Types: [simpleQueryStringQuery] :: SimpleQueryStringQuery -> QueryString
+ Database.V5.Bloodhound.Types: [size] :: Search -> Size
+ Database.V5.Bloodhound.Types: [snapIgnoreUnavailable] :: SnapshotCreateSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapIncludeGlobalState] :: SnapshotCreateSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapIndices] :: SnapshotCreateSettings -> Maybe IndexSelection
+ Database.V5.Bloodhound.Types: [snapInfoDuration] :: SnapshotInfo -> NominalDiffTime
+ Database.V5.Bloodhound.Types: [snapInfoEndTime] :: SnapshotInfo -> UTCTime
+ Database.V5.Bloodhound.Types: [snapInfoFailures] :: SnapshotInfo -> [SnapshotShardFailure]
+ Database.V5.Bloodhound.Types: [snapInfoIndices] :: SnapshotInfo -> [IndexName]
+ Database.V5.Bloodhound.Types: [snapInfoName] :: SnapshotInfo -> SnapshotName
+ Database.V5.Bloodhound.Types: [snapInfoShards] :: SnapshotInfo -> ShardResult
+ Database.V5.Bloodhound.Types: [snapInfoStartTime] :: SnapshotInfo -> UTCTime
+ Database.V5.Bloodhound.Types: [snapInfoState] :: SnapshotInfo -> SnapshotState
+ Database.V5.Bloodhound.Types: [snapPartial] :: SnapshotCreateSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapRestoreIgnoreIndexSettings] :: SnapshotRestoreSettings -> Maybe (NonEmpty Text)
+ Database.V5.Bloodhound.Types: [snapRestoreIgnoreUnavailable] :: SnapshotRestoreSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapRestoreIncludeAliases] :: SnapshotRestoreSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapRestoreIncludeGlobalState] :: SnapshotRestoreSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapRestoreIndexSettingsOverrides] :: SnapshotRestoreSettings -> Maybe RestoreIndexSettings
+ Database.V5.Bloodhound.Types: [snapRestoreIndices] :: SnapshotRestoreSettings -> Maybe IndexSelection
+ Database.V5.Bloodhound.Types: [snapRestorePartial] :: SnapshotRestoreSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapRestoreRenamePattern] :: SnapshotRestoreSettings -> Maybe RestoreRenamePattern
+ Database.V5.Bloodhound.Types: [snapRestoreRenameReplacement] :: SnapshotRestoreSettings -> Maybe (NonEmpty RestoreRenameToken)
+ Database.V5.Bloodhound.Types: [snapRestoreWaitForCompletion] :: SnapshotRestoreSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapShardFailureIndex] :: SnapshotShardFailure -> IndexName
+ Database.V5.Bloodhound.Types: [snapShardFailureNodeId] :: SnapshotShardFailure -> Maybe NodeName
+ Database.V5.Bloodhound.Types: [snapShardFailureReason] :: SnapshotShardFailure -> Text
+ Database.V5.Bloodhound.Types: [snapShardFailureShardId] :: SnapshotShardFailure -> ShardId
+ Database.V5.Bloodhound.Types: [snapWaitForCompletion] :: SnapshotCreateSettings -> Bool
+ Database.V5.Bloodhound.Types: [snapshotName] :: SnapshotName -> Text
+ Database.V5.Bloodhound.Types: [snapshotNodeVerifications] :: SnapshotVerification -> [SnapshotNodeVerification]
+ Database.V5.Bloodhound.Types: [snapshotRepoName] :: SnapshotRepoName -> Text
+ Database.V5.Bloodhound.Types: [snapshotRepoType] :: SnapshotRepoType -> Text
+ Database.V5.Bloodhound.Types: [snvFullId] :: SnapshotNodeVerification -> FullNodeId
+ Database.V5.Bloodhound.Types: [snvNodeName] :: SnapshotNodeVerification -> NodeName
+ Database.V5.Bloodhound.Types: [sortBody] :: Search -> Maybe Sort
+ Database.V5.Bloodhound.Types: [sortFieldName] :: DefaultSort -> FieldName
+ Database.V5.Bloodhound.Types: [sortMode] :: DefaultSort -> Maybe SortMode
+ Database.V5.Bloodhound.Types: [sortOrder] :: DefaultSort -> SortOrder
+ Database.V5.Bloodhound.Types: [source] :: Search -> Maybe Source
+ Database.V5.Bloodhound.Types: [srcIndex] :: IndexAlias -> IndexName
+ Database.V5.Bloodhound.Types: [taFrom] :: TopHitsAggregation -> Maybe From
+ Database.V5.Bloodhound.Types: [taSize] :: TopHitsAggregation -> Maybe Size
+ Database.V5.Bloodhound.Types: [taSort] :: TopHitsAggregation -> Maybe Sort
+ Database.V5.Bloodhound.Types: [tag] :: CommonHighlight -> Maybe HighlightTag
+ Database.V5.Bloodhound.Types: [tagline] :: Status -> Text
+ Database.V5.Bloodhound.Types: [tarHits] :: TopHitResult a -> (SearchHits a)
+ Database.V5.Bloodhound.Types: [templateMappings] :: IndexTemplate -> [Value]
+ Database.V5.Bloodhound.Types: [templatePattern] :: IndexTemplate -> TemplatePattern
+ Database.V5.Bloodhound.Types: [templateSettings] :: IndexTemplate -> Maybe IndexSettings
+ Database.V5.Bloodhound.Types: [termAggs] :: TermsAggregation -> Maybe Aggregations
+ Database.V5.Bloodhound.Types: [termCollectMode] :: TermsAggregation -> Maybe CollectionMode
+ Database.V5.Bloodhound.Types: [termExclude] :: TermsAggregation -> Maybe TermInclusion
+ Database.V5.Bloodhound.Types: [termExecutionHint] :: TermsAggregation -> Maybe ExecutionHint
+ Database.V5.Bloodhound.Types: [termField] :: Term -> Text
+ Database.V5.Bloodhound.Types: [termInclude] :: TermsAggregation -> Maybe TermInclusion
+ Database.V5.Bloodhound.Types: [termKey] :: TermsResult -> BucketValue
+ Database.V5.Bloodhound.Types: [termMinDocCount] :: TermsAggregation -> Maybe Int
+ Database.V5.Bloodhound.Types: [termOrder] :: TermsAggregation -> Maybe TermOrder
+ Database.V5.Bloodhound.Types: [termShardSize] :: TermsAggregation -> Maybe Int
+ Database.V5.Bloodhound.Types: [termSize] :: TermsAggregation -> Maybe Int
+ Database.V5.Bloodhound.Types: [termSortField] :: TermOrder -> Text
+ Database.V5.Bloodhound.Types: [termSortOrder] :: TermOrder -> SortOrder
+ Database.V5.Bloodhound.Types: [termValue] :: Term -> Text
+ Database.V5.Bloodhound.Types: [term] :: TermsAggregation -> Either Text Text
+ Database.V5.Bloodhound.Types: [termsAggs] :: TermsResult -> Maybe AggregationResults
+ Database.V5.Bloodhound.Types: [termsDocCount] :: TermsResult -> Int
+ Database.V5.Bloodhound.Types: [timedOut] :: SearchResult a -> Bool
+ Database.V5.Bloodhound.Types: [took] :: SearchResult a -> Int
+ Database.V5.Bloodhound.Types: [topLeft] :: GeoBoundingBox -> LatLon
+ Database.V5.Bloodhound.Types: [trackSortScores] :: Search -> TrackSortScores
+ Database.V5.Bloodhound.Types: [typeName] :: Mapping -> TypeName
+ Database.V5.Bloodhound.Types: [unBH] :: BH m a -> ReaderT BHEnv m a
+ Database.V5.Bloodhound.Types: [unFilter] :: Filter -> Query
+ Database.V5.Bloodhound.Types: [unMaybeNA] :: MaybeNA a -> Maybe a
+ Database.V5.Bloodhound.Types: [unit] :: Distance -> DistanceUnit
+ Database.V5.Bloodhound.Types: [versionNumber] :: VersionNumber -> Version
+ Database.V5.Bloodhound.Types: [version] :: Status -> Version
+ Database.V5.Bloodhound.Types: aggs :: BucketAggregation a => a -> Maybe AggregationResults
+ Database.V5.Bloodhound.Types: bhManager :: BHEnv -> Manager
+ Database.V5.Bloodhound.Types: bhRequestHook :: BHEnv -> Request -> IO Request
+ Database.V5.Bloodhound.Types: bhServer :: BHEnv -> Server
+ Database.V5.Bloodhound.Types: class BucketAggregation a
+ Database.V5.Bloodhound.Types: class (Functor m, Applicative m, MonadIO m) => MonadBH m
+ Database.V5.Bloodhound.Types: class Monoid a
+ Database.V5.Bloodhound.Types: class Monoid a => Seminearring a where (<&&>) = mappend
+ Database.V5.Bloodhound.Types: class SnapshotRepo r
+ Database.V5.Bloodhound.Types: class ToJSON a
+ Database.V5.Bloodhound.Types: data Aggregation
+ Database.V5.Bloodhound.Types: data AliasRouting
+ Database.V5.Bloodhound.Types: data AllocationPolicy
+ Database.V5.Bloodhound.Types: data BHEnv
+ Database.V5.Bloodhound.Types: data BoolMatch
+ Database.V5.Bloodhound.Types: data BoolQuery
+ Database.V5.Bloodhound.Types: data BooleanOperator
+ Database.V5.Bloodhound.Types: data BoostingQuery
+ Database.V5.Bloodhound.Types: data BoundTransportAddress
+ Database.V5.Bloodhound.Types: data Bucket a
+ Database.V5.Bloodhound.Types: data BucketValue
+ Database.V5.Bloodhound.Types: data BulkOperation
+ Database.V5.Bloodhound.Types: data CPUInfo
+ Database.V5.Bloodhound.Types: data CardinalityAggregation
+ Database.V5.Bloodhound.Types: data CollectionMode
+ Database.V5.Bloodhound.Types: data CommonHighlight
+ Database.V5.Bloodhound.Types: data CommonMinimumMatch
+ Database.V5.Bloodhound.Types: data CommonTermsQuery
+ Database.V5.Bloodhound.Types: data CompoundFormat
+ Database.V5.Bloodhound.Types: data DateHistogramAggregation
+ Database.V5.Bloodhound.Types: data DateHistogramResult
+ Database.V5.Bloodhound.Types: data DateMathAnchor
+ Database.V5.Bloodhound.Types: data DateMathExpr
+ Database.V5.Bloodhound.Types: data DateMathModifier
+ Database.V5.Bloodhound.Types: data DateMathUnit
+ Database.V5.Bloodhound.Types: data DateRangeAggRange
+ Database.V5.Bloodhound.Types: data DateRangeAggregation
+ Database.V5.Bloodhound.Types: data DateRangeResult
+ Database.V5.Bloodhound.Types: data DefaultSort
+ Database.V5.Bloodhound.Types: data DisMaxQuery
+ Database.V5.Bloodhound.Types: data Distance
+ Database.V5.Bloodhound.Types: data DistanceRange
+ Database.V5.Bloodhound.Types: data DistanceType
+ Database.V5.Bloodhound.Types: data DistanceUnit
+ Database.V5.Bloodhound.Types: data DocVersion
+ Database.V5.Bloodhound.Types: data EsError
+ Database.V5.Bloodhound.Types: data EsProtocolException
+ Database.V5.Bloodhound.Types: data EsResult a
+ Database.V5.Bloodhound.Types: data EsResultFound a
+ Database.V5.Bloodhound.Types: data Exclude
+ Database.V5.Bloodhound.Types: data ExecutionHint
+ Database.V5.Bloodhound.Types: data FSType
+ Database.V5.Bloodhound.Types: data FastVectorHighlight
+ Database.V5.Bloodhound.Types: data FieldDefinition
+ Database.V5.Bloodhound.Types: data FieldHighlight
+ Database.V5.Bloodhound.Types: data FieldOrFields
+ Database.V5.Bloodhound.Types: data FilterAggregation
+ Database.V5.Bloodhound.Types: data ForceMergeIndexSettings
+ Database.V5.Bloodhound.Types: data FsSnapshotRepo
+ Database.V5.Bloodhound.Types: data FuzzyLikeFieldQuery
+ Database.V5.Bloodhound.Types: data FuzzyLikeThisQuery
+ Database.V5.Bloodhound.Types: data FuzzyQuery
+ Database.V5.Bloodhound.Types: data GenericSnapshotRepo
+ Database.V5.Bloodhound.Types: data GeoBoundingBox
+ Database.V5.Bloodhound.Types: data GeoBoundingBoxConstraint
+ Database.V5.Bloodhound.Types: data GeoFilterType
+ Database.V5.Bloodhound.Types: data GeoPoint
+ Database.V5.Bloodhound.Types: data HasChildQuery
+ Database.V5.Bloodhound.Types: data HasParentQuery
+ Database.V5.Bloodhound.Types: data HighlightEncoder
+ Database.V5.Bloodhound.Types: data HighlightSettings
+ Database.V5.Bloodhound.Types: data HighlightTag
+ Database.V5.Bloodhound.Types: data Highlights
+ Database.V5.Bloodhound.Types: data Hit a
+ Database.V5.Bloodhound.Types: data Include
+ Database.V5.Bloodhound.Types: data IndexAlias
+ Database.V5.Bloodhound.Types: data IndexAliasAction
+ Database.V5.Bloodhound.Types: data IndexAliasCreate
+ Database.V5.Bloodhound.Types: data IndexAliasSummary
+ Database.V5.Bloodhound.Types: data IndexDocumentSettings
+ Database.V5.Bloodhound.Types: data IndexSelection
+ Database.V5.Bloodhound.Types: data IndexSettings
+ Database.V5.Bloodhound.Types: data IndexSettingsSummary
+ Database.V5.Bloodhound.Types: data IndexTemplate
+ Database.V5.Bloodhound.Types: data IndicesQuery
+ Database.V5.Bloodhound.Types: data InitialShardCount
+ Database.V5.Bloodhound.Types: data Interval
+ Database.V5.Bloodhound.Types: data JVMBufferPoolStats
+ Database.V5.Bloodhound.Types: data JVMGCStats
+ Database.V5.Bloodhound.Types: data JVMMemoryInfo
+ Database.V5.Bloodhound.Types: data JVMPoolStats
+ Database.V5.Bloodhound.Types: data LatLon
+ Database.V5.Bloodhound.Types: data LoadAvgs
+ Database.V5.Bloodhound.Types: data Mapping
+ Database.V5.Bloodhound.Types: data MappingField
+ Database.V5.Bloodhound.Types: data MatchQuery
+ Database.V5.Bloodhound.Types: data MatchQueryType
+ Database.V5.Bloodhound.Types: data MinimumMatchHighLow
+ Database.V5.Bloodhound.Types: data Missing
+ Database.V5.Bloodhound.Types: data MissingAggregation
+ Database.V5.Bloodhound.Types: data MissingResult
+ Database.V5.Bloodhound.Types: data MoreLikeThisFieldQuery
+ Database.V5.Bloodhound.Types: data MoreLikeThisQuery
+ Database.V5.Bloodhound.Types: data MultiMatchQuery
+ Database.V5.Bloodhound.Types: data MultiMatchQueryType
+ Database.V5.Bloodhound.Types: data NestedQuery
+ Database.V5.Bloodhound.Types: data NodeAttrFilter
+ Database.V5.Bloodhound.Types: data NodeBreakerStats
+ Database.V5.Bloodhound.Types: data NodeBreakersStats
+ Database.V5.Bloodhound.Types: data NodeDataPathStats
+ Database.V5.Bloodhound.Types: data NodeFSStats
+ Database.V5.Bloodhound.Types: data NodeFSTotalStats
+ Database.V5.Bloodhound.Types: data NodeHTTPInfo
+ Database.V5.Bloodhound.Types: data NodeHTTPStats
+ Database.V5.Bloodhound.Types: data NodeIndicesStats
+ Database.V5.Bloodhound.Types: data NodeInfo
+ Database.V5.Bloodhound.Types: data NodeJVMInfo
+ Database.V5.Bloodhound.Types: data NodeJVMStats
+ Database.V5.Bloodhound.Types: data NodeNetworkInfo
+ Database.V5.Bloodhound.Types: data NodeNetworkInterface
+ Database.V5.Bloodhound.Types: data NodeNetworkStats
+ Database.V5.Bloodhound.Types: data NodeOSInfo
+ Database.V5.Bloodhound.Types: data NodeOSStats
+ Database.V5.Bloodhound.Types: data NodePluginInfo
+ Database.V5.Bloodhound.Types: data NodeProcessInfo
+ Database.V5.Bloodhound.Types: data NodeProcessStats
+ Database.V5.Bloodhound.Types: data NodeSelection
+ Database.V5.Bloodhound.Types: data NodeSelector
+ Database.V5.Bloodhound.Types: data NodeStats
+ Database.V5.Bloodhound.Types: data NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: data NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: data NodeThreadPoolsInfo
+ Database.V5.Bloodhound.Types: data NodeThreadPoolsStats
+ Database.V5.Bloodhound.Types: data NodeTransportInfo
+ Database.V5.Bloodhound.Types: data NodeTransportStats
+ Database.V5.Bloodhound.Types: data NodesInfo
+ Database.V5.Bloodhound.Types: data NodesStats
+ Database.V5.Bloodhound.Types: data NonPostings
+ Database.V5.Bloodhound.Types: data OpenCloseIndex
+ Database.V5.Bloodhound.Types: data OptimizeBbox
+ Database.V5.Bloodhound.Types: data PatternOrPatterns
+ Database.V5.Bloodhound.Types: data PlainHighlight
+ Database.V5.Bloodhound.Types: data PostingsHighlight
+ Database.V5.Bloodhound.Types: data PrefixQuery
+ Database.V5.Bloodhound.Types: data Query
+ Database.V5.Bloodhound.Types: data QueryStringQuery
+ Database.V5.Bloodhound.Types: data RRGroupRefNum
+ Database.V5.Bloodhound.Types: data RangeExecution
+ Database.V5.Bloodhound.Types: data RangeQuery
+ Database.V5.Bloodhound.Types: data RangeValue
+ Database.V5.Bloodhound.Types: data RegexpFlag
+ Database.V5.Bloodhound.Types: data RegexpFlags
+ Database.V5.Bloodhound.Types: data RegexpQuery
+ Database.V5.Bloodhound.Types: data ReplicaBounds
+ Database.V5.Bloodhound.Types: data RestoreIndexSettings
+ Database.V5.Bloodhound.Types: data RestoreRenameToken
+ Database.V5.Bloodhound.Types: data ScoreType
+ Database.V5.Bloodhound.Types: data Search
+ Database.V5.Bloodhound.Types: data SearchHits a
+ Database.V5.Bloodhound.Types: data SearchResult a
+ Database.V5.Bloodhound.Types: data SearchType
+ Database.V5.Bloodhound.Types: data ShardResult
+ Database.V5.Bloodhound.Types: data SimpleQueryFlag
+ Database.V5.Bloodhound.Types: data SimpleQueryStringQuery
+ Database.V5.Bloodhound.Types: data SnapshotCreateSettings
+ Database.V5.Bloodhound.Types: data SnapshotInfo
+ Database.V5.Bloodhound.Types: data SnapshotNodeVerification
+ Database.V5.Bloodhound.Types: data SnapshotPattern
+ Database.V5.Bloodhound.Types: data SnapshotRepoConversionError
+ Database.V5.Bloodhound.Types: data SnapshotRepoPattern
+ Database.V5.Bloodhound.Types: data SnapshotRepoSelection
+ Database.V5.Bloodhound.Types: data SnapshotRepoUpdateSettings
+ Database.V5.Bloodhound.Types: data SnapshotRestoreSettings
+ Database.V5.Bloodhound.Types: data SnapshotSelection
+ Database.V5.Bloodhound.Types: data SnapshotShardFailure
+ Database.V5.Bloodhound.Types: data SnapshotState
+ Database.V5.Bloodhound.Types: data SortMode
+ Database.V5.Bloodhound.Types: data SortOrder
+ Database.V5.Bloodhound.Types: data SortSpec
+ Database.V5.Bloodhound.Types: data Source
+ Database.V5.Bloodhound.Types: data Status
+ Database.V5.Bloodhound.Types: data Term
+ Database.V5.Bloodhound.Types: data TermInclusion
+ Database.V5.Bloodhound.Types: data TermOrder
+ Database.V5.Bloodhound.Types: data TermsAggregation
+ Database.V5.Bloodhound.Types: data TermsResult
+ Database.V5.Bloodhound.Types: data ThreadPoolSize
+ Database.V5.Bloodhound.Types: data ThreadPoolType
+ Database.V5.Bloodhound.Types: data TimeInterval
+ Database.V5.Bloodhound.Types: data TopHitResult a
+ Database.V5.Bloodhound.Types: data TopHitsAggregation
+ Database.V5.Bloodhound.Types: data UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: data ValueCountAggregation
+ Database.V5.Bloodhound.Types: data Version
+ Database.V5.Bloodhound.Types: data VersionControl
+ Database.V5.Bloodhound.Types: data ZeroTermsQuery
+ Database.V5.Bloodhound.Types: defaultCache :: Cache
+ Database.V5.Bloodhound.Types: defaultForceMergeIndexSettings :: ForceMergeIndexSettings
+ Database.V5.Bloodhound.Types: defaultIndexDocumentSettings :: IndexDocumentSettings
+ Database.V5.Bloodhound.Types: defaultIndexSettings :: IndexSettings
+ Database.V5.Bloodhound.Types: defaultSnapshotCreateSettings :: SnapshotCreateSettings
+ Database.V5.Bloodhound.Types: defaultSnapshotRepoUpdateSettings :: SnapshotRepoUpdateSettings
+ Database.V5.Bloodhound.Types: defaultSnapshotRestoreSettings :: SnapshotRestoreSettings
+ Database.V5.Bloodhound.Types: docCount :: BucketAggregation a => a -> Int
+ Database.V5.Bloodhound.Types: docVersionNumber :: DocVersion -> Int
+ Database.V5.Bloodhound.Types: fromGSnapshotRepo :: SnapshotRepo r => GenericSnapshotRepo -> Either SnapshotRepoConversionError r
+ Database.V5.Bloodhound.Types: getBHEnv :: MonadBH m => m BHEnv
+ Database.V5.Bloodhound.Types: gigabytes :: Int -> Bytes
+ Database.V5.Bloodhound.Types: instance (Data.Aeson.Types.FromJSON.FromJSON a, Database.V5.Bloodhound.Types.BucketAggregation a) => Data.Aeson.Types.FromJSON.FromJSON (Database.V5.Bloodhound.Types.Bucket a)
+ Database.V5.Bloodhound.Types: instance (GHC.Base.Functor m, GHC.Base.Applicative m, Control.Monad.IO.Class.MonadIO m) => Database.V5.Bloodhound.Types.Internal.MonadBH (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Control.Monad.Trans.Class.MonadTrans Database.V5.Bloodhound.Types.BH
+ Database.V5.Bloodhound.Types: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.AliasRouting
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.AllocationPolicy
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.AnalyzeWildcard
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Analyzer
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.BoolMatch
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.BoolQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.BooleanOperator
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Boost
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.BoostTerms
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.BoostingQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.BoundTransportAddress
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.BucketValue
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.BuildHash
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Bytes
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.CPUInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.CacheKey
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.CacheName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ClusterName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.CommonMinimumMatch
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.CommonTermsQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.CompoundFormat
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.CutoffFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.DateHistogramResult
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.DateRangeResult
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.DisMaxQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.DisableCoord
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Distance
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.DistanceType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.DistanceUnit
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.DocId
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.EnablePositionIncrements
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.EsAddress
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.EsError
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Existence
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.FSType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.FieldName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.FieldOrFields
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Filter
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.FullNodeId
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Fuzziness
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.FuzzyQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.GeoBoundingBox
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.GeoFilterType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.HasChildQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.HasParentQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.IndexAliasCreate
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.IndexAliasRouting
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.IndexAliasesSummary
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.IndexName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.IndexSettings
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.IndexSettingsSummary
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.IndicesQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.InitialShardCount
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.JVMBufferPoolStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.JVMGCCollector
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.JVMGCStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.JVMMemoryInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.JVMMemoryPool
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.JVMPoolStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.JVMVersion
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.LatLon
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Lenient
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.LoadAvgs
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Locale
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.LowercaseExpanded
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MS
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MacAddress
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MappingName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MatchQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MatchQueryType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MaxDocFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MaxExpansions
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MaxQueryTerms
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MaxWordLength
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MinDocFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MinWordLength
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MinimumMatch
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MinimumTermFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MissingResult
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MoreLikeThisQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MultiMatchQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.MultiMatchQueryType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NestedQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NetworkInterfaceName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeBreakerStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeBreakersStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeDataPathStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeFSStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeFSTotalStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeHTTPInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeHTTPStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeIndicesStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeJVMInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeJVMStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeNetworkInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeNetworkInterface
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeNetworkStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeOSInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeOSStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodePluginInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeProcessInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeProcessStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeThreadPoolsInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeThreadPoolsStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeTransportInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodeTransportStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodesInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NodesStats
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NominalDiffTimeJSON
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.NullValue
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.OptimizeBbox
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.PID
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.POSIXMS
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.PercentMatch
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.PhraseSlop
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.PluginName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.PrefixLength
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.PrefixQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Query
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.QueryPath
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.QueryString
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.QueryStringQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.RangeExecution
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.RangeQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.RangeValue
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Regexp
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.RegexpFlag
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.RegexpFlags
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.RegexpQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ReplicaBounds
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ReplicaCount
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.RoutingValue
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ScoreType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ScrollId
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SearchAliasRouting
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ShardCount
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ShardId
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ShardResult
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SimpleQueryFlag
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SnapshotInfo
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SnapshotName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SnapshotRepoName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SnapshotRepoType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SnapshotShardFailure
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SnapshotState
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.SnapshotVerification
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Status
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.StopWord
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.StringlyTypedDouble
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.TemplateName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.TemplatePattern
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Term
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.TermsResult
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ThreadPoolSize
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ThreadPoolType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Tiebreaker
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.TypeName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Version
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.VersionNumber
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.ZeroTermsQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V5.Bloodhound.Types.EsResult a)
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V5.Bloodhound.Types.EsResultFound a)
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V5.Bloodhound.Types.Hit a)
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V5.Bloodhound.Types.MaybeNA a)
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V5.Bloodhound.Types.SearchHits a)
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V5.Bloodhound.Types.SearchResult a)
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.V5.Bloodhound.Types.TopHitResult a)
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Aggregation
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.AliasRouting
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.AllocationPolicy
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.AnalyzeWildcard
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Analyzer
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.BoolMatch
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.BoolQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.BooleanOperator
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Boost
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.BoostTerms
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.BoostingQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.BuildHash
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Bytes
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.CacheKey
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.CacheName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.CollectionMode
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.CommonMinimumMatch
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.CommonTermsQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.CompoundFormat
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.CutoffFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DateMathExpr
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DateRangeAggRange
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DateRangeAggregation
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DisMaxQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DisableCoord
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Distance
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DistanceType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DistanceUnit
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DocId
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.EnablePositionIncrements
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Exclude
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.ExecutionHint
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Existence
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.ExternalDocVersion
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.FSType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.FieldHighlight
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.FieldName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.FieldOrFields
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Filter
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.From
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Fuzziness
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.FuzzyQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.GeoBoundingBox
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.GeoFilterType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.GeoPoint
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.HasChildQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.HasParentQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.HighlightEncoder
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.HighlightSettings
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Highlights
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Include
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndexAlias
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndexAliasAction
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndexAliasCreate
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndexAliasName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndexAliasRouting
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndexName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndexSettings
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndexTemplate
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.IndicesQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.InitialShardCount
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Interval
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.LatLon
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Lenient
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Locale
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.LowercaseExpanded
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MappingName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MatchQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MatchQueryType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MaxDocFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MaxExpansions
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MaxQueryTerms
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MaxWordLength
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MinDocFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MinWordLength
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MinimumMatch
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MinimumTermFrequency
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Missing
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MoreLikeThisQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MultiMatchQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.MultiMatchQueryType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.NestedQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.NominalDiffTimeJSON
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.NullValue
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.OptimizeBbox
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Pattern
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.PatternOrPatterns
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.PercentMatch
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.PhraseSlop
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.PrefixLength
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.PrefixQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Query
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.QueryPath
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.QueryString
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.QueryStringQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.RangeExecution
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.RangeQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.RegexpFlags
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.RegexpQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.ReplicaBounds
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.ReplicaCount
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.RestoreIndexSettings
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.RestoreRenamePattern
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.RoutingValue
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.ScoreType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.ScrollId
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Search
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SearchAliasRouting
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.ShardCount
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SimpleQueryFlag
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Size
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SnapshotName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SnapshotRepoName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SnapshotRepoType
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SortMode
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SortOrder
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.SortSpec
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Source
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.StopWord
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.TemplateName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.TemplatePattern
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Term
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.TermInclusion
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.TermOrder
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Tiebreaker
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.TypeName
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.Version
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.VersionNumber
+ Database.V5.Bloodhound.Types: instance Data.Aeson.Types.ToJSON.ToJSON Database.V5.Bloodhound.Types.ZeroTermsQuery
+ Database.V5.Bloodhound.Types: instance Data.Semigroup.Semigroup (Database.V5.Bloodhound.Types.SearchHits a)
+ Database.V5.Bloodhound.Types: instance Database.V5.Bloodhound.Types.BucketAggregation Database.V5.Bloodhound.Types.DateHistogramResult
+ Database.V5.Bloodhound.Types: instance Database.V5.Bloodhound.Types.BucketAggregation Database.V5.Bloodhound.Types.DateRangeResult
+ Database.V5.Bloodhound.Types: instance Database.V5.Bloodhound.Types.BucketAggregation Database.V5.Bloodhound.Types.TermsResult
+ Database.V5.Bloodhound.Types: instance Database.V5.Bloodhound.Types.SnapshotRepo Database.V5.Bloodhound.Types.FsSnapshotRepo
+ Database.V5.Bloodhound.Types: instance Database.V5.Bloodhound.Types.SnapshotRepo Database.V5.Bloodhound.Types.GenericSnapshotRepo
+ Database.V5.Bloodhound.Types: instance GHC.Base.Alternative m => GHC.Base.Alternative (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance GHC.Base.Applicative m => GHC.Base.Applicative (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance GHC.Base.Functor m => GHC.Base.Functor (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance GHC.Base.Monad m => GHC.Base.Monad (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Database.V5.Bloodhound.Types.BH m)
+ Database.V5.Bloodhound.Types: instance GHC.Base.Monoid (Database.V5.Bloodhound.Types.SearchHits a)
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Aggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.AliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.AllocationPolicy
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.AnalyzeWildcard
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Analyzer
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.BoolMatch
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.BoolQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.BooleanOperator
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Boost
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.BoostTerms
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.BoostingQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.BoundTransportAddress
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.BuildHash
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.BulkOperation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Bytes
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CPUInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CacheKey
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CacheName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CardinalityAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ClusterName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CollectionMode
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CommonHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CommonMinimumMatch
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CommonTermsQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CompoundFormat
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.CutoffFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DateHistogramAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DateMathAnchor
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DateMathExpr
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DateMathModifier
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DateMathUnit
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DateRangeAggRange
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DateRangeAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DateRangeResult
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DefaultSort
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DisMaxQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DisableCoord
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Distance
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DistanceRange
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DistanceType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DistanceUnit
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DocId
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.DocumentParent
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.EnablePositionIncrements
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.EsAddress
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.EsError
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.EsPassword
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.EsProtocolException
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.EsUsername
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Exclude
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ExecutionHint
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Existence
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ExternalDocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FSType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FastVectorHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FieldDefinition
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FieldHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FieldName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FieldOrFields
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FieldType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Filter
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FilterAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ForceMergeIndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.From
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FsSnapshotRepo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FullNodeId
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Fuzziness
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.FuzzyQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GenericSnapshotRepo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GeoBoundingBox
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GeoFilterType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GeoPoint
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GreaterThan
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GreaterThanD
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GreaterThanEq
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.GreaterThanEqD
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.HasChildQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.HasParentQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.HighlightEncoder
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.HighlightSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.HighlightTag
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Highlights
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Include
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexAlias
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexAliasAction
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexAliasCreate
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexAliasName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexAliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexAliasSummary
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexAliasesSummary
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexDocumentSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexSelection
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndexSettingsSummary
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.IndicesQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.InitialShardCount
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Interval
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.JVMBufferPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.JVMGCCollector
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.JVMGCStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.JVMMemoryInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.JVMMemoryPool
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.JVMPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.LatLon
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Lenient
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.LessThan
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.LessThanD
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.LessThanEq
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.LessThanEqD
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.LoadAvgs
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Locale
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.LowercaseExpanded
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MacAddress
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Mapping
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MappingField
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MappingName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MatchQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MatchQueryType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MaxDocFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MaxExpansions
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MaxQueryTerms
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MaxWordLength
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MinDocFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MinWordLength
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MinimumMatch
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MinimumMatchHighLow
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MinimumTermFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Missing
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MissingAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MoreLikeThisQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MultiMatchQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.MultiMatchQueryType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NestedQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NetworkInterfaceName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeAttrFilter
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeAttrName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeBreakerStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeBreakersStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeDataPathStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeFSStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeFSTotalStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeHTTPInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeHTTPStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeIndicesStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeJVMInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeJVMStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeNetworkInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeNetworkInterface
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeNetworkStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeOSInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeOSStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodePluginInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeProcessInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeProcessStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeSelection
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeSelector
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeThreadPoolsInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeThreadPoolsStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeTransportInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodeTransportStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodesInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NodesStats
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NonPostings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.NullValue
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.OpenCloseIndex
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.OptimizeBbox
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PID
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Pattern
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PatternOrPatterns
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PercentMatch
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PhraseSlop
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PlainHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PluginName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PostingsHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PrefixLength
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.PrefixQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Query
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.QueryPath
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.QueryString
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.QueryStringQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RRGroupRefNum
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RangeExecution
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RangeQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RangeValue
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Regexp
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RegexpFlag
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RegexpFlags
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RegexpQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ReplicaBounds
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ReplicaCount
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RestoreIndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RestoreRenamePattern
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RestoreRenameToken
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.RoutingValue
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ScoreType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Script
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ScrollId
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Search
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SearchAliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SearchType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ShardCount
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ShardId
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ShardResult
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SimpleQueryFlag
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Size
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotCreateSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotInfo
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotNodeVerification
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotPattern
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotRepoConversionError
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotRepoName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotRepoPattern
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotRepoSelection
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotRepoType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotRepoUpdateSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotRestoreSettings
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotSelection
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotShardFailure
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotState
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SnapshotVerification
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SortMode
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SortOrder
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.SortSpec
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Source
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Status
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.StopWord
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.TemplateName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.TemplatePattern
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Term
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.TermInclusion
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.TermOrder
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.TermsAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ThreadPoolSize
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ThreadPoolType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Tiebreaker
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.TimeInterval
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.TopHitsAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.TypeName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ValueCountAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Version
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.VersionControl
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.VersionNumber
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.ZeroTermsQuery
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V5.Bloodhound.Types.EsResult a)
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V5.Bloodhound.Types.EsResultFound a)
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V5.Bloodhound.Types.Hit a)
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V5.Bloodhound.Types.MaybeNA a)
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V5.Bloodhound.Types.SearchHits a)
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.V5.Bloodhound.Types.SearchResult a)
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.BuildHash
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.Bytes
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.ClusterName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.EsAddress
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.ExternalDocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.FSType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.FullNodeId
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.MacAddress
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.NetworkInterfaceName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.NodeAttrFilter
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.NodeAttrName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.NodeName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.PluginName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.RRGroupRefNum
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.RestoreRenamePattern
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.ScrollId
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.SnapshotName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.SnapshotRepoName
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.SnapshotRepoType
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.VersionControl
+ Database.V5.Bloodhound.Types: instance GHC.Classes.Ord Database.V5.Bloodhound.Types.VersionNumber
+ Database.V5.Bloodhound.Types: instance GHC.Enum.Bounded Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Enum.Bounded Database.V5.Bloodhound.Types.ExternalDocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Enum.Bounded Database.V5.Bloodhound.Types.RRGroupRefNum
+ Database.V5.Bloodhound.Types: instance GHC.Enum.Enum Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Enum.Enum Database.V5.Bloodhound.Types.ExternalDocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Exception.Exception Database.V5.Bloodhound.Types.EsProtocolException
+ Database.V5.Bloodhound.Types: instance GHC.Exception.Exception Database.V5.Bloodhound.Types.SnapshotRepoConversionError
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic (Database.V5.Bloodhound.Types.EsResult a)
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic (Database.V5.Bloodhound.Types.EsResultFound a)
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic (Database.V5.Bloodhound.Types.Hit a)
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic (Database.V5.Bloodhound.Types.SearchHits a)
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic (Database.V5.Bloodhound.Types.SearchResult a)
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Aggregation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.AliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.AllocationPolicy
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.AnalyzeWildcard
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Analyzer
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.BoolMatch
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.BoolQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.BooleanOperator
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Boost
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.BoostTerms
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.BoostingQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.BoundTransportAddress
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.BuildHash
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.BulkOperation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Bytes
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CPUInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CacheKey
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CacheName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CardinalityAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ClusterName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CollectionMode
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CommonHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CommonMinimumMatch
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CommonTermsQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CompoundFormat
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.CutoffFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DateHistogramAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DateMathAnchor
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DateMathExpr
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DateMathModifier
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DateMathUnit
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DateRangeAggRange
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DateRangeAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DateRangeResult
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DefaultSort
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DisMaxQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DisableCoord
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Distance
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DistanceRange
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DistanceType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DistanceUnit
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DocId
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.DocumentParent
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.EnablePositionIncrements
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.EsAddress
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.EsError
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.EsProtocolException
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Exclude
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ExecutionHint
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Existence
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ExternalDocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FSType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FastVectorHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FieldDefinition
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FieldHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FieldName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FieldOrFields
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FieldType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Filter
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FilterAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ForceMergeIndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.From
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FsSnapshotRepo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FullNodeId
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Fuzziness
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.FuzzyQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GenericSnapshotRepo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GeoBoundingBox
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GeoFilterType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GeoPoint
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GreaterThan
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GreaterThanD
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GreaterThanEq
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.GreaterThanEqD
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.HasChildQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.HasParentQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.HighlightEncoder
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.HighlightSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.HighlightTag
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Highlights
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Include
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexAlias
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexAliasAction
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexAliasCreate
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexAliasName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexAliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexAliasSummary
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexAliasesSummary
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexDocumentSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexSelection
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndexSettingsSummary
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.IndicesQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.InitialShardCount
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Interval
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.JVMBufferPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.JVMGCCollector
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.JVMGCStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.JVMMemoryInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.JVMMemoryPool
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.JVMPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.LatLon
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Lenient
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.LessThan
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.LessThanD
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.LessThanEq
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.LessThanEqD
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.LoadAvgs
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Locale
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.LowercaseExpanded
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MacAddress
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Mapping
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MappingField
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MappingName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MatchQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MatchQueryType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MaxDocFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MaxExpansions
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MaxQueryTerms
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MaxWordLength
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MinDocFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MinWordLength
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MinimumMatch
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MinimumMatchHighLow
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MinimumTermFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Missing
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MissingAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MoreLikeThisQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MultiMatchQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.MultiMatchQueryType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NestedQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NetworkInterfaceName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeAttrFilter
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeAttrName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeBreakerStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeBreakersStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeDataPathStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeFSStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeFSTotalStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeHTTPInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeHTTPStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeIndicesStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeJVMInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeJVMStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeNetworkInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeNetworkInterface
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeNetworkStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeOSInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeOSStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodePluginInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeProcessInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeProcessStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeSelection
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeSelector
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeThreadPoolsInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeThreadPoolsStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeTransportInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodeTransportStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodesInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NodesStats
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NonPostings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.NullValue
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.OpenCloseIndex
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.OptimizeBbox
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PID
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Pattern
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PatternOrPatterns
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PercentMatch
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PhraseSlop
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PlainHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PluginName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PostingsHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PrefixLength
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.PrefixQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Query
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.QueryPath
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.QueryString
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.QueryStringQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RRGroupRefNum
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RangeExecution
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RangeQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RangeValue
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Regexp
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RegexpFlag
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RegexpFlags
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RegexpQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ReplicaBounds
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ReplicaCount
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RestoreIndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RestoreRenamePattern
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RestoreRenameToken
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.RoutingValue
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ScoreType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Script
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ScrollId
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Search
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SearchAliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SearchType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ShardCount
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ShardId
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ShardResult
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SimpleQueryFlag
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Size
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotCreateSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotInfo
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotNodeVerification
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotPattern
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotRepoConversionError
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotRepoName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotRepoPattern
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotRepoSelection
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotRepoType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotRepoUpdateSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotRestoreSettings
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotSelection
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotShardFailure
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotState
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SnapshotVerification
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SortMode
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SortOrder
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.SortSpec
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Source
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Status
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.StopWord
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.TemplateName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.TemplatePattern
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Term
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.TermInclusion
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.TermOrder
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.TermsAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ThreadPoolSize
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ThreadPoolType
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Tiebreaker
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.TypeName
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ValueCountAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Version
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.VersionControl
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.VersionNumber
+ Database.V5.Bloodhound.Types: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.ZeroTermsQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Aggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.AliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.AllocationPolicy
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.AnalyzeWildcard
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Analyzer
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.BoolMatch
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.BoolQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.BooleanOperator
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Boost
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.BoostTerms
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.BoostingQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.BucketValue
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.BuildHash
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.BulkOperation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Bytes
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CacheKey
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CacheName
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CardinalityAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CollectionMode
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CommonHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CommonMinimumMatch
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CommonTermsQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CompoundFormat
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.CutoffFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateHistogramAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateHistogramResult
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateMathAnchor
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateMathExpr
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateMathModifier
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateMathUnit
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateRangeAggRange
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateRangeAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DateRangeResult
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DefaultSort
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DisMaxQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DisableCoord
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Distance
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DistanceRange
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DistanceType
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DistanceUnit
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DocId
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.DocumentParent
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.EnablePositionIncrements
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.EsError
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.EsPassword
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.EsProtocolException
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.EsUsername
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Exclude
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ExecutionHint
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Existence
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ExternalDocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FSType
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FastVectorHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FieldDefinition
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FieldHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FieldName
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FieldOrFields
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FieldType
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Filter
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FilterAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.From
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Fuzziness
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.FuzzyQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GeoBoundingBox
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GeoFilterType
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GeoPoint
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GreaterThan
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GreaterThanD
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GreaterThanEq
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.GreaterThanEqD
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.HasChildQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.HasParentQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.HighlightEncoder
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.HighlightSettings
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.HighlightTag
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Highlights
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Include
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexAlias
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexAliasAction
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexAliasCreate
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexAliasName
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexAliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexAliasSummary
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexAliasesSummary
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexDocumentSettings
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexName
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.IndicesQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.InitialShardCount
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Interval
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.LatLon
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Lenient
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.LessThan
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.LessThanD
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.LessThanEq
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.LessThanEqD
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Locale
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.LowercaseExpanded
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Mapping
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MappingField
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MappingName
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MatchQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MatchQueryType
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MaxDocFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MaxExpansions
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MaxQueryTerms
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MaxWordLength
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MinDocFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MinWordLength
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MinimumMatch
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MinimumMatchHighLow
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MinimumTermFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Missing
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MissingAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MoreLikeThisQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MultiMatchQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.MultiMatchQueryType
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.NestedQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.NodeAttrFilter
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.NodeAttrName
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.NonPostings
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.NullValue
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.OpenCloseIndex
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.OptimizeBbox
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Pattern
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.PatternOrPatterns
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.PercentMatch
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.PhraseSlop
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.PlainHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.PostingsHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.PrefixLength
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.PrefixQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Query
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.QueryPath
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.QueryString
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.QueryStringQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.RangeExecution
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.RangeQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.RangeValue
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Regexp
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.RegexpFlag
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.RegexpFlags
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.RegexpQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ReplicaBounds
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ReplicaCount
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.RoutingValue
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ScoreType
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Script
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ScrollId
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Search
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.SearchAliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.SearchType
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ShardCount
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ShardResult
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.SimpleQueryFlag
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Size
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.SortMode
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.SortOrder
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.SortSpec
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Source
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Status
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.StopWord
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TemplateName
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TemplatePattern
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Term
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TermInclusion
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TermOrder
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TermsAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TermsResult
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Tiebreaker
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TimeInterval
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TopHitsAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.TypeName
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ValueCountAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.Version
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.VersionControl
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.VersionNumber
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read Database.V5.Bloodhound.Types.ZeroTermsQuery
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V5.Bloodhound.Types.Bucket a)
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V5.Bloodhound.Types.EsResult a)
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V5.Bloodhound.Types.EsResultFound a)
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V5.Bloodhound.Types.Hit a)
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V5.Bloodhound.Types.SearchHits a)
+ Database.V5.Bloodhound.Types: instance GHC.Read.Read a => GHC.Read.Read (Database.V5.Bloodhound.Types.SearchResult a)
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Aggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.AliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.AllocationPolicy
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.AnalyzeWildcard
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Analyzer
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BoolMatch
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BoolQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BooleanOperator
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Boost
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BoostTerms
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BoostingQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BoundTransportAddress
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BucketValue
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BuildHash
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.BulkOperation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Bytes
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CPUInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CacheKey
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CacheName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CardinalityAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ClusterName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CollectionMode
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CommonHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CommonMinimumMatch
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CommonTermsQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CompoundFormat
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.CutoffFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateHistogramAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateHistogramResult
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateMathAnchor
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateMathExpr
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateMathModifier
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateMathUnit
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateRangeAggRange
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateRangeAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DateRangeResult
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DefaultSort
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DisMaxQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DisableCoord
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Distance
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DistanceRange
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DistanceType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DistanceUnit
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DocId
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.DocumentParent
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.EnablePositionIncrements
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.EsAddress
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.EsError
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.EsPassword
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.EsProtocolException
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.EsUsername
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Exclude
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ExecutionHint
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Existence
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ExternalDocVersion
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FSType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FastVectorHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FieldDefinition
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FieldHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FieldName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FieldOrFields
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FieldType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Filter
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FilterAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ForceMergeIndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.From
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FsSnapshotRepo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FullNodeId
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Fuzziness
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FuzzyLikeFieldQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FuzzyLikeThisQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.FuzzyQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GenericSnapshotRepo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GenericSnapshotRepoSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GeoBoundingBox
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GeoBoundingBoxConstraint
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GeoFilterType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GeoPoint
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GreaterThan
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GreaterThanD
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GreaterThanEq
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.GreaterThanEqD
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.HasChildQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.HasParentQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.HighlightEncoder
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.HighlightSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.HighlightTag
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Highlights
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Include
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexAlias
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexAliasAction
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexAliasCreate
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexAliasName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexAliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexAliasSummary
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexAliasesSummary
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexDocumentSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexSelection
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndexSettingsSummary
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.IndicesQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.InitialShardCount
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Interval
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.JVMBufferPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.JVMGCCollector
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.JVMGCStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.JVMMemoryInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.JVMMemoryPool
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.JVMPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.LatLon
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Lenient
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.LessThan
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.LessThanD
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.LessThanEq
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.LessThanEqD
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.LoadAvgs
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Locale
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.LowercaseExpanded
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MacAddress
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Mapping
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MappingField
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MappingName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MatchQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MatchQueryType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MaxDocFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MaxExpansions
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MaxQueryTerms
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MaxWordLength
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MinDocFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MinWordLength
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MinimumMatch
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MinimumMatchHighLow
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MinimumTermFrequency
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Missing
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MissingAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MissingResult
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MoreLikeThisFieldQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MoreLikeThisQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MultiMatchQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.MultiMatchQueryType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NestedQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NetworkInterfaceName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeAttrFilter
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeAttrName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeBreakerStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeBreakersStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeDataPathStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeFSStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeFSTotalStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeHTTPInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeHTTPStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeIndicesStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeJVMInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeJVMStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeNetworkInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeNetworkInterface
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeNetworkStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeOSInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeOSStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodePluginInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeProcessInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeProcessStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeSelection
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeSelector
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeThreadPoolInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeThreadPoolStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeThreadPoolsInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeThreadPoolsStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeTransportInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodeTransportStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodesInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NodesStats
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NonPostings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.NullValue
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.OpenCloseIndex
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.OptimizeBbox
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PID
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Pattern
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PatternOrPatterns
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PercentMatch
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PhraseSlop
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PlainHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PluginName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PostingsHighlight
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PrefixLength
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.PrefixQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Query
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.QueryPath
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.QueryString
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.QueryStringQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RRGroupRefNum
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RangeExecution
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RangeQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RangeValue
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Regexp
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RegexpFlag
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RegexpFlags
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RegexpQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ReplicaBounds
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ReplicaCount
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RestoreIndexSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RestoreRenamePattern
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RestoreRenameToken
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.RoutingValue
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ScoreType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Script
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ScrollId
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Search
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SearchAliasRouting
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SearchType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ShardCount
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ShardId
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ShardResult
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SimpleQueryFlag
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SimpleQueryStringQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Size
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotCreateSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotInfo
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotNodeVerification
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotPattern
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotRepoConversionError
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotRepoName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotRepoPattern
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotRepoSelection
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotRepoType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotRepoUpdateSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotRestoreSettings
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotSelection
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotShardFailure
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotState
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SnapshotVerification
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SortMode
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SortOrder
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.SortSpec
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Source
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Status
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.StopWord
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TemplateName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TemplatePattern
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Term
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TermInclusion
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TermOrder
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TermsAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TermsResult
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ThreadPoolSize
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ThreadPoolType
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Tiebreaker
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TimeInterval
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TopHitsAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.TypeName
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.UpdatableIndexSetting
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ValueCountAggregation
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.Version
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.VersionControl
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.VersionNumber
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show Database.V5.Bloodhound.Types.ZeroTermsQuery
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V5.Bloodhound.Types.Bucket a)
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V5.Bloodhound.Types.EsResult a)
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V5.Bloodhound.Types.EsResultFound a)
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V5.Bloodhound.Types.Hit a)
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V5.Bloodhound.Types.MaybeNA a)
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V5.Bloodhound.Types.SearchHits a)
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V5.Bloodhound.Types.SearchResult a)
+ Database.V5.Bloodhound.Types: instance GHC.Show.Show a => GHC.Show.Show (Database.V5.Bloodhound.Types.TopHitResult a)
+ Database.V5.Bloodhound.Types: key :: BucketAggregation a => a -> BucketValue
+ Database.V5.Bloodhound.Types: kilobytes :: Int -> Bytes
+ Database.V5.Bloodhound.Types: mappend :: Monoid a => a -> a -> a
+ Database.V5.Bloodhound.Types: mconcat :: Monoid a => [a] -> a
+ Database.V5.Bloodhound.Types: megabytes :: Int -> Bytes
+ Database.V5.Bloodhound.Types: mempty :: Monoid a => a
+ Database.V5.Bloodhound.Types: mkAggregations :: Text -> Aggregation -> Aggregations
+ Database.V5.Bloodhound.Types: mkBHEnv :: Server -> Manager -> BHEnv
+ Database.V5.Bloodhound.Types: mkBoolQuery :: [Query] -> [Filter] -> [Query] -> [Query] -> BoolQuery
+ Database.V5.Bloodhound.Types: mkCardinalityAggregation :: FieldName -> CardinalityAggregation
+ Database.V5.Bloodhound.Types: mkDateHistogram :: FieldName -> Interval -> DateHistogramAggregation
+ Database.V5.Bloodhound.Types: mkDocVersion :: Int -> Maybe DocVersion
+ Database.V5.Bloodhound.Types: mkMatchQuery :: FieldName -> QueryString -> MatchQuery
+ Database.V5.Bloodhound.Types: mkMultiMatchQuery :: [FieldName] -> QueryString -> MultiMatchQuery
+ Database.V5.Bloodhound.Types: mkQueryStringQuery :: QueryString -> QueryStringQuery
+ Database.V5.Bloodhound.Types: mkRRGroupRefNum :: Int -> Maybe RRGroupRefNum
+ Database.V5.Bloodhound.Types: mkRangeQuery :: FieldName -> RangeValue -> RangeQuery
+ Database.V5.Bloodhound.Types: mkSort :: FieldName -> SortOrder -> DefaultSort
+ Database.V5.Bloodhound.Types: mkTermsAggregation :: Text -> TermsAggregation
+ Database.V5.Bloodhound.Types: mkTermsScriptAggregation :: Text -> TermsAggregation
+ Database.V5.Bloodhound.Types: newtype AllowLeadingWildcard
+ Database.V5.Bloodhound.Types: newtype AnalyzeWildcard
+ Database.V5.Bloodhound.Types: newtype Analyzer
+ Database.V5.Bloodhound.Types: newtype BH m a
+ Database.V5.Bloodhound.Types: newtype Boost
+ Database.V5.Bloodhound.Types: newtype BoostTerms
+ Database.V5.Bloodhound.Types: newtype BuildHash
+ Database.V5.Bloodhound.Types: newtype Bytes
+ Database.V5.Bloodhound.Types: newtype CacheKey
+ Database.V5.Bloodhound.Types: newtype CacheName
+ Database.V5.Bloodhound.Types: newtype ClusterName
+ Database.V5.Bloodhound.Types: newtype CutoffFrequency
+ Database.V5.Bloodhound.Types: newtype DisableCoord
+ Database.V5.Bloodhound.Types: newtype DocId
+ Database.V5.Bloodhound.Types: newtype DocumentParent
+ Database.V5.Bloodhound.Types: newtype EnablePositionIncrements
+ Database.V5.Bloodhound.Types: newtype EsAddress
+ Database.V5.Bloodhound.Types: newtype EsPassword
+ Database.V5.Bloodhound.Types: newtype EsUsername
+ Database.V5.Bloodhound.Types: newtype Existence
+ Database.V5.Bloodhound.Types: newtype ExternalDocVersion
+ Database.V5.Bloodhound.Types: newtype FieldName
+ Database.V5.Bloodhound.Types: newtype Filter
+ Database.V5.Bloodhound.Types: newtype From
+ Database.V5.Bloodhound.Types: newtype FullNodeId
+ Database.V5.Bloodhound.Types: newtype Fuzziness
+ Database.V5.Bloodhound.Types: newtype GeneratePhraseQueries
+ Database.V5.Bloodhound.Types: newtype GenericSnapshotRepoSettings
+ Database.V5.Bloodhound.Types: newtype GreaterThan
+ Database.V5.Bloodhound.Types: newtype GreaterThanD
+ Database.V5.Bloodhound.Types: newtype GreaterThanEq
+ Database.V5.Bloodhound.Types: newtype GreaterThanEqD
+ Database.V5.Bloodhound.Types: newtype IgnoreTermFrequency
+ Database.V5.Bloodhound.Types: newtype IndexAliasName
+ Database.V5.Bloodhound.Types: newtype IndexAliasRouting
+ Database.V5.Bloodhound.Types: newtype IndexAliasesSummary
+ Database.V5.Bloodhound.Types: newtype IndexName
+ Database.V5.Bloodhound.Types: newtype JVMGCCollector
+ Database.V5.Bloodhound.Types: newtype JVMMemoryPool
+ Database.V5.Bloodhound.Types: newtype Lenient
+ Database.V5.Bloodhound.Types: newtype LessThan
+ Database.V5.Bloodhound.Types: newtype LessThanD
+ Database.V5.Bloodhound.Types: newtype LessThanEq
+ Database.V5.Bloodhound.Types: newtype LessThanEqD
+ Database.V5.Bloodhound.Types: newtype Locale
+ Database.V5.Bloodhound.Types: newtype LowercaseExpanded
+ Database.V5.Bloodhound.Types: newtype MacAddress
+ Database.V5.Bloodhound.Types: newtype MappingName
+ Database.V5.Bloodhound.Types: newtype MaxDocFrequency
+ Database.V5.Bloodhound.Types: newtype MaxExpansions
+ Database.V5.Bloodhound.Types: newtype MaxQueryTerms
+ Database.V5.Bloodhound.Types: newtype MaxWordLength
+ Database.V5.Bloodhound.Types: newtype MaybeNA a
+ Database.V5.Bloodhound.Types: newtype MinDocFrequency
+ Database.V5.Bloodhound.Types: newtype MinWordLength
+ Database.V5.Bloodhound.Types: newtype MinimumMatch
+ Database.V5.Bloodhound.Types: newtype MinimumTermFrequency
+ Database.V5.Bloodhound.Types: newtype NetworkInterfaceName
+ Database.V5.Bloodhound.Types: newtype NodeAttrName
+ Database.V5.Bloodhound.Types: newtype NodeName
+ Database.V5.Bloodhound.Types: newtype NullValue
+ Database.V5.Bloodhound.Types: newtype PID
+ Database.V5.Bloodhound.Types: newtype Pattern
+ Database.V5.Bloodhound.Types: newtype PercentMatch
+ Database.V5.Bloodhound.Types: newtype PhraseSlop
+ Database.V5.Bloodhound.Types: newtype PluginName
+ Database.V5.Bloodhound.Types: newtype PrefixLength
+ Database.V5.Bloodhound.Types: newtype QueryPath
+ Database.V5.Bloodhound.Types: newtype QueryString
+ Database.V5.Bloodhound.Types: newtype Regexp
+ Database.V5.Bloodhound.Types: newtype ReplicaCount
+ Database.V5.Bloodhound.Types: newtype RestoreRenamePattern
+ Database.V5.Bloodhound.Types: newtype RoutingValue
+ Database.V5.Bloodhound.Types: newtype Script
+ Database.V5.Bloodhound.Types: newtype ScrollId
+ Database.V5.Bloodhound.Types: newtype SearchAliasRouting
+ Database.V5.Bloodhound.Types: newtype Server
+ Database.V5.Bloodhound.Types: newtype ShardCount
+ Database.V5.Bloodhound.Types: newtype ShardId
+ Database.V5.Bloodhound.Types: newtype Size
+ Database.V5.Bloodhound.Types: newtype SnapshotName
+ Database.V5.Bloodhound.Types: newtype SnapshotRepoName
+ Database.V5.Bloodhound.Types: newtype SnapshotRepoType
+ Database.V5.Bloodhound.Types: newtype SnapshotVerification
+ Database.V5.Bloodhound.Types: newtype StopWord
+ Database.V5.Bloodhound.Types: newtype TemplateName
+ Database.V5.Bloodhound.Types: newtype TemplatePattern
+ Database.V5.Bloodhound.Types: newtype Tiebreaker
+ Database.V5.Bloodhound.Types: newtype TypeName
+ Database.V5.Bloodhound.Types: newtype VersionNumber
+ Database.V5.Bloodhound.Types: omitNulls :: [(Text, Value)] -> Value
+ Database.V5.Bloodhound.Types: rrGroupRefNum :: RRGroupRefNum -> Int
+ Database.V5.Bloodhound.Types: runBH :: BHEnv -> BH m a -> m a
+ Database.V5.Bloodhound.Types: showText :: Show a => a -> Text
+ Database.V5.Bloodhound.Types: toDateHistogram :: Text -> AggregationResults -> Maybe (Bucket DateHistogramResult)
+ Database.V5.Bloodhound.Types: toEncoding :: ToJSON a => a -> Encoding
+ Database.V5.Bloodhound.Types: toEncodingList :: ToJSON a => [a] -> Encoding
+ Database.V5.Bloodhound.Types: toGSnapshotRepo :: SnapshotRepo r => r -> GenericSnapshotRepo
+ Database.V5.Bloodhound.Types: toJSON :: ToJSON a => a -> Value
+ Database.V5.Bloodhound.Types: toJSONList :: ToJSON a => [a] -> Value
+ Database.V5.Bloodhound.Types: toMissing :: Text -> AggregationResults -> Maybe MissingResult
+ Database.V5.Bloodhound.Types: toTerms :: Text -> AggregationResults -> Maybe (Bucket TermsResult)
+ Database.V5.Bloodhound.Types: toTopHits :: (FromJSON a) => Text -> AggregationResults -> Maybe (TopHitResult a)
+ Database.V5.Bloodhound.Types: type AggregationResults = Map Text Value
+ Database.V5.Bloodhound.Types: type Aggregations = Map Text Aggregation
+ Database.V5.Bloodhound.Types: type Cache = Bool
+ Database.V5.Bloodhound.Types: type HitHighlight = Map Text [Text]
+ Database.V5.Bloodhound.Types: type Method = Method
+ Database.V5.Bloodhound.Types: type Reply = Response ByteString
+ Database.V5.Bloodhound.Types: type Score = Maybe Double
+ Database.V5.Bloodhound.Types: type Sort = [SortSpec]
+ Database.V5.Bloodhound.Types: type TrackSortScores = Bool
+ Database.V5.Bloodhound.Types: unpackId :: DocId -> Text
+ Database.V5.Bloodhound.Types.Class: (<&&>) :: Seminearring a => a -> a -> a
+ Database.V5.Bloodhound.Types.Class: (<||>) :: Seminearring a => a -> a -> a
+ Database.V5.Bloodhound.Types.Class: class Monoid a => Seminearring a where (<&&>) = mappend
+ Database.V5.Bloodhound.Types.Internal: BHEnv :: Server -> Manager -> (Request -> IO Request) -> BHEnv
+ Database.V5.Bloodhound.Types.Internal: Server :: Text -> Server
+ Database.V5.Bloodhound.Types.Internal: [bhManager] :: BHEnv -> Manager
+ Database.V5.Bloodhound.Types.Internal: [bhRequestHook] :: BHEnv -> Request -> IO Request
+ Database.V5.Bloodhound.Types.Internal: [bhServer] :: BHEnv -> Server
+ Database.V5.Bloodhound.Types.Internal: class (Functor m, Applicative m, MonadIO m) => MonadBH m
+ Database.V5.Bloodhound.Types.Internal: data BHEnv
+ Database.V5.Bloodhound.Types.Internal: getBHEnv :: MonadBH m => m BHEnv
+ Database.V5.Bloodhound.Types.Internal: instance (GHC.Base.Functor m, GHC.Base.Applicative m, Control.Monad.IO.Class.MonadIO m) => Database.V5.Bloodhound.Types.Internal.MonadBH (Control.Monad.Trans.Reader.ReaderT Database.V5.Bloodhound.Types.Internal.BHEnv m)
+ Database.V5.Bloodhound.Types.Internal: instance Data.Aeson.Types.FromJSON.FromJSON Database.V5.Bloodhound.Types.Internal.Server
+ Database.V5.Bloodhound.Types.Internal: instance GHC.Classes.Eq Database.V5.Bloodhound.Types.Internal.Server
+ Database.V5.Bloodhound.Types.Internal: instance GHC.Generics.Generic Database.V5.Bloodhound.Types.Internal.Server
+ Database.V5.Bloodhound.Types.Internal: instance GHC.Show.Show Database.V5.Bloodhound.Types.Internal.Server
+ Database.V5.Bloodhound.Types.Internal: newtype Server

Files

README.md view
@@ -21,10 +21,20 @@ Version compatibility --------------------- -Elasticsearch \>=1.0 && \<2.0 is recommended. Bloodhound mostly works with 0.9.x, but I don't recommend it if you expect everything to work. As of Bloodhound 0.3 all \>=1.0 && \<2.0 versions of Elasticsearch work. Some (or even most?) features will work with versions \>=2.0, but it is not officially supported yet.+As of version 0.13.0.0, Bloodhound has 2 separate module trees for+ElasticSearch versions 1 and 5. Import the module that is appropriate+for your use case. If you would like to add support for another major+version, open a ticket expressing your intend and follow the pattern+used for other versions. We weighed the idea of sharing code between+versions but it just got too messy, especially considering the+instability of the ElasticSearch API. We switched to a model which+would allow the persons responsible for a particular protocol version+to maintain that version while avoiding conflict with other versions. -Current versions we test against are 1.2.4, 1.3.6, 1.4.1, 1.5.2, 1.6.0, and 1.7.2. We also check that GHC 7.6 and 7.8 both build and pass tests. See our [TravisCI](https://travis-ci.org/bitemyapp/bloodhound) to learn more.+See our [TravisCI](https://travis-ci.org/bitemyapp/bloodhound) for a+listing of ElasticSearch version we test against. + Stability --------- @@ -41,7 +51,7 @@   3. In your local Bloodhound directory, run `stack setup && stack build`   4. Start the desired version of ElasticSearch at `localhost:9200`, which should be the default.   5. Run `stack test` in your local Bloodhound directory.-  6. The unit tests will pass if you re-execute `stack test`, but some of the doctests might fail due to existing data in ElasticSearch. If you want to start with a clean slate, stop your ElasticSearch instance, delete the `data/` folder in the ElasticSearch installation, restart ElasticSearch, and re-run `stack test`.+  6. The unit tests will pass if you re-execute `stack test`. If you want to start with a clean slate, stop your ElasticSearch instance, delete the `data/` folder in the ElasticSearch installation, restart ElasticSearch, and re-run `stack test`.   Hackage page and Haddock documentation@@ -57,837 +67,7 @@ Examples ======== -Index Operations-------------------### Create Index--``` {.haskell}---- Formatted for use in ghci, so there are "let"s in front of the decls.---- if you see :{ and :}, they're so you can copy-paste--- the multi-line examples into your ghci REPL.--:set -XDeriveGeneric-:set -XOverloadedStrings-:{-import Control.Applicative-import Database.Bloodhound-import Data.Aeson-import Data.Either (Either(..))-import Data.Maybe (fromJust)-import Data.Time.Calendar (Day(..))-import Data.Time.Clock (secondsToDiffTime, UTCTime(..))-import Data.Text (Text)-import GHC.Generics (Generic)-import Network.HTTP.Client-import qualified Network.HTTP.Types.Status as NHTS---- no trailing slashes in servers, library handles building the path.-let testServer = (Server "http://localhost:9200")-let testIndex = IndexName "twitter"-let testMapping = MappingName "tweet"-let withBH' = withBH defaultManagerSettings testServer---- defaultIndexSettings is exported by Database.Bloodhound as well-let defaultIndexSettings = IndexSettings (ShardCount 3) (ReplicaCount 2)---- createIndex returns MonadBH m => m Reply. You can use withBH for--- one-off commands or you can use runBH to group together commands--- and to pass in your own HTTP manager for pipelining.---- response :: Reply, Reply is a synonym for Network.HTTP.Conduit.Response-response <- withBH' $ createIndex defaultIndexSettings testIndex-:}--```--### Delete Index--#### Code--``` {.haskell}---- response :: Reply-response <- withBH' $ deleteIndex testIndex--```--#### Example Response--``` {.haskell}---- print response if it was a success-Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}-        , responseVersion = HTTP/1.1-        , responseHeaders = [("Content-Type", "application/json; charset=UTF-8")-                           , ("Content-Length", "21")]-        , responseBody = "{\"acknowledged\":true}"-        , responseCookieJar = CJ {expose = []}-        , responseClose' = ResponseClose}---- if the index to be deleted didn't exist anyway-Response {responseStatus = Status {statusCode = 404, statusMessage = "Not Found"}-        , responseVersion = HTTP/1.1-        , responseHeaders = [("Content-Type", "application/json; charset=UTF-8")-                           , ("Content-Length","65")]-        , responseBody = "{\"error\":\"IndexMissingException[[twitter] missing]\",\"status\":404}"-        , responseCookieJar = CJ {expose = []}-        , responseClose' = ResponseClose}--```--### Refresh Index--#### Note, you **have** to do this if you expect to read what you just wrote--``` {.haskell}--resp <- withBH' $ refreshIndex testIndex--```--#### Example Response--``` {.haskell}---- print resp on success-Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}-        , responseVersion = HTTP/1.1-        , responseHeaders = [("Content-Type", "application/json; charset=UTF-8")-                           , ("Content-Length","50")]-        , responseBody = "{\"_shards\":{\"total\":10,\"successful\":5,\"failed\":0}}"-        , responseCookieJar = CJ {expose = []}-        , responseClose' = ResponseClose}--```--Mapping Operations---------------------### Create Mapping--``` {.haskell}---- don't forget imports and the like at the top.--data TweetMapping = TweetMapping deriving (Eq, Show)---- I know writing the JSON manually sucks.--- I don't have a proper data type for Mappings yet.--- Let me know if this is something you need.--:{-instance ToJSON TweetMapping where-  toJSON TweetMapping =-    object ["properties" .=-      object ["location" .=-        object ["type" .= ("geo_point" :: Text)]]]-:}--resp <- withBH' $ putMapping testIndex testMapping TweetMapping--```--### Delete Mapping--``` {.haskell}--resp <- withBH' $ deleteMapping testIndex testMapping--```--Document Operations----------------------### Indexing Documents--``` {.haskell}---- don't forget the imports and derive generic setting for ghci--- at the beginning of the examples.--:{-data Location = Location { lat :: Double-                         , lon :: Double } deriving (Eq, Generic, Show)--data Tweet = Tweet { user     :: Text-                   , postDate :: UTCTime-                   , message  :: Text-                   , age      :: Int-                   , location :: Location } deriving (Eq, Generic, Show)--exampleTweet = Tweet { user     = "bitemyapp"-                     , postDate = UTCTime-                                  (ModifiedJulianDay 55000)-                                  (secondsToDiffTime 10)-                     , message  = "Use haskell!"-                     , age      = 10000-                     , location = Location 40.12 (-71.34) }---- automagic (generic) derivation of instances because we're lazy.-instance ToJSON   Tweet-instance FromJSON Tweet-instance ToJSON   Location-instance FromJSON Location-:}---- Should be able to toJSON and encode the data structures like this:--- λ> toJSON $ Location 10.0 10.0--- Object fromList [("lat",Number 10.0),("lon",Number 10.0)]--- λ> encode $ Location 10.0 10.0--- "{\"lat\":10,\"lon\":10}"--resp <- withBH' $ indexDocument testIndex testMapping defaultIndexDocumentSettings exampleTweet (DocId "1")--```--#### Example Response--``` {.haskell}--Response {responseStatus =-  Status {statusCode = 200, statusMessage = "OK"}-    , responseVersion = HTTP/1.1, responseHeaders =-    [("Content-Type","application/json; charset=UTF-8"),-     ("Content-Length","75")]-    , responseBody = "{\"_index\":\"twitter\",\"_type\":\"tweet\",\"_id\":\"1\",\"_version\":2,\"created\":false}"-    , responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}--```--### Deleting Documents--``` {.haskell}--resp <- withBH' $ deleteDocument testIndex testMapping (DocId "1")--```--### Getting Documents--``` {.haskell}---- n.b., you'll need the earlier imports. responseBody is from http-conduit--resp <- withBH' $ getDocument testIndex testMapping (DocId "1")---- responseBody :: Response body -> body-let body = responseBody resp---- you have two options, you use decode and just get Maybe (EsResult Tweet)--- or you can use eitherDecode and get Either String (EsResult Tweet)--let maybeResult = decode body :: Maybe (EsResult Tweet)--- the explicit typing is so Aeson knows how to parse the JSON.---- use either if you want to know why something failed to parse.--- (string errors, sadly)-let eitherResult = eitherDecode body :: Either String (EsResult Tweet)---- print eitherResult should look like:-Right (EsResult {_index = "twitter"-               , _type = "tweet"-               , _id = "1"-               , foundResult = Just (EsResultFound { _version = 2-                                                   , _source = Tweet {user = "bitemyapp"-                                                                     , postDate = 2009-06-18 00:00:10 UTC-                                                                     , message = "Use haskell!"-                                                                     , age = 10000-                                                                     , location = Location {lat = 40.12, lon = -71.34}}})})---- _source in EsResultFound is parametric, we dispatch the type by passing in what we expect (Tweet) as a parameter to EsResult.---- use the _source record accessor to get at your document-fmap (fmap _source . foundResult) eitherResult-Right (Just (Tweet {user = "bitemyapp"-                   , postDate = 2009-06-18 00:00:10 UTC-                   , message = "Use haskell!"-                   , age = 10000-                   , location = Location {lat = 40.12, lon = -71.34}}))--```--Bulk Operations------------------### Bulk create, index--``` {.haskell}---- don't forget the imports and derive generic setting for ghci--- at the beginning of the examples.--:{--- Using the earlier Tweet datatype and exampleTweet data---- just changing up the data a bit.-let bulkTest = exampleTweet { user = "blah" }-let bulkTestTwo = exampleTweet { message = "woohoo!" }---- create only bulk operation--- BulkCreate :: IndexName -> MappingName -> DocId -> Value -> BulkOperation-let firstOp = BulkCreate testIndex-              testMapping (DocId "3") (toJSON bulkTest)---- index operation "create or update"-let sndOp   = BulkIndex testIndex-              testMapping (DocId "4") (toJSON bulkTestTwo)---- Some explanation, the final "Value" type that BulkIndex,--- BulkCreate, and BulkUpdate accept is the actual document--- data that your operation applies to. BulkDelete doesn't--- take a value because it's just deleting whatever DocId--- you pass.---- list of bulk operations-let stream = [firstDoc, secondDoc]---- Fire off the actual bulk request--- bulk :: Vector BulkOperation -> IO Reply-resp <- withBH' $ bulk stream-:}--```--### Encoding individual bulk API operations--``` {.haskell}--- the following functions are exported in Bloodhound so--- you can build up bulk operations yourself-encodeBulkOperations :: V.Vector BulkOperation -> L.ByteString-encodeBulkOperation :: BulkOperation -> L.ByteString---- How to use the above:-data BulkTest = BulkTest { name :: Text } deriving (Eq, Generic, Show)-instance FromJSON BulkTest-instance ToJSON BulkTest--_ <- insertData-let firstTest = BulkTest "blah"-let secondTest = BulkTest "bloo"-let firstDoc = BulkIndex testIndex-               testMapping (DocId "2") (toJSON firstTest)-let secondDoc = BulkCreate testIndex-               testMapping (DocId "3") (toJSON secondTest)-let stream = V.fromList [firstDoc, secondDoc] :: V.Vector BulkOperation---- to encode yourself-let firstDocEncoded = encode firstDoc :: L.ByteString---- to encode a vector of bulk operations-let encodedOperations = encodeBulkOperations stream---- to insert into a particular server--- bulk :: V.Vector BulkOperation -> IO Reply-_ <- withBH' $ bulk streamp--```--Search---------### Querying--#### Term Query--``` {.haskell}---- exported by the Client module, just defaults some stuff.--- mkSearch :: Maybe Query -> Maybe Filter -> Search--- mkSearch query filter = Search query filter Nothing False (From 0) (Size 10) Nothing--let query = TermQuery (Term "user" "bitemyapp") Nothing---- AND'ing identity filter with itself and then tacking it onto a query--- search should be a null-operation. I include it for the sake of example.--- <||> (or/plus) should make it into a search that returns everything.--let filter = IdentityFilter <&&> IdentityFilter---- constructing the search object the searchByIndex function dispatches on.-let search = mkSearch (Just query) (Just filter)---- you can also searchByType and specify the mapping name.-reply <- withBH' $ searchByIndex testIndex search--let result = eitherDecode (responseBody reply) :: Either String (SearchResult Tweet)--λ> fmap (hits . searchHits) result-Right [Hit {hitIndex = IndexName "twitter"-          , hitType = MappingName "tweet"-          , hitDocId = DocId "1"-          , hitScore = 0.30685282-          , hitSource = Tweet {user = "bitemyapp"-                             , postDate = 2009-06-18 00:00:10 UTC-                             , message = "Use haskell!"-                             , age = 10000-                             , location = Location {lat = 40.12, lon = -71.34}}}]--```--#### Match Query--``` {.haskell}--let query = QueryMatchQuery $ mkMatchQuery (FieldName "user") (QueryString "bitemyapp")-let search = mkSearch (Just query) Nothing--```--#### Multi-Match Query--``` {.haskell}--let fields = [FieldName "user", FieldName "message"]-let query = QueryMultiMatchQuery $ mkMultiMatchQuery fields (QueryString "bitemyapp")-let search = mkSearch (Just query) Nothing--```--#### Bool Query--``` {.haskell}--let innerQuery = QueryMatchQuery $-                 mkMatchQuery (FieldName "user") (QueryString "bitemyapp")-let query = QueryBoolQuery $-            mkBoolQuery [innerQuery] [] []-let search = mkSearch (Just query) Nothing--```--#### Boosting Query--``` {.haskell}--let posQuery = QueryMatchQuery $-               mkMatchQuery (FieldName "user") (QueryString "bitemyapp")-let negQuery = QueryMatchQuery $-               mkMatchQuery (FieldName "user") (QueryString "notmyapp")-let query = QueryBoostingQuery $-            BoostingQuery posQuery negQuery (Boost 0.2)--```--#### Rest of the query/filter types--Just follow the pattern you've seen here and check the Hackage API documentation.--### Sorting--``` {.haskell}--let sortSpec = DefaultSortSpec $ mkSort (FieldName "age") Ascending---- mkSort is a shortcut function that takes a FieldName and a SortOrder--- to generate a vanilla DefaultSort.--- checkt the DefaultSort type for the full list of customizable options.---- From and size are integers for pagination.---- When sorting on a field, scores are not computed. By setting TrackSortScores to true, scores will still be computed and tracked.---- type Sort = [SortSpec]--- type TrackSortScores = Bool--- type From = Int--- type Size = Int---- Search takes Maybe Query---              -> Maybe Filter---              -> Maybe Sort---              -> TrackSortScores---              -> From -> Size---              -> Maybe [FieldName]---- just add more sortspecs to the list if you want tie-breakers.-let search = Search Nothing (Just IdentityFilter) (Just [sortSpec]) False (From 0) (Size 10) Nothing--```--### Field selection--If you only want certain fields from the source document returned, you can-set the "fields" field of the Search record.--``` {.haskell}--let search' = mkSearch (Just (MatchAllQuery Nothing)) Nothing-    search  = search' { fields = Just [FieldName "updated"] }--```--### Filtering--#### And, Not, and Or filters--Filters form a monoid and seminearring.--``` {.haskell}--instance Monoid Filter where-  mempty = IdentityFilter-  mappend a b = AndFilter [a, b] defaultCache--instance Seminearring Filter where-  a <||> b = OrFilter [a, b] defaultCache---- AndFilter and OrFilter take [Filter] as an argument.---- This will return anything, because IdentityFilter returns everything-OrFilter [IdentityFilter, someOtherFilter] False---- This will return exactly what someOtherFilter returns-AndFilter [IdentityFilter, someOtherFilter] False---- Thanks to the seminearring and monoid, the above can be expressed as:---- "and"-IdentityFilter <&&> someOtherFilter---- "or"-IdentityFilter <||> someOtherFilter---- Also there is a NotFilter, it only accepts a single filter, not a list.--NotFilter someOtherFilter False--```--#### Identity Filter--``` {.haskell}---- And'ing two Identity-let queryFilter = IdentityFilter <&&> IdentityFilter--let search = mkSearch Nothing (Just queryFilter)--reply <- withBH' $ searchByType testIndex testMapping search--```--#### Boolean Filter--Similar to boolean queries.--``` {.haskell}---- Will return only items whose "user" field contains the term "bitemyapp"-let queryFilter = BoolFilter (MustMatch (Term "user" "bitemyapp") False)---- Will return only items whose "user" field does not contain the term "bitemyapp"-let queryFilter = BoolFilter (MustNotMatch (Term "user" "bitemyapp") False)---- The clause (query) should appear in the matching document.--- In a boolean query with no must clauses, one or more should--- clauses must match a document. The minimum number of should--- clauses to match can be set using the minimum_should_match parameter.-let queryFilter = BoolFilter (ShouldMatch [(Term "user" "bitemyapp")] False)--```--#### Exists Filter--``` {.haskell}---- Will filter for documents that have the field "user"-let existsFilter = ExistsFilter (FieldName "user")--```--#### Geo BoundingBox Filter--``` {.haskell}---- topLeft and bottomRight-let box = GeoBoundingBox (LatLon 40.73 (-74.1)) (LatLon 40.10 (-71.12))--let constraint = GeoBoundingBoxConstraint (FieldName "tweet.location") box False GeoFilterMemory--```--#### Geo Distance Filter--``` {.haskell}--let geoPoint = GeoPoint (FieldName "tweet.location") (LatLon 40.12 (-71.34))---- coefficient and units-let distance = Distance 10.0 Miles---- GeoFilterType or NoOptimizeBbox-let optimizeBbox = OptimizeGeoFilterType GeoFilterMemory---- SloppyArc is the usual/default optimization in Elasticsearch today--- but pre-1.0 versions will need to pick Arc or Plane.--let geoFilter = GeoDistanceFilter geoPoint distance SloppyArc optimizeBbox False--```--#### Geo Distance Range Filter--Think of a donut and you won't be far off.--``` {.haskell}--let geoPoint = GeoPoint (FieldName "tweet.location") (LatLon 40.12 (-71.34))--let distanceRange = DistanceRange (Distance 0.0 Miles) (Distance 10.0 Miles)--let geoFilter = GeoDistanceRangeFilter geoPoint distanceRange--```--#### Geo Polygon Filter--``` {.haskell}---- I think I drew a square here.-let points = [LatLon 40.0 (-70.00),-              LatLon 40.0 (-72.00),-              LatLon 41.0 (-70.00),-              LatLon 41.0 (-72.00)]--let geoFilter = GeoPolygonFilter (FieldName "tweet.location") points--```--#### Document IDs filter--``` {.haskell}---- takes a mapping name and a list of DocIds-IdsFilter (MappingName "tweet") [DocId "1"]--```--#### Range Filter--``` {.haskell}---- RangeFilter :: FieldName---                -> RangeValue---                -> RangeExecution---                -> Cache -> Filter--let filter = RangeFilter (FieldName "age")-             (RangeGtLt (GreaterThan 1000.0) (LessThan 100000.0))-             RangeExecutionIndex False--```--``` {.haskell}--let filter = RangeFilter (FieldName "age")-             (RangeLte (LessThanEq 100000.0))-             RangeExecutionIndex False--```--##### Date Ranges--Date ranges are expressed in UTCTime. Date ranges use the same range bound constructors as numerics, except that they end in "D".--Note that compatibility with ES is tested only down to seconds.--``` {.haskell}--let filter = RangeFilter (FieldName "postDate")-             (RangeDateGtLte-              (GreaterThanD (UTCTime-                          (ModifiedJulianDay 55000)-                          (secondsToDiffTime 9)))-              (LessThanEqD (UTCTime-                            (ModifiedJulianDay 55000)-                            (secondsToDiffTime 11))))-             RangeExecutionIndex False-```--#### Regexp Filter--``` {.haskell}---- RegexpFilter---   :: FieldName---      -> Regexp---      -> RegexpFlags---      -> CacheName---      -> Cache---      -> CacheKey---      -> Filter-let filter = RegexpFilter (FieldName "user") (Regexp "bite.*app")-             AllRegexpFlags (CacheName "test") False (CacheKey "key")---- n.b.--- data RegexpFlags = AllRegexpFlags---                 | NoRegexpFlags---                 | SomeRegexpFlags (NonEmpty RegexpFlag) deriving (Eq, Show)---- data RegexpFlag = AnyString---                | Automaton---                | Complement---                | Empty---                | Intersection---                | Interval deriving (Eq, Show)--```--### Aggregations--#### Adding aggregations to search--Aggregations can now be added to search queries, or made on their own.--``` {.haskell}-type Aggregations = M.Map Text Aggregation-data Aggregation-  = TermsAgg TermsAggregation-  | DateHistogramAgg DateHistogramAggregation-```--For convenience, \`\`\`mkAggregations\`\`\` exists, that will create an \`\`\`Aggregations\`\`\` with the aggregation provided.--For example:--``` {.haskell}- let a = mkAggregations "users" $ TermsAgg $ mkTermsAggregation "user"- let search = mkAggregateSearch Nothing a-```--Aggregations can be added to an existing search, using the \`\`\`aggBody\`\`\` field--``` {.haskell}- let search  = mkSearch (Just (MatchAllQuery Nothing)) Nothing- let search' = search {aggBody = Just a}-```--Since the \`\`\`Aggregations\`\`\` structure is just a Map Text Aggregation, M.insert can be used to add additional aggregations.--``` {.haskell}- let a' = M.insert "age" (TermsAgg $ mkTermsAggregation "age") a-```--#### Extracting aggregations from results--Aggregations are part of the reply structure of every search, in the-form of `Maybe AggregationResults`--``` {.haskell}--- Lift decode and response body to be in the IO monad.-let decode' = liftM decode-let responseBody' = liftM responseBody-let reply = withBH' $ searchByIndex testIndex search-let response = decode' $ responseBody' reply :: IO (Maybe (SearchResult Tweet))---- Now that we have our response, we can extract our terms aggregation result -- which is a list of buckets.--let terms = do { response' <- response; return $ response' >>= aggregations >>= toTerms "users" }-terms-Just (Bucket {buckets = [TermsResult {termKey = "bitemyapp", termsDocCount = 1, termsAggs = Nothing}]})-```--Note that bucket aggregation results, such as the TermsResult is a member of the type class `BucketAggregation`:--``` {.haskell}-class BucketAggregation a where-  key :: a -> Text-  docCount :: a -> Int-  aggs :: a -> Maybe AggregationResults-```--You can use the `aggs` function to get any nested results, if there-were any. For example, if there were a nested terms aggregation keyed-to "age" in a TermsResult named `termresult` , you would call `aggs-termresult >>= toTerms "age"`--#### Terms Aggregation--``` {.haskell}-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}-```--Term Aggregations have two factory functions, `mkTermsAggregation`, and-`mkTermsScriptAggregation`, and can be used as follows:--``` {.haskell}-let ta = TermsAgg $ mkTermsAggregation "user"-```--There are of course other options that can be added to a Terms Aggregation, such as the collection mode:--``` {.haskell}-let ta   = mkTermsAggregation "user"-let ta'  = ta { termCollectMode = Just BreadthFirst }-let ta'' = TermsAgg ta'-```--For more documentation on how the Terms Aggregation works, see <https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html>--#### Date Histogram Aggregation--``` {.haskell}-data DateHistogramAggregation-  = DateHistogramAggregation {dateField :: FieldName,-                              dateInterval :: Interval,-                              dateFormat :: Maybe Text,-                              datePreZone :: Maybe Text,-                              datePostZone :: Maybe Text,-                              datePreOffset :: Maybe Text,-                              datePostOffset :: Maybe Text,-                              dateAggs :: Maybe Aggregations}-```--The Date Histogram Aggregation works much the same as the Terms Aggregation.--Relevant functions include `mkDateHistogram`, and `toDateHistogram`--``` {.haskell}-let dh = DateHistogramAgg (mkDateHistogram (FieldName "postDate") Minute)-```--Date histograms also accept a `FractionalInterval`:--``` {.haskell}-FractionalInterval :: Float -> TimeInterval -> Interval--- TimeInterval is the following:-data TimeInterval = Weeks | Days | Hours | Minutes | Seconds-```--It can be used as follows:--``` {.haskell}-let dh = DateHistogramAgg (mkDateHistogram (FieldName "postDate") (FractionalInterval 1.5 Minutes))-```--The `DateHistogramResult` is defined as:--``` {.haskell}-data DateHistogramResult-  = DateHistogramResult {dateKey :: Int,-                         dateKeyStr :: Maybe Text,-                         dateDocCount :: Int,-                         dateHistogramAggs :: Maybe AggregationResults}-```--It is an instance of `BucketAggregation`, and can have nested aggregations in each bucket.--Buckets can be extracted from an `AggregationResult` using-`toDateHistogram name`--For more information on the Date Histogram Aggregation, see: <https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html>+See the [examples](htts://github.com/bitemyapp/bloodhound/tree/master/examples) directory for example code.   Contributors
bloodhound.cabal view
@@ -1,5 +1,5 @@ name:                bloodhound-version:             0.12.1.0+version:             0.13.0.0 synopsis:            ElasticSearch client library for Haskell description:         ElasticSearch made awesome for Haskell hackers homepage:            https://github.com/bitemyapp/bloodhound@@ -16,18 +16,30 @@   README.md   changelog.md - source-repository head   type:     git   location: https://github.com/bitemyapp/bloodhound.git +Flag ES1+  Description: Run the test suite against an Elasticsearch 1.x server+  Default:     True++Flag ES5+  Description: Run the test suite against an Elasticsearch 5.x server+  Default:     False+ library-  ghc-options: -Wall-  exposed-modules:     Database.Bloodhound-                       Database.Bloodhound.Client-                       Database.Bloodhound.Types-                       Database.Bloodhound.Types.Class-                       Database.Bloodhound.Types.Internal+  ghc-options:         -Wall+  exposed-modules:     Database.V1.Bloodhound+                       Database.V1.Bloodhound.Client+                       Database.V1.Bloodhound.Types+                       Database.V1.Bloodhound.Types.Class+                       Database.V1.Bloodhound.Types.Internal+                       Database.V5.Bloodhound+                       Database.V5.Bloodhound.Client+                       Database.V5.Bloodhound.Types+                       Database.V5.Bloodhound.Types.Class+                       Database.V5.Bloodhound.Types.Internal   hs-source-dirs:      src   build-depends:       base             >= 4.3     && <5,                        bytestring       >= 0.10.0  && <0.11,@@ -41,7 +53,7 @@                        mtl              >= 1.0     && <2.3,                        transformers     >= 0.2     && <0.6,                        http-types       >= 0.8     && <0.10,-                       vector           >= 0.10.9  && <0.12,+                       vector           >= 0.10.9  && <0.13,                        scientific       >= 0.3.0.0 && <0.4.0.0,                        exceptions,                        data-default-class,@@ -55,14 +67,18 @@   ghc-options: -Wall -fno-warn-orphans   type: exitcode-stdio-1.0   main-is: tests.hs-  hs-source-dirs: tests+  if flag(ES5)+    hs-source-dirs:     tests/V5+  else+    hs-source-dirs:     tests/V1+     build-depends:       base,                        bloodhound,                        bytestring,                        http-client,                        http-types,                        containers,-                       hspec                >= 1.8 && <2.4,+                       hspec                >= 1.8,                        text,                        time,                        aeson,@@ -76,26 +92,6 @@                        errors,                        exceptions,                        temporary,-                       unix,+                       unix-compat,                        network-uri   default-language:    Haskell2010--test-suite doctests-  ghc-options:      -threaded -Wall-  default-language: Haskell2010-  type:             exitcode-stdio-1.0-  main-is:          doctests.hs-  hs-source-dirs:   tests, src-  if impl(ghc >= 7.8)-    build-depends:    base,-                      aeson,-                      bloodhound,-                      directory,-                      doctest >= 0.10.1,-                      filepath-  else-    buildable: False--Source-Repository head-  Type:     git-  Location: git://github.com/bitemyapp/bloodhound.git
− src/Database/Bloodhound.hs
@@ -1,10 +0,0 @@-module Database.Bloodhound-       ( -- module Data.Aeson.Types-       -- , -         module Database.Bloodhound.Client-       , module Database.Bloodhound.Types-       ) where---- import Data.Aeson.Types-import Database.Bloodhound.Client-import Database.Bloodhound.Types
− src/Database/Bloodhound/Client.hs
@@ -1,1097 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards   #-}-{-# LANGUAGE TupleSections     #-}------------------------------------------------------------------------------------ |--- Module : Database.Bloodhound.Client--- Copyright : (C) 2014 Chris Allen--- License : BSD-style (see the file LICENSE)--- Maintainer : Chris Allen <cma@bitemyapp.com--- Stability : provisional--- Portability : OverloadedStrings------ Client side functions for talking to Elasticsearch servers.-------------------------------------------------------------------------------------module Database.Bloodhound.Client-       ( -- * Bloodhound client functions-         -- | The examples in this module assume the following code has been run.-         --   The :{ and :} will only work in GHCi. You'll only need the data types-         --   and typeclass instances for the functions that make use of them.--         -- $setup-         withBH-       -- ** Indices-       , createIndex-       , deleteIndex-       , updateIndexSettings-       , getIndexSettings-       , optimizeIndex-       , indexExists-       , openIndex-       , closeIndex-       , listIndices-       , waitForYellowIndex-       -- *** Index Aliases-       , updateIndexAliases-       , getIndexAliases-       -- *** Index Templates-       , putTemplate-       , templateExists-       , deleteTemplate-       -- ** Mapping-       , putMapping-       , deleteMapping-       -- ** Documents-       , indexDocument-       , updateDocument-       , getDocument-       , documentExists-       , deleteDocument-       -- ** Searching-       , searchAll-       , searchByIndex-       , searchByType-       , scanSearch-       , getInitialScroll-       , advanceScroll-       , refreshIndex-       , mkSearch-       , mkAggregateSearch-       , mkHighlightSearch-       , bulk-       , pageSearch-       , mkShardCount-       , mkReplicaCount-       , getStatus-       -- ** Snapshot/Restore-       -- *** Snapshot Repos-       , getSnapshotRepos-       , updateSnapshotRepo-       , verifySnapshotRepo-       , deleteSnapshotRepo-       -- *** Snapshots-       , createSnapshot-       , getSnapshots-       , deleteSnapshot-       -- *** Restoring Snapshots-       , restoreSnapshot-       -- ** Nodes-       , getNodesInfo-       , getNodesStats-       -- ** Request Utilities-       , encodeBulkOperations-       , encodeBulkOperation-       -- * Authentication-       , basicAuthHook-       -- * Reply-handling tools-       , isVersionConflict-       , isSuccess-       , isCreated-       , parseEsResponse-       )-       where--import qualified Blaze.ByteString.Builder     as BB-import           Control.Applicative          as A-import           Control.Monad-import           Control.Monad.Catch-import           Control.Monad.IO.Class-import           Data.Aeson-import           Data.ByteString.Lazy.Builder-import qualified Data.ByteString.Lazy.Char8   as L-import           Data.Foldable                (toList)-import qualified Data.HashMap.Strict          as HM-import           Data.Ix-import qualified Data.List                    as LS (filter, foldl')-import           Data.List.NonEmpty           (NonEmpty (..))-import           Data.Maybe                   (catMaybes, fromMaybe, isJust)-import           Data.Monoid-import           Data.Text                    (Text)-import qualified Data.Text                    as T-import qualified Data.Text.Encoding           as T-import           Data.Time.Clock-import qualified Data.Vector                  as V-import           Network.HTTP.Client-import qualified Network.HTTP.Types.Method    as NHTM-import qualified Network.HTTP.Types.Status    as NHTS-import qualified Network.HTTP.Types.URI       as NHTU-import qualified Network.URI                  as URI-import           Prelude                      hiding (filter, head)--import           Database.Bloodhound.Types---- $setup--- >>> :set -XOverloadedStrings--- >>> :set -XDeriveGeneric--- >>> import Database.Bloodhound--- >>> let testServer = (Server "http://localhost:9200")--- >>> let runBH' = withBH defaultManagerSettings testServer--- >>> let testIndex = IndexName "twitter"--- >>> let testMapping = MappingName "tweet"--- >>> let defaultIndexSettings = IndexSettings (ShardCount 1) (ReplicaCount 0)--- >>> data TweetMapping = TweetMapping deriving (Eq, Show)--- >>> _ <- runBH' $ deleteIndex testIndex >> deleteMapping testIndex testMapping--- >>> import GHC.Generics--- >>> import           Data.Time.Calendar        (Day (..))--- >>> import Data.Time.Clock (UTCTime (..), secondsToDiffTime)--- >>> :{---instance ToJSON TweetMapping where---          toJSON TweetMapping =---            object ["properties" .=---              object ["location" .=---                object ["type" .= ("geo_point" :: Text)]]]---data Location = Location { lat :: Double---                         , lon :: Double } deriving (Eq, Generic, Show)---data Tweet = Tweet { user     :: Text---                    , postDate :: UTCTime---                    , message  :: Text---                    , age      :: Int---                    , location :: Location } deriving (Eq, Generic, Show)---exampleTweet = Tweet { user     = "bitemyapp"---                      , postDate = UTCTime---                                   (ModifiedJulianDay 55000)---                                   (secondsToDiffTime 10)---                      , message  = "Use haskell!"---                      , age      = 10000---                      , location = Location 40.12 (-71.34) }---instance ToJSON   Tweet where---  toJSON = genericToJSON defaultOptions---instance FromJSON Tweet where---  parseJSON = genericParseJSON defaultOptions---instance ToJSON   Location where---  toJSON = genericToJSON defaultOptions---instance FromJSON Location where---  parseJSON = genericParseJSON defaultOptions---data BulkTest = BulkTest { name :: Text } deriving (Eq, Generic, Show)---instance FromJSON BulkTest where---  parseJSON = genericParseJSON defaultOptions---instance ToJSON BulkTest where---  toJSON = genericToJSON defaultOptions--- :}---- | 'mkShardCount' is a straight-forward smart constructor for 'ShardCount'---   which rejects 'Int' values below 1 and above 1000.------ >>> mkShardCount 10--- Just (ShardCount 10)-mkShardCount :: Int -> Maybe ShardCount-mkShardCount n-  | n < 1 = Nothing-  | n > 1000 = Nothing-  | otherwise = Just (ShardCount n)---- | 'mkReplicaCount' is a straight-forward smart constructor for 'ReplicaCount'---   which rejects 'Int' values below 0 and above 1000.------ >>> mkReplicaCount 10--- Just (ReplicaCount 10)-mkReplicaCount :: Int -> Maybe ReplicaCount-mkReplicaCount n-  | n < 0 = Nothing-  | n > 1000 = Nothing -- ...-  | otherwise = Just (ReplicaCount n)--emptyBody :: L.ByteString-emptyBody = L.pack ""--dispatch :: MonadBH m-         => Method-         -> Text-         -> Maybe L.ByteString-         -> m Reply-dispatch dMethod url body = do-  initReq <- liftIO $ parseUrl' url-  reqHook <- bhRequestHook A.<$> getBHEnv-  let reqBody = RequestBodyLBS $ fromMaybe emptyBody body-  req <- liftIO $ reqHook $ setRequestIgnoreStatus $ initReq { method = dMethod-                                                             , requestBody = reqBody }-  mgr <- bhManager <$> getBHEnv-  liftIO $ httpLbs req mgr--joinPath' :: [Text] -> Text-joinPath' = T.intercalate "/"--joinPath :: MonadBH m => [Text] -> m Text-joinPath ps = do-  Server s <- bhServer <$> getBHEnv-  return $ joinPath' (s:ps)--appendSearchTypeParam :: Text -> SearchType -> Text-appendSearchTypeParam originalUrl st = addQuery params originalUrl-  where stText = "search_type"-        params-          | st == SearchTypeDfsQueryThenFetch = [(stText, Just "dfs_query_then_fetch")]-          | st == SearchTypeCount             = [(stText, Just "count")]-          | st == SearchTypeScan              = [(stText, Just "scan"), ("scroll", Just "1m")]-          | st == SearchTypeQueryAndFetch     = [(stText, Just "query_and_fetch")]-          | st == SearchTypeDfsQueryAndFetch  = [(stText, Just "dfs_query_and_fetch")]-        -- used to catch 'SearchTypeQueryThenFetch', which is also the default-          | otherwise                         = [(stText, Just "query_then_fetch")]---- | Severely dumbed down query renderer. Assumes your data doesn't--- need any encoding-addQuery :: [(Text, Maybe Text)] -> Text -> Text-addQuery q u = u <> rendered-  where-    rendered =-      T.decodeUtf8 $ BB.toByteString $ NHTU.renderQueryText prependQuestionMark q-    prependQuestionMark = True--bindM2 :: (Applicative m, Monad m) => (a -> b -> m c) -> m a -> m b -> m c-bindM2 f ma mb = join (f <$> ma <*> mb)---- | Convenience function that sets up a manager and BHEnv and runs--- the given set of bloodhound operations. Connections will be--- pipelined automatically in accordance with the given manager--- settings in IO. If you've got your own monad transformer stack, you--- should use 'runBH' directly.-withBH :: ManagerSettings -> Server -> BH IO a -> IO a-withBH ms s f = do-  mgr <- newManager ms-  let env = mkBHEnv s mgr-  runBH env f---- Shortcut functions for HTTP methods-delete :: MonadBH m => Text -> m Reply-delete = flip (dispatch NHTM.methodDelete) Nothing-get    :: MonadBH m => Text -> m Reply-get    = flip (dispatch NHTM.methodGet) Nothing-head   :: MonadBH m => Text -> m Reply-head   = flip (dispatch NHTM.methodHead) Nothing-put    :: MonadBH m => Text -> Maybe L.ByteString -> m Reply-put    = dispatch NHTM.methodPut-post   :: MonadBH m => Text -> Maybe L.ByteString -> m Reply-post   = dispatch NHTM.methodPost---- indexDocument s ix name doc = put (root </> s </> ix </> name </> doc) (Just encode doc)--- http://hackage.haskell.org/package/http-client-lens-0.1.0/docs/Network-HTTP-Client-Lens.html--- https://github.com/supki/libjenkins/blob/master/src/Jenkins/Rest/Internal.hs---- | 'getStatus' fetches the 'Status' of a 'Server'------ >>> serverStatus <- runBH' getStatus--- >>> fmap status (serverStatus)--- Just 200-getStatus :: MonadBH m => m (Maybe Status)-getStatus = do-  response <- get =<< url-  return $ decode (responseBody response)-  where url = joinPath []---- | 'getSnapshotRepos' gets the definitions of a subset of the--- defined snapshot repos.-getSnapshotRepos-    :: ( MonadBH m-       , MonadThrow m-       )-    => SnapshotRepoSelection-    -> m (Either EsError [GenericSnapshotRepo])-getSnapshotRepos sel = fmap (fmap unGSRs) . parseEsResponse =<< get =<< url-  where-    url = joinPath ["_snapshot", selectorSeg]-    selectorSeg = case sel of-                    AllSnapshotRepos -> "_all"-                    SnapshotRepoList (p :| ps) -> T.intercalate "," (renderPat <$> (p:ps))-    renderPat (RepoPattern t)                  = t-    renderPat (ExactRepo (SnapshotRepoName t)) = t----- | Wrapper to extract the list of 'GenericSnapshotRepo' in the--- format they're returned in-newtype GSRs = GSRs { unGSRs :: [GenericSnapshotRepo] }---instance FromJSON GSRs where-  parseJSON = withObject "Collection of GenericSnapshotRepo" parse-    where-      parse = fmap GSRs . mapM (uncurry go) . HM.toList-      go rawName = withObject "GenericSnapshotRepo" $ \o -> do-        GenericSnapshotRepo (SnapshotRepoName rawName) <$> o .: "type"-                                                       <*> o .: "settings"----- | Create or update a snapshot repo-updateSnapshotRepo-  :: ( MonadBH m-     , SnapshotRepo repo-     )-  => SnapshotRepoUpdateSettings-  -- ^ Use 'defaultSnapshotRepoUpdateSettings' if unsure-  -> repo-  -> m Reply-updateSnapshotRepo SnapshotRepoUpdateSettings {..} repo =-  bindM2 put url (return (Just body))-  where-    url = addQuery params <$> joinPath ["_snapshot", snapshotRepoName gSnapshotRepoName]-    params-      | repoUpdateVerify = []-      | otherwise        = [("verify", Just "false")]-    body = encode $ object [ "type" .= gSnapshotRepoType-                           , "settings" .= gSnapshotRepoSettings-                           ]-    GenericSnapshotRepo {..} = toGSnapshotRepo repo------ | Verify if a snapshot repo is working. __NOTE:__ this API did not--- make it into ElasticSearch until 1.4. If you use an older version,--- you will get an error here.-verifySnapshotRepo-    :: ( MonadBH m-       , MonadThrow m-       )-    => SnapshotRepoName-    -> m (Either EsError SnapshotVerification)-verifySnapshotRepo (SnapshotRepoName n) =-  parseEsResponse =<< bindM2 post url (return Nothing)-  where-    url = joinPath ["_snapshot", n, "_verify"]---deleteSnapshotRepo :: MonadBH m => SnapshotRepoName -> m Reply-deleteSnapshotRepo (SnapshotRepoName n) = delete =<< url-  where-    url = joinPath ["_snapshot", n]----- | Create and start a snapshot-createSnapshot-    :: (MonadBH m)-    => SnapshotRepoName-    -> SnapshotName-    -> SnapshotCreateSettings-    -> m Reply-createSnapshot (SnapshotRepoName repoName)-               (SnapshotName snapName)-               SnapshotCreateSettings {..} =-  bindM2 put url (return (Just body))-  where-    url = addQuery params <$> joinPath ["_snapshot", repoName, snapName]-    params = [("wait_for_completion", Just (boolQP snapWaitForCompletion))]-    body = encode $ object prs-    prs = catMaybes [ ("indices" .=) . indexSelectionName <$> snapIndices-                    , Just ("ignore_unavailable" .= snapIgnoreUnavailable)-                    , Just ("ignore_global_state" .= snapIncludeGlobalState)-                    , Just ("partial" .= snapPartial)-                    ]---indexSelectionName :: IndexSelection -> Text-indexSelectionName AllIndexes            = "_all"-indexSelectionName (IndexList (i :| is)) = T.intercalate "," (renderIndex <$> (i:is))-  where-    renderIndex (IndexName n) = n----- | Get info about known snapshots given a pattern and repo name.-getSnapshots-    :: ( MonadBH m-       , MonadThrow m-       )-    => SnapshotRepoName-    -> SnapshotSelection-    -> m (Either EsError [SnapshotInfo])-getSnapshots (SnapshotRepoName repoName) sel =-  fmap (fmap unSIs) . parseEsResponse =<< get =<< url-  where-    url = joinPath ["_snapshot", repoName, snapPath]-    snapPath = case sel of-      AllSnapshots -> "_all"-      SnapshotList (s :| ss) -> T.intercalate "," (renderPath <$> (s:ss))-    renderPath (SnapPattern t)              = t-    renderPath (ExactSnap (SnapshotName t)) = t---newtype SIs = SIs { unSIs :: [SnapshotInfo] }---instance FromJSON SIs where-  parseJSON = withObject "Collection of SnapshotInfo" parse-    where-      parse o = SIs <$> o .: "snapshots"----- | Delete a snapshot. Cancels if it is running.-deleteSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> m Reply-deleteSnapshot (SnapshotRepoName repoName) (SnapshotName snapName) =-  delete =<< url-  where-    url = joinPath ["_snapshot", repoName, snapName]----- | Restore a snapshot to the cluster See--- <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/modules-snapshots.html#_restore>--- for more details.-restoreSnapshot-    :: MonadBH m-    => SnapshotRepoName-    -> SnapshotName-    -> SnapshotRestoreSettings-    -- ^ Start with 'defaultSnapshotRestoreSettings' and customize-    -- from there for reasonable defaults.-    -> m Reply-restoreSnapshot (SnapshotRepoName repoName)-                (SnapshotName snapName)-                SnapshotRestoreSettings {..} = bindM2 post url (return (Just body))-  where-    url = addQuery params <$> joinPath ["_snapshot", repoName, snapName, "_restore"]-    params = [("wait_for_completion", Just (boolQP snapRestoreWaitForCompletion))]-    body = encode (object prs)---    prs = catMaybes [ ("indices" .=) . indexSelectionName <$> snapRestoreIndices-                 , Just ("ignore_unavailable" .= snapRestoreIgnoreUnavailable)-                 , Just ("include_global_state" .= snapRestoreIncludeGlobalState)-                 , ("rename_pattern" .=) <$> snapRestoreRenamePattern-                 , ("rename_replacement" .=) . renderTokens <$> snapRestoreRenameReplacement-                 , Just ("include_aliases" .= snapRestoreIncludeAliases)-                 , ("index_settings" .= ) <$> snapRestoreIndexSettingsOverrides-                 , ("ignore_index_settings" .= ) <$> snapRestoreIgnoreIndexSettings-                 ]-    renderTokens (t :| ts) = mconcat (renderToken <$> (t:ts))-    renderToken (RRTLit t)      = t-    renderToken RRSubWholeMatch = "$0"-    renderToken (RRSubGroup g)  = T.pack (show (rrGroupRefNum g))---getNodesInfo-    :: ( MonadBH m-       , MonadThrow m-       )-    => NodeSelection-    -> m (Either EsError NodesInfo)-getNodesInfo sel = parseEsResponse =<< get =<< url-  where-    url = joinPath ["_nodes", selectionSeg]-    selectionSeg = case sel of-      LocalNode -> "_local"-      NodeList (l :| ls) -> T.intercalate "," (selToSeg <$> (l:ls))-      AllNodes -> "_all"-    selToSeg (NodeByName (NodeName n))            = n-    selToSeg (NodeByFullNodeId (FullNodeId i))    = i-    selToSeg (NodeByHost (Server s))              = s-    selToSeg (NodeByAttribute (NodeAttrName a) v) = a <> ":" <> v--getNodesStats-    :: ( MonadBH m-       , MonadThrow m-       )-    => NodeSelection-    -> m (Either EsError NodesStats)-getNodesStats sel = parseEsResponse =<< get =<< url-  where-    url = joinPath ["_nodes", selectionSeg, "stats"]-    selectionSeg = case sel of-      LocalNode -> "_local"-      NodeList (l :| ls) -> T.intercalate "," (selToSeg <$> (l:ls))-      AllNodes -> "_all"-    selToSeg (NodeByName (NodeName n))            = n-    selToSeg (NodeByFullNodeId (FullNodeId i))    = i-    selToSeg (NodeByHost (Server s))              = s-    selToSeg (NodeByAttribute (NodeAttrName a) v) = a <> ":" <> v---- | 'createIndex' will create an index given a 'Server', 'IndexSettings', and an 'IndexName'.------ >>> response <- runBH' $ createIndex defaultIndexSettings (IndexName "didimakeanindex")--- >>> respIsTwoHunna response--- True--- >>> runBH' $ indexExists (IndexName "didimakeanindex")--- True-createIndex :: MonadBH m => IndexSettings -> IndexName -> m Reply-createIndex indexSettings (IndexName indexName) =-  bindM2 put url (return body)-  where url = joinPath [indexName]-        body = Just $ encode indexSettings----- | 'deleteIndex' will delete an index given a 'Server', and an 'IndexName'.------ >>> _ <- runBH' $ createIndex defaultIndexSettings (IndexName "didimakeanindex")--- >>> response <- runBH' $ deleteIndex (IndexName "didimakeanindex")--- >>> respIsTwoHunna response--- True--- >>> runBH' $ indexExists testIndex--- False-deleteIndex :: MonadBH m => IndexName -> m Reply-deleteIndex (IndexName indexName) =-  delete =<< joinPath [indexName]---- | 'updateIndexSettings' will apply a non-empty list of setting updates to an index------ >>> _ <- runBH' $ createIndex defaultIndexSettings (IndexName "unconfiguredindex")--- >>> response <- runBH' $ updateIndexSettings (BlocksWrite False :| []) (IndexName "unconfiguredindex")--- >>> respIsTwoHunna response--- True-updateIndexSettings :: MonadBH m => NonEmpty UpdatableIndexSetting -> IndexName -> m Reply-updateIndexSettings updates (IndexName indexName) =-  bindM2 put url (return body)-  where url = joinPath [indexName, "_settings"]-        body = Just (encode jsonBody)-        jsonBody = Object (deepMerge [u | Object u <- toJSON <$> toList updates])---getIndexSettings :: (MonadBH m, MonadThrow m) => IndexName-                 -> m (Either EsError IndexSettingsSummary)-getIndexSettings (IndexName indexName) = do-  parseEsResponse =<< get =<< url-  where url = joinPath [indexName, "_settings"]----- | 'optimizeIndex' will optimize a single index, list of indexes or--- all indexes. Note that this call will block until finishing but--- will continue even if the request times out. Concurrent requests to--- optimize an index while another is performing will block until the--- previous one finishes. For more information see--- <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-optimize.html>. Nothing--- worthwhile comes back in the reply body, so matching on the status--- should suffice.------ 'optimizeIndex' with a maxNumSegments of 1 and onlyExpungeDeletes--- to True is the main way to release disk space back to the OS being--- held by deleted documents.------ Note that this API was deprecated in ElasticSearch 2.1 for the--- almost completely identical forcemerge API. Adding support to that--- API would be trivial but due to the significant breaking changes,--- this library cannot currently be used with >= 2.0, so that feature was omitted.------ >>> let ixn = IndexName "unoptimizedindex"--- >>> _ <- runBH' $ deleteIndex ixn >> createIndex defaultIndexSettings ixn--- >>> response <- runBH' $ optimizeIndex (IndexList (ixn :| [])) (defaultIndexOptimizationSettings { maxNumSegments = Just 1, onlyExpungeDeletes = True })--- >>> respIsTwoHunna response--- True-optimizeIndex :: MonadBH m => IndexSelection -> IndexOptimizationSettings -> m Reply-optimizeIndex ixs IndexOptimizationSettings {..} =-    bindM2 post url (return body)-  where url = addQuery params <$> joinPath [indexName, "_optimize"]-        params = catMaybes [ ("max_num_segments",) . Just . showText <$> maxNumSegments-                           , Just ("only_expunge_deletes", Just (boolQP onlyExpungeDeletes))-                           , Just ("flush", Just (boolQP flushAfterOptimize))-                           ]-        indexName = indexSelectionName ixs-        body = Nothing---deepMerge :: [Object] -> Object-deepMerge = LS.foldl' go mempty-  where go acc = LS.foldl' go' acc . HM.toList-        go' acc (k, v) = HM.insertWith merge k v acc-        merge (Object a) (Object b) = Object (deepMerge [a, b])-        merge _ b = b---statusCodeIs :: (Int, Int) -> Reply -> Bool-statusCodeIs r resp = inRange r $ NHTS.statusCode (responseStatus resp)--respIsTwoHunna :: Reply -> Bool-respIsTwoHunna = statusCodeIs (200, 299)--existentialQuery :: MonadBH m => Text -> m (Reply, Bool)-existentialQuery url = do-  reply <- head url-  return (reply, respIsTwoHunna reply)----- | Tries to parse a response body as the expected type @a@ and--- failing that tries to parse it as an EsError. All well-formed, JSON--- responses from elasticsearch should fall into these two--- categories. If they don't, a 'EsProtocolException' will be--- thrown. If you encounter this, please report the full body it--- reports along with your ElasticSearch verison.-parseEsResponse :: (MonadThrow m, FromJSON a) => Reply-                -> m (Either EsError a)-parseEsResponse reply-  | respIsTwoHunna reply = case eitherDecode body of-                             Right a -> return (Right a)-                             Left _ -> tryParseError-  | otherwise = tryParseError-  where body = responseBody reply-        tryParseError = case eitherDecode body of-                          Right e -> return (Left e)-                          -- this case should not be possible-                          Left _ -> explode-        explode = throwM (EsProtocolException body)---- | 'indexExists' enables you to check if an index exists. Returns 'Bool'---   in IO------ >>> exists <- runBH' $ indexExists testIndex-indexExists :: MonadBH m => IndexName -> m Bool-indexExists (IndexName indexName) = do-  (_, exists) <- existentialQuery =<< joinPath [indexName]-  return exists---- | 'refreshIndex' will force a refresh on an index. You must--- do this if you want to read what you wrote.------ >>> _ <- runBH' $ createIndex defaultIndexSettings testIndex--- >>> _ <- runBH' $ refreshIndex testIndex-refreshIndex :: MonadBH m => IndexName -> m Reply-refreshIndex (IndexName indexName) =-  bindM2 post url (return Nothing)-  where url = joinPath [indexName, "_refresh"]---- | Block until the index becomes available for indexing---   documents. This is useful for integration tests in which---   indices are rapidly created and deleted.-waitForYellowIndex :: MonadBH m => IndexName -> m Reply-waitForYellowIndex (IndexName indexName) = get =<< url-  where url = addQuery q <$> joinPath ["_cluster","health",indexName]-        q = [("wait_for_status",Just "yellow"),("timeout",Just "10s")]--stringifyOCIndex :: OpenCloseIndex -> Text-stringifyOCIndex oci = case oci of-  OpenIndex  -> "_open"-  CloseIndex -> "_close"--openOrCloseIndexes :: MonadBH m => OpenCloseIndex -> IndexName -> m Reply-openOrCloseIndexes oci (IndexName indexName) =-  bindM2 post url (return Nothing)-  where ociString = stringifyOCIndex oci-        url = joinPath [indexName, ociString]---- | 'openIndex' opens an index given a 'Server' and an 'IndexName'. Explained in further detail at---   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>------ >>> reply <- runBH' $ openIndex testIndex-openIndex :: MonadBH m => IndexName -> m Reply-openIndex = openOrCloseIndexes OpenIndex---- | 'closeIndex' closes an index given a 'Server' and an 'IndexName'. Explained in further detail at---   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>------ >>> reply <- runBH' $ closeIndex testIndex-closeIndex :: MonadBH m => IndexName -> m Reply-closeIndex = openOrCloseIndexes CloseIndex---- | 'listIndices' returns a list of all index names on a given 'Server'-listIndices :: (MonadThrow m, MonadBH m) => m [IndexName]-listIndices =-  parse . responseBody =<< get =<< url-  where-    url = joinPath ["_cat/indices?v"]-    -- parses the tabular format the indices api provides-    parse body = case T.lines (T.decodeUtf8 (L.toStrict body)) of-      (hdr:rows) -> let ks = T.words hdr-                        keyedRows = [ HM.fromList (zip ks (T.words row)) | row <- rows ]-                        names = catMaybes (HM.lookup "index" <$> keyedRows)-                    in return (IndexName <$> names)-      [] -> throwM (EsProtocolException body)---- | 'updateIndexAliases' updates the server's index alias--- table. Operations are atomic. Explained in further detail at--- <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html>------ >>> let src = IndexName "a-real-index"--- >>> let aliasName = IndexName "an-alias"--- >>> let iAlias = IndexAlias src (IndexAliasName aliasName)--- >>> let aliasCreate = IndexAliasCreate Nothing Nothing--- >>> _ <- runBH' $ deleteIndex src--- >>> respIsTwoHunna <$> runBH' (createIndex defaultIndexSettings src)--- True--- >>> runBH' $ indexExists src--- True--- >>> respIsTwoHunna <$> runBH' (updateIndexAliases (AddAlias iAlias aliasCreate :| []))--- True--- >>> runBH' $ indexExists aliasName--- True-updateIndexAliases :: MonadBH m => NonEmpty IndexAliasAction -> m Reply-updateIndexAliases actions = bindM2 post url (return body)-  where url = joinPath ["_aliases"]-        body = Just (encode bodyJSON)-        bodyJSON = object [ "actions" .= toList actions]---- | Get all aliases configured on the server.-getIndexAliases :: (MonadBH m, MonadThrow m)-                => m (Either EsError IndexAliasesSummary)-getIndexAliases = parseEsResponse =<< get =<< url-  where url = joinPath ["_aliases"]---- | 'putTemplate' creates a template given an 'IndexTemplate' and a 'TemplateName'.---   Explained in further detail at---   <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-templates.html>------   >>> let idxTpl = IndexTemplate (TemplatePattern "tweet-*") (Just (IndexSettings (ShardCount 1) (ReplicaCount 1))) [toJSON TweetMapping]---   >>> resp <- runBH' $ putTemplate idxTpl (TemplateName "tweet-tpl")-putTemplate :: MonadBH m => IndexTemplate -> TemplateName -> m Reply-putTemplate indexTemplate (TemplateName templateName) =-  bindM2 put url (return body)-  where url = joinPath ["_template", templateName]-        body = Just $ encode indexTemplate---- | 'templateExists' checks to see if a template exists.------   >>> exists <- runBH' $ templateExists (TemplateName "tweet-tpl")-templateExists :: MonadBH m => TemplateName -> m Bool-templateExists (TemplateName templateName) = do-  (_, exists) <- existentialQuery =<< joinPath ["_template", templateName]-  return exists---- | 'deleteTemplate' is an HTTP DELETE and deletes a template.------   >>> let idxTpl = IndexTemplate (TemplatePattern "tweet-*") (Just (IndexSettings (ShardCount 1) (ReplicaCount 1))) [toJSON TweetMapping]---   >>> _ <- runBH' $ putTemplate idxTpl (TemplateName "tweet-tpl")---   >>> resp <- runBH' $ deleteTemplate (TemplateName "tweet-tpl")-deleteTemplate :: MonadBH m => TemplateName -> m Reply-deleteTemplate (TemplateName templateName) =-  delete =<< joinPath ["_template", templateName]---- | 'putMapping' is an HTTP PUT and has upsert semantics. Mappings are schemas--- for documents in indexes.------ >>> _ <- runBH' $ createIndex defaultIndexSettings testIndex--- >>> resp <- runBH' $ putMapping testIndex testMapping TweetMapping--- >>> print resp--- Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Content-Type","application/json; charset=UTF-8"),("Content-Length","21")], responseBody = "{\"acknowledged\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}-putMapping :: (MonadBH m, ToJSON a) => IndexName-                 -> MappingName -> a -> m Reply-putMapping (IndexName indexName) (MappingName mappingName) mapping =-  bindM2 put url (return body)-  where url = joinPath [indexName, "_mapping", mappingName]-        -- "_mapping" and mappingName above were originally transposed-        -- erroneously. The correct API call is: "/INDEX/_mapping/MAPPING_NAME"-        body = Just $ encode mapping---- | 'deleteMapping' is an HTTP DELETE and deletes a mapping for a given index.--- Mappings are schemas for documents in indexes.------ >>> _ <- runBH' $ createIndex defaultIndexSettings testIndex--- >>> _ <- runBH' $ putMapping testIndex testMapping TweetMapping--- >>> resp <- runBH' $ deleteMapping testIndex testMapping--- >>> print resp--- Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Content-Type","application/json; charset=UTF-8"),("Content-Length","21")], responseBody = "{\"acknowledged\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}-deleteMapping :: MonadBH m => IndexName -> MappingName -> m Reply-deleteMapping (IndexName indexName)-  (MappingName mappingName) =-  -- "_mapping" and mappingName below were originally transposed-  -- erroneously. The correct API call is: "/INDEX/_mapping/MAPPING_NAME"-  delete =<< joinPath [indexName, "_mapping", mappingName]--versionCtlParams :: IndexDocumentSettings -> [(Text, Maybe Text)]-versionCtlParams cfg =-  case idsVersionControl cfg of-    NoVersionControl -> []-    InternalVersion v -> versionParams v "internal"-    ExternalGT (ExternalDocVersion v) -> versionParams v "external_gt"-    ExternalGTE (ExternalDocVersion v) -> versionParams v "external_gte"-    ForceVersion (ExternalDocVersion v) -> versionParams v "force"-  where-    vt = showText . docVersionNumber-    versionParams v t = [ ("version", Just $ vt v)-                        , ("version_type", Just t)-                        ]---- | 'indexDocument' is the primary way to save a single document in---   Elasticsearch. The document itself is simply something we can---   convert into a JSON 'Value'. The 'DocId' will function as the---   primary key for the document.------ >>> resp <- runBH' $ indexDocument testIndex testMapping defaultIndexDocumentSettings exampleTweet (DocId "1")--- >>> print resp--- Response {responseStatus = Status {statusCode = 201, statusMessage = "Created"}, responseVersion = HTTP/1.1, responseHeaders = [("Content-Type","application/json; charset=UTF-8"),("Content-Length","74")], responseBody = "{\"_index\":\"twitter\",\"_type\":\"tweet\",\"_id\":\"1\",\"_version\":1,\"created\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}-indexDocument :: (ToJSON doc, MonadBH m) => IndexName -> MappingName-                 -> IndexDocumentSettings -> doc -> DocId -> m Reply-indexDocument (IndexName indexName)-  (MappingName mappingName) cfg document (DocId docId) =-  bindM2 put url (return body)-  where url = addQuery params <$> joinPath [indexName, mappingName, docId]-        parentParams = case idsParent cfg of-          Nothing -> []-          Just (DocumentParent (DocId p)) -> [ ("parent", Just p) ]-        params = versionCtlParams cfg ++ parentParams-        body = Just (encode document)---- | 'updateDocument' provides a way to perform an partial update of a--- an already indexed document.-updateDocument :: (ToJSON patch, MonadBH m) => IndexName -> MappingName-                  -> IndexDocumentSettings -> patch -> DocId -> m Reply-updateDocument (IndexName indexName)-  (MappingName mappingName) cfg patch (DocId docId) =-  bindM2 post url (return body)-  where url = addQuery (versionCtlParams cfg) <$>-              joinPath [indexName, mappingName, docId, "_update"]-        body = Just (encode $ object ["doc" .= toJSON patch])---- | 'deleteDocument' is the primary way to delete a single document.------ >>> _ <- runBH' $ deleteDocument testIndex testMapping (DocId "1")-deleteDocument :: MonadBH m => IndexName -> MappingName-                  -> DocId -> m Reply-deleteDocument (IndexName indexName)-  (MappingName mappingName) (DocId docId) =-  delete =<< joinPath [indexName, mappingName, docId]---- | 'bulk' uses---    <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html Elasticsearch's bulk API>---    to perform bulk operations. The 'BulkOperation' data type encodes the---    index\/update\/delete\/create operations. You pass a 'V.Vector' of 'BulkOperation's---    and a 'Server' to 'bulk' in order to send those operations up to your Elasticsearch---    server to be performed. I changed from [BulkOperation] to a Vector due to memory overhead.------ >>> let stream = V.fromList [BulkIndex testIndex testMapping (DocId "2") (toJSON (BulkTest "blah"))]--- >>> _ <- runBH' $ bulk stream--- >>> _ <- runBH' $ refreshIndex testIndex-bulk :: MonadBH m => V.Vector BulkOperation -> m Reply-bulk bulkOps = bindM2 post url (return body)-  where url = joinPath ["_bulk"]-        body = Just $ encodeBulkOperations bulkOps---- | 'encodeBulkOperations' is a convenience function for dumping a vector of 'BulkOperation'---   into an 'L.ByteString'------ >>> let bulkOps = V.fromList [BulkIndex testIndex testMapping (DocId "2") (toJSON (BulkTest "blah"))]--- >>> encodeBulkOperations bulkOps--- "\n{\"index\":{\"_type\":\"tweet\",\"_id\":\"2\",\"_index\":\"twitter\"}}\n{\"name\":\"blah\"}\n"-encodeBulkOperations :: V.Vector BulkOperation -> L.ByteString-encodeBulkOperations stream = collapsed where-  blobs = fmap encodeBulkOperation stream-  mashedTaters = mash (mempty :: Builder) blobs-  collapsed = toLazyByteString $ mappend mashedTaters (byteString "\n")--mash :: Builder -> V.Vector L.ByteString -> Builder-mash = V.foldl' (\b x -> b `mappend` (byteString "\n") `mappend` (lazyByteString x))--mkBulkStreamValue :: Text -> Text -> Text -> Text -> Value-mkBulkStreamValue operation indexName mappingName docId =-  object [operation .=-          object [ "_index" .= indexName-                 , "_type"  .= mappingName-                 , "_id"    .= docId]]---- | 'encodeBulkOperation' is a convenience function for dumping a single 'BulkOperation'---   into an 'L.ByteString'------ >>> let bulkOp = BulkIndex testIndex testMapping (DocId "2") (toJSON (BulkTest "blah"))--- >>> encodeBulkOperation bulkOp--- "{\"index\":{\"_type\":\"tweet\",\"_id\":\"2\",\"_index\":\"twitter\"}}\n{\"name\":\"blah\"}"-encodeBulkOperation :: BulkOperation -> L.ByteString-encodeBulkOperation (BulkIndex (IndexName indexName)-                (MappingName mappingName)-                (DocId docId) value) = blob-    where metadata = mkBulkStreamValue "index" indexName mappingName docId-          blob = encode metadata `mappend` "\n" `mappend` encode value--encodeBulkOperation (BulkCreate (IndexName indexName)-                (MappingName mappingName)-                (DocId docId) value) = blob-    where metadata = mkBulkStreamValue "create" indexName mappingName docId-          blob = encode metadata `mappend` "\n" `mappend` encode value--encodeBulkOperation (BulkDelete (IndexName indexName)-                (MappingName mappingName)-                (DocId docId)) = blob-    where metadata = mkBulkStreamValue "delete" indexName mappingName docId-          blob = encode metadata--encodeBulkOperation (BulkUpdate (IndexName indexName)-                (MappingName mappingName)-                (DocId docId) value) = blob-    where metadata = mkBulkStreamValue "update" indexName mappingName docId-          doc = object ["doc" .= value]-          blob = encode metadata `mappend` "\n" `mappend` encode doc---- | 'getDocument' is a straight-forward way to fetch a single document from---   Elasticsearch using a 'Server', 'IndexName', 'MappingName', and a 'DocId'.---   The 'DocId' is the primary key for your Elasticsearch document.------ >>> yourDoc <- runBH' $ getDocument testIndex testMapping (DocId "1")-getDocument :: MonadBH m => IndexName -> MappingName-               -> DocId -> m Reply-getDocument (IndexName indexName)-  (MappingName mappingName) (DocId docId) =-  get =<< joinPath [indexName, mappingName, docId]---- | 'documentExists' enables you to check if a document exists. Returns 'Bool'---   in IO------ >>> exists <- runBH' $ documentExists testIndex testMapping Nothing (DocId "1")-documentExists :: MonadBH m => IndexName -> MappingName-               -> Maybe DocumentParent -> DocId -> m Bool-documentExists (IndexName indexName) (MappingName mappingName)-               parent (DocId docId) = do-  (_, exists) <- existentialQuery =<< url-  return exists-  where url = addQuery params <$> joinPath [indexName, mappingName, docId]-        parentParam = fmap (\(DocumentParent (DocId p)) -> p) parent-        params = LS.filter (\(_, v) -> isJust v) [("parent", parentParam)]--dispatchSearch :: MonadBH m => Text -> Search -> m Reply-dispatchSearch url search = post url' (Just (encode search))-  where url' = appendSearchTypeParam url (searchType search)---- | 'searchAll', given a 'Search', will perform that search against all indexes---   on an Elasticsearch server. Try to avoid doing this if it can be helped.------ >>> let query = TermQuery (Term "user" "bitemyapp") Nothing--- >>> let search = mkSearch (Just query) Nothing--- >>> reply <- runBH' $ searchAll search-searchAll :: MonadBH m => Search -> m Reply-searchAll = bindM2 dispatchSearch url . return-  where url = joinPath ["_search"]---- | 'searchByIndex', given a 'Search' and an 'IndexName', will perform that search---   against all mappings within an index on an Elasticsearch server.------ >>> let query = TermQuery (Term "user" "bitemyapp") Nothing--- >>> let search = mkSearch (Just query) Nothing--- >>> reply <- runBH' $ searchByIndex testIndex search-searchByIndex :: MonadBH m => IndexName -> Search -> m Reply-searchByIndex (IndexName indexName) = bindM2 dispatchSearch url . return-  where url = joinPath [indexName, "_search"]---- | 'searchByType', given a 'Search', 'IndexName', and 'MappingName', will perform that---   search against a specific mapping within an index on an Elasticsearch server.------ >>> let query = TermQuery (Term "user" "bitemyapp") Nothing--- >>> let search = mkSearch (Just query) Nothing--- >>> reply <- runBH' $ searchByType testIndex testMapping search-searchByType :: MonadBH m => IndexName -> MappingName -> Search-                -> m Reply-searchByType (IndexName indexName)-  (MappingName mappingName) = bindM2 dispatchSearch url . return-  where url = joinPath [indexName, mappingName, "_search"]---- | For a given scearch, request a scroll for efficient streaming of--- search results. Note that the search is put into 'SearchTypeScan'--- mode and thus results will not be sorted. Combine this with--- 'advanceScroll' to efficiently stream through the full result set-getInitialScroll :: MonadBH m => IndexName -> MappingName -> Search -> m (Maybe ScrollId)-getInitialScroll (IndexName indexName) (MappingName mappingName) search = do-    let url = joinPath [indexName, mappingName, "_search"]-        search' = search { searchType = SearchTypeScan }-    resp' <- bindM2 dispatchSearch url (return search')-    let msr = decode' $ responseBody resp' :: Maybe (SearchResult ())-        msid = maybe Nothing scrollId msr-    return msid--scroll' :: (FromJSON a, MonadBH m, MonadThrow m) => Maybe ScrollId -> m ([Hit a], Maybe ScrollId)-scroll' Nothing = return ([], Nothing)-scroll' (Just sid) = do-    res <- advanceScroll sid 60-    case res of-      Right SearchResult {..} -> return (hits searchHits, scrollId)-      Left _ -> return ([], Nothing)---- | Use the given scroll to fetch the next page of documents. If there are no--- further pages, 'SearchResult.searchHits.hits' will be '[]'.-advanceScroll-  :: ( FromJSON a-     , MonadBH m-     , MonadThrow m-     )-  => ScrollId-  -> NominalDiffTime-  -- ^ How long should the snapshot of data be kept around? This timeout is updated every time 'advanceScroll' is used, so don't feel the need to set it to the entire duration of your search processing. Note that durations < 1s will be rounded up. Also note that 'NominalDiffTime' is an instance of Num so literals like 60 will be interpreted as seconds. 60s is a reasonable default.-  -> m (Either EsError (SearchResult a))-advanceScroll (ScrollId sid) scroll = do-  url <- joinPath ["_search/scroll?scroll=" <> scrollTime]-  parseEsResponse =<< post url (Just . L.fromStrict $ T.encodeUtf8 sid)-  where scrollTime = showText secs <> "s"-        secs :: Integer-        secs = round scroll--simpleAccumulator :: (FromJSON a, MonadBH m, MonadThrow m) => [Hit a] -> ([Hit a], Maybe ScrollId) -> m ([Hit a], Maybe ScrollId)-simpleAccumulator oldHits (newHits, Nothing) = return (oldHits ++ newHits, Nothing)-simpleAccumulator oldHits ([], _) = return (oldHits, Nothing)-simpleAccumulator oldHits (newHits, msid) = do-    (newHits', msid') <- scroll' msid-    simpleAccumulator (oldHits ++ newHits) (newHits', msid')---- | 'scanSearch' uses the 'scan&scroll' API of elastic,--- for a given 'IndexName' and 'MappingName'. Note that this will--- consume the entire search result set and will be doing O(n) list--- appends so this may not be suitable for large result sets. In that--- case, 'getInitialScroll' and 'advanceScroll' are good low level--- tools. You should be able to hook them up trivially to conduit,--- pipes, or your favorite streaming IO abstraction of choice. Note--- that ordering on the search would destroy performance and thus is--- ignored.-scanSearch :: (FromJSON a, MonadBH m, MonadThrow m) => IndexName -> MappingName -> Search -> m [Hit a]-scanSearch indexName mappingName search = do-    msid <- getInitialScroll indexName mappingName search-    (hits, msid') <- scroll' msid-    (totalHits, _) <- simpleAccumulator [] (hits, msid')-    return totalHits---- | 'mkSearch' is a helper function for defaulting additional fields of a 'Search'---   to Nothing in case you only care about your 'Query' and 'Filter'. Use record update---   syntax if you want to add things like aggregations or highlights while still using---   this helper function.------ >>> let query = TermQuery (Term "user" "bitemyapp") Nothing--- >>> mkSearch (Just query) Nothing--- Search {queryBody = Just (TermQuery (Term {termField = "user", termValue = "bitemyapp"}) Nothing), filterBody = Nothing, sortBody = Nothing, aggBody = Nothing, highlight = Nothing, trackSortScores = False, from = From 0, size = Size 10, searchType = SearchTypeQueryThenFetch, fields = Nothing, source = Nothing}-mkSearch :: Maybe Query -> Maybe Filter -> Search-mkSearch query filter = Search query filter Nothing Nothing Nothing False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing---- | 'mkAggregateSearch' is a helper function that defaults everything in a 'Search' except for---   the 'Query' and the 'Aggregation'.------ >>> let terms = TermsAgg $ (mkTermsAggregation "user") { termCollectMode = Just BreadthFirst }--- >>> terms--- TermsAgg (TermsAggregation {term = Left "user", termInclude = Nothing, termExclude = Nothing, termOrder = Nothing, termMinDocCount = Nothing, termSize = Nothing, termShardSize = Nothing, termCollectMode = Just BreadthFirst, termExecutionHint = Nothing, termAggs = Nothing})--- >>> let myAggregation = mkAggregateSearch Nothing $ mkAggregations "users" terms-mkAggregateSearch :: Maybe Query -> Aggregations -> Search-mkAggregateSearch query mkSearchAggs = Search query Nothing Nothing (Just mkSearchAggs) Nothing False (From 0) (Size 0) SearchTypeQueryThenFetch Nothing Nothing---- | 'mkHighlightSearch' is a helper function that defaults everything in a 'Search' except for---   the 'Query' and the 'Aggregation'.------ >>> let query = QueryMatchQuery $ mkMatchQuery (FieldName "_all") (QueryString "haskell")--- >>> let testHighlight = Highlights Nothing [FieldHighlight (FieldName "message") Nothing]--- >>> let search = mkHighlightSearch (Just query) testHighlight-mkHighlightSearch :: Maybe Query -> Highlights -> Search-mkHighlightSearch query searchHighlights = Search query Nothing Nothing Nothing (Just searchHighlights) False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing---- | 'pageSearch' is a helper function that takes a search and assigns the from---    and size fields for the search. The from parameter defines the offset---    from the first result you want to fetch. The size parameter allows you to---    configure the maximum amount of hits to be returned.------ >>> let query = QueryMatchQuery $ mkMatchQuery (FieldName "_all") (QueryString "haskell")--- >>> let search = mkSearch (Just query) Nothing--- >>> search--- Search {queryBody = Just (QueryMatchQuery (MatchQuery {matchQueryField = FieldName "_all", matchQueryQueryString = QueryString "haskell", matchQueryOperator = Or, matchQueryZeroTerms = ZeroTermsNone, matchQueryCutoffFrequency = Nothing, matchQueryMatchType = Nothing, matchQueryAnalyzer = Nothing, matchQueryMaxExpansions = Nothing, matchQueryLenient = Nothing, matchQueryBoost = Nothing})), filterBody = Nothing, sortBody = Nothing, aggBody = Nothing, highlight = Nothing, trackSortScores = False, from = From 0, size = Size 10, searchType = SearchTypeQueryThenFetch, fields = Nothing, source = Nothing}--- >>> pageSearch (From 10) (Size 100) search--- Search {queryBody = Just (QueryMatchQuery (MatchQuery {matchQueryField = FieldName "_all", matchQueryQueryString = QueryString "haskell", matchQueryOperator = Or, matchQueryZeroTerms = ZeroTermsNone, matchQueryCutoffFrequency = Nothing, matchQueryMatchType = Nothing, matchQueryAnalyzer = Nothing, matchQueryMaxExpansions = Nothing, matchQueryLenient = Nothing, matchQueryBoost = Nothing})), filterBody = Nothing, sortBody = Nothing, aggBody = Nothing, highlight = Nothing, trackSortScores = False, from = From 10, size = Size 100, searchType = SearchTypeQueryThenFetch, fields = Nothing, source = Nothing}-pageSearch :: From     -- ^ The result offset-           -> Size     -- ^ The number of results to return-           -> Search  -- ^ The current seach-           -> Search  -- ^ The paged search-pageSearch resultOffset pageSize search = search { from = resultOffset, size = pageSize }--parseUrl' :: MonadThrow m => Text -> m Request-parseUrl' t = parseRequest (URI.escapeURIString URI.isAllowedInURI (T.unpack t))---- | Was there an optimistic concurrency control conflict when--- indexing a document?-isVersionConflict :: Reply -> Bool-isVersionConflict = statusCheck (== 409)--isSuccess :: Reply -> Bool-isSuccess = statusCheck (inRange (200, 299))--isCreated :: Reply -> Bool-isCreated = statusCheck (== 201)--statusCheck :: (Int -> Bool) -> Reply -> Bool-statusCheck prd = prd . NHTS.statusCode . responseStatus---- | This is a hook that can be set via the 'bhRequestHook' function--- that will authenticate all requests using an HTTP Basic--- Authentication header. Note that it is *strongly* recommended that--- this option only be used over an SSL connection.------ >> (mkBHEnv myServer myManager) { bhRequestHook = basicAuthHook (EsUsername "myuser") (EsPassword "mypass") }-basicAuthHook :: Monad m => EsUsername -> EsPassword -> Request -> m Request-basicAuthHook (EsUsername u) (EsPassword p) = return . applyBasicAuth u' p'-  where u' = T.encodeUtf8 u-        p' = T.encodeUtf8 p---boolQP :: Bool -> Text-boolQP True  = "true"-boolQP False = "false"
− src/Database/Bloodhound/Types.hs
@@ -1,5222 +0,0 @@-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleContexts           #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE MultiParamTypeClasses      #-}--- {-# LANGUAGE NoMonomorphismRestriction  #-}-{-# LANGUAGE NamedFieldPuns             #-}-{-# LANGUAGE OverloadedStrings          #-}-{-# LANGUAGE RecordWildCards            #-}-{-# LANGUAGE UndecidableInstances       #-}------------------------------------------------------------------------------------ |--- Module : Database.Bloodhound.Types--- 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------ 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.------------------------------------------------------------------------------------module Database.Bloodhound.Types-       ( defaultCache-       , defaultIndexSettings-       , defaultIndexDocumentSettings-       , mkSort-       , showText-       , unpackId-       , mkMatchQuery-       , mkMultiMatchQuery-       , mkBoolQuery-       , mkRangeQuery-       , mkQueryStringQuery-       , mkAggregations-       , mkTermsAggregation-       , mkTermsScriptAggregation-       , mkDateHistogram-       , mkCardinalityAggregation-       , mkDocVersion-       , docVersionNumber-       , toMissing-       , toTerms-       , toDateHistogram-       , omitNulls-       , BH(..)-       , runBH-       , BHEnv-       , bhServer-       , bhManager-       , bhRequestHook-       , mkBHEnv-       , MonadBH(..)-       , Version(..)-       , VersionNumber(..)-       , MaybeNA(..)-       , BuildHash(..)-       , Status(..)-       , Existence(..)-       , NullValue(..)-       , IndexSettings(..)-       , UpdatableIndexSetting(..)-       , IndexSettingsSummary(..)-       , AllocationPolicy(..)-       , ReplicaBounds(..)-       , Bytes(..)-       , gigabytes-       , megabytes-       , kilobytes-       , FSType(..)-       , InitialShardCount(..)-       , NodeAttrFilter(..)-       , NodeAttrName(..)-       , CompoundFormat(..)-       , IndexTemplate(..)-       , Server(..)-       , Reply-       , EsResult(..)-       , EsResultFound(..)-       , EsError(..)-       , EsProtocolException(..)-       , IndexAlias(..)-       , IndexAliasName(..)-       , IndexAliasAction(..)-       , IndexAliasCreate(..)-       , IndexAliasSummary(..)-       , IndexAliasesSummary(..)-       , AliasRouting(..)-       , SearchAliasRouting(..)-       , IndexAliasRouting(..)-       , RoutingValue(..)-       , DocVersion-       , ExternalDocVersion(..)-       , VersionControl(..)-       , DocumentParent(..)-       , IndexDocumentSettings(..)-       , Query(..)-       , Search(..)-       , SearchType(..)-       , SearchResult(..)-       , ScrollId(..)-       , SearchHits(..)-       , TrackSortScores-       , From(..)-       , Size(..)-       , Source(..)-       , PatternOrPatterns(..)-       , Include(..)-       , Exclude(..)-       , Pattern(..)-       , ShardResult(..)-       , Hit(..)-       , Filter(..)-       , Seminearring(..)-       , BoolMatch(..)-       , Term(..)-       , GeoPoint(..)-       , GeoBoundingBoxConstraint(..)-       , GeoBoundingBox(..)-       , GeoFilterType(..)-       , Distance(..)-       , DistanceUnit(..)-       , DistanceType(..)-       , DistanceRange(..)-       , OptimizeBbox(..)-       , LatLon(..)-       , RangeValue(..)-       , RangeExecution(..)-       , LessThan(..)-       , LessThanEq(..)-       , GreaterThan(..)-       , GreaterThanEq(..)-       , LessThanD(..)-       , LessThanEqD(..)-       , GreaterThanD(..)-       , GreaterThanEqD(..)-       , Regexp(..)-       , RegexpFlags(..)-       , RegexpFlag(..)-       , FieldName(..)-       , Script(..)-       , IndexName(..)-       , IndexSelection(..)-       , NodeSelection(..)-       , NodeSelector(..)-       , IndexOptimizationSettings(..)-       , defaultIndexOptimizationSettings-       , TemplateName(..)-       , TemplatePattern(..)-       , MappingName(..)-       , DocId(..)-       , CacheName(..)-       , CacheKey(..)-       , BulkOperation(..)-       , ReplicaCount(..)-       , ShardCount(..)-       , Sort-       , SortMode(..)-       , SortOrder(..)-       , SortSpec(..)-       , DefaultSort(..)-       , Missing(..)-       , OpenCloseIndex(..)-       , Method-       , Boost(..)-       , MatchQuery(..)-       , MultiMatchQuery(..)-       , BoolQuery(..)-       , BoostingQuery(..)-       , CommonTermsQuery(..)-       , DisMaxQuery(..)-       , FilteredQuery(..)-       , FuzzyLikeThisQuery(..)-       , FuzzyLikeFieldQuery(..)-       , FuzzyQuery(..)-       , HasChildQuery(..)-       , HasParentQuery(..)-       , IndicesQuery(..)-       , MoreLikeThisQuery(..)-       , MoreLikeThisFieldQuery(..)-       , NestedQuery(..)-       , PrefixQuery(..)-       , QueryStringQuery(..)-       , SimpleQueryStringQuery(..)-       , RangeQuery(..)-       , RegexpQuery(..)-       , QueryString(..)-       , BooleanOperator(..)-       , ZeroTermsQuery(..)-       , CutoffFrequency(..)-       , Analyzer(..)-       , MaxExpansions(..)-       , Lenient(..)-       , MatchQueryType(..)-       , MultiMatchQueryType(..)-       , Tiebreaker(..)-       , MinimumMatch(..)-       , DisableCoord(..)-       , CommonMinimumMatch(..)-       , MinimumMatchHighLow(..)-       , PrefixLength(..)-       , Fuzziness(..)-       , IgnoreTermFrequency(..)-       , MaxQueryTerms(..)-       , ScoreType(..)-       , Score-       , Cache-       , TypeName(..)-       , BoostTerms(..)-       , MaxWordLength(..)-       , MinWordLength(..)-       , MaxDocFrequency(..)-       , MinDocFrequency(..)-       , PhraseSlop(..)-       , StopWord(..)-       , QueryPath(..)-       , MinimumTermFrequency(..)-       , PercentMatch(..)-       , FieldDefinition(..)-       , MappingField(..)-       , Mapping(..)-       , AllowLeadingWildcard(..)-       , LowercaseExpanded(..)-       , GeneratePhraseQueries(..)-       , Locale(..)-       , AnalyzeWildcard(..)-       , EnablePositionIncrements(..)-       , SimpleQueryFlag(..)-       , FieldOrFields(..)-       , Monoid(..)-       , ToJSON(..)-       , Interval(..)-       , TimeInterval(..)-       , ExecutionHint(..)-       , CollectionMode(..)-       , TermOrder(..)-       , TermInclusion(..)-       , SnapshotRepoSelection(..)-       , GenericSnapshotRepo(..)-       , SnapshotRepo(..)-       , SnapshotRepoConversionError(..)-       , SnapshotRepoType(..)-       , GenericSnapshotRepoSettings(..)-       , SnapshotRepoUpdateSettings(..)-       , defaultSnapshotRepoUpdateSettings-       , SnapshotRepoName(..)-       , SnapshotRepoPattern(..)-       , SnapshotVerification(..)-       , SnapshotNodeVerification(..)-       , FullNodeId(..)-       , NodeName(..)-       , ClusterName(..)-       , NodesInfo(..)-       , NodesStats(..)-       , NodeStats(..)-       , NodeBreakersStats(..)-       , NodeBreakerStats(..)-       , NodeHTTPStats(..)-       , NodeTransportStats(..)-       , NodeFSStats(..)-       , NodeDataPathStats(..)-       , NodeFSTotalStats(..)-       , NodeNetworkStats(..)-       , NodeThreadPoolsStats(..)-       , NodeThreadPoolStats(..)-       , NodeJVMStats(..)-       , JVMBufferPoolStats(..)-       , JVMGCStats(..)-       , JVMPoolStats(..)-       , NodeProcessStats(..)-       , NodeOSStats(..)-       , LoadAvgs(..)-       , NodeIndicesStats(..)-       , EsAddress(..)-       , PluginName(..)-       , NodeInfo(..)-       , NodePluginInfo(..)-       , NodeHTTPInfo(..)-       , NodeTransportInfo(..)-       , BoundTransportAddress(..)-       , NodeNetworkInfo(..)-       , MacAddress(..)-       , NetworkInterfaceName(..)-       , NodeNetworkInterface(..)-       , NodeThreadPoolsInfo(..)-       , NodeThreadPoolInfo(..)-       , ThreadPoolSize(..)-       , ThreadPoolType(..)-       , NodeJVMInfo(..)-       , JVMMemoryPool(..)-       , JVMGCCollector(..)-       , JVMMemoryInfo(..)-       , PID(..)-       , NodeOSInfo(..)-       , CPUInfo(..)-       , NodeProcessInfo(..)-       , FsSnapshotRepo(..)-       , SnapshotCreateSettings(..)-       , defaultSnapshotCreateSettings-       , SnapshotSelection(..)-       , SnapshotPattern(..)-       , SnapshotInfo(..)-       , SnapshotShardFailure(..)-       , ShardId(..)-       , SnapshotName(..)-       , SnapshotState(..)-       , SnapshotRestoreSettings(..)-       , defaultSnapshotRestoreSettings-       , RestoreRenamePattern(..)-       , RestoreRenameToken(..)-       , RRGroupRefNum-       , rrGroupRefNum-       , mkRRGroupRefNum-       , RestoreIndexSettings(..)--       , Aggregation(..)-       , Aggregations-       , AggregationResults-       , BucketValue(..)-       , Bucket(..)-       , BucketAggregation(..)-       , TermsAggregation(..)-       , MissingAggregation(..)-       , ValueCountAggregation(..)-       , FilterAggregation(..)-       , CardinalityAggregation(..)-       , DateHistogramAggregation(..)-       , DateRangeAggregation(..)-       , DateRangeAggRange(..)-       , DateMathExpr(..)-       , DateMathAnchor(..)-       , DateMathModifier(..)-       , DateMathUnit(..)--       , Highlights(..)-       , FieldHighlight(..)-       , HighlightSettings(..)-       , PlainHighlight(..)-       , PostingsHighlight(..)-       , FastVectorHighlight(..)-       , CommonHighlight(..)-       , NonPostings(..)-       , HighlightEncoder(..)-       , HighlightTag(..)-       , HitHighlight--       , MissingResult(..)-       , TermsResult(..)-       , DateHistogramResult(..)-       , DateRangeResult(..)--       , EsUsername(..)-       , EsPassword(..)-         ) where--import           Control.Applicative                as A-import           Control.Arrow                      (first)-import           Control.Monad.Catch-import           Control.Monad.Except-import           Control.Monad.Reader-import           Control.Monad.State-import           Control.Monad.Writer-import           Data.Aeson-import           Data.Aeson.Types                   (Pair, Parser, emptyObject,-                                                     parseEither, parseMaybe)-import qualified Data.ByteString.Lazy.Char8         as L-import           Data.Char-import           Data.Hashable                      (Hashable)-import qualified Data.HashMap.Strict                as HM-import           Data.List                          (foldl', intercalate, nub)-import           Data.List.NonEmpty                 (NonEmpty (..), toList)-import qualified Data.Map.Strict                    as M-import           Data.Maybe-import           Data.Scientific                    (Scientific)-import           Data.Text                          (Text)-import qualified Data.Text                          as T-import           Data.Time.Calendar-import           Data.Time.Clock                    (NominalDiffTime, UTCTime)-import           Data.Time.Clock.POSIX-import qualified Data.Traversable                   as DT-import           Data.Typeable                      (Typeable)-import qualified Data.Vector                        as V-import qualified Data.Version                       as Vers-import           GHC.Enum-import           GHC.Generics                       (Generic)-import           Network.HTTP.Client-import qualified Network.HTTP.Types.Method          as NHTM-import qualified Text.ParserCombinators.ReadP       as RP-import qualified Text.Read                          as TR--import           Database.Bloodhound.Types.Class-import           Database.Bloodhound.Types.Internal---- $setup--- >>> :set -XOverloadedStrings--- >>> import Data.Aeson--- >>> import Database.Bloodhound--- >>> let testServer = (Server "http://localhost:9200")--- >>> let testIndex = IndexName "twitter"--- >>> let testMapping = MappingName "tweet"--- >>> let defaultIndexSettings = IndexSettings (ShardCount 3) (ReplicaCount 2)---- defaultIndexSettings is exported by Database.Bloodhound as well--- no trailing slashes in servers, library handles building the path.---- | 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 }-mkBHEnv :: Server -> Manager -> BHEnv-mkBHEnv s m = BHEnv s m return--newtype BH m a = BH {-      unBH :: ReaderT BHEnv m a-    } deriving ( Functor-               , A.Applicative-               , Monad-               , MonadIO-               , MonadState s-               , MonadWriter w-               , MonadError e-               , Alternative-               , MonadPlus-               , MonadFix-               , MonadThrow-               , MonadCatch-               , MonadMask)--instance MonadTrans BH where-  lift = BH . lift--instance (MonadReader r m) => MonadReader r (BH m) where-    ask = lift ask-    local f (BH (ReaderT m)) = BH $ ReaderT $ \r ->-      local f (m r)--instance (Functor m, Applicative m, MonadIO m) => MonadBH (BH m) where-  getBHEnv = BH getBHEnv--runBH :: BHEnv -> BH m a -> m a-runBH e f = runReaderT (unBH f) e--{-| 'Version' is embedded in 'Status' -}-data Version = Version { number          :: VersionNumber-                       , build_hash      :: BuildHash-                       , build_timestamp :: UTCTime-                       , build_snapshot  :: Bool-                       , lucene_version  :: VersionNumber } deriving (Eq, Read, Show, Generic, Typeable)---- | Traditional software versioning number-newtype VersionNumber = VersionNumber { versionNumber :: Vers.Version-                                      } deriving (Eq, Read, Show, Generic, Typeable, Ord)--{-| '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.--   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-status.html#indices-status>--}--data Status = Status { ok      :: Maybe Bool-                     , status  :: Int-                     , name    :: Text-                     , version :: Version-                     , tagline :: Text } deriving (Eq, Read, Show, Generic)--{-| '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 IndexSettings =-  IndexSettings { indexShards   :: ShardCount-                , indexReplicas :: ReplicaCount } deriving (Eq, Read, Show, Generic, Typeable)--{-| 'defaultIndexSettings' is an 'IndexSettings' with 3 shards and 2 replicas. -}-defaultIndexSettings :: IndexSettings-defaultIndexSettings =  IndexSettings (ShardCount 3) (ReplicaCount 2)---{-| 'IndexOptimizationSettings' is used to configure index optimization. See-    <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-optimize.html>-    for more info.--}-data IndexOptimizationSettings =-  IndexOptimizationSettings { maxNumSegments     :: Maybe Int-                            -- ^ Number of segments to optimize to. 1 will fully optimize the index. If omitted, the default behavior is to only optimize if the server deems it necessary.-                            , onlyExpungeDeletes :: Bool-                            -- ^ Should the optimize process only expunge segments with deletes in them? If the purpose of the optimization is to free disk space, this should be set to True.-                            , flushAfterOptimize :: Bool-                            -- ^ Should a flush be performed after the optimize.-                            } deriving (Eq, Show, Generic, Typeable)---{-| 'defaultIndexOptimizationSettings' implements the default settings that-    ElasticSearch uses for index optimization. 'maxNumSegments' is Nothing,-    'onlyExpungeDeletes' is False, and flushAfterOptimize is True.--}-defaultIndexOptimizationSettings :: IndexOptimizationSettings-defaultIndexOptimizationSettings = IndexOptimizationSettings Nothing False True--{-| '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>--}-data UpdatableIndexSetting = 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-                           deriving (Eq, Show, Generic, Typeable)--data AllocationPolicy = 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-                      deriving (Eq, Read, Show, Generic, Typeable)--data ReplicaBounds = ReplicasBounded Int Int-                   | ReplicasLowerBounded Int-                   | ReplicasUnbounded-                   deriving (Eq, Read, Show, Generic, Typeable)---- | 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-newtype Bytes = Bytes Int deriving (Eq, Read, Show, Generic, Typeable, Ord, ToJSON, FromJSON)--gigabytes :: Int -> Bytes-gigabytes n = megabytes (1000 * n)---megabytes :: Int -> Bytes-megabytes n = kilobytes (1000 * n)---kilobytes :: Int -> Bytes-kilobytes n = Bytes (1000 * n)---data FSType = FSSimple-            | FSBuffered deriving (Eq, Read, Show, Generic, Typeable, Ord)--data InitialShardCount = QuorumShards-                       | QuorumMinus1Shards-                       | FullShards-                       | FullMinus1Shards-                       | ExplicitShards Int-                       deriving (Eq, Read, Show, Generic, Typeable)--data NodeAttrFilter = NodeAttrFilter { nodeAttrFilterName   :: NodeAttrName-                                     , nodeAttrFilterValues :: NonEmpty Text}-                                     deriving (Eq, Read, Show, Generic, Ord, Typeable)--newtype NodeAttrName = NodeAttrName Text deriving (Eq, Read, Show, Ord, Generic, Typeable)--data CompoundFormat = CompoundFileFormat Bool-                    | MergeSegmentVsTotalIndex Double-                    -- ^ percentage between 0 and 1 where 0 is false, 1 is true-                    deriving (Eq, Read, Show, Generic, Typeable)--newtype NominalDiffTimeJSON = NominalDiffTimeJSON { ndtJSON ::  NominalDiffTime }--data IndexSettingsSummary = IndexSettingsSummary { sSummaryIndexName     :: IndexName-                                                 , sSummaryFixedSettings :: IndexSettings-                                                 , sSummaryUpdateable    :: [UpdatableIndexSetting]}-                                                 deriving (Eq, Show, Generic, Typeable)--{-| 'Reply' and 'Method' are type synonyms from 'Network.HTTP.Types.Method.Method' -}-type Reply = Network.HTTP.Client.Response L.ByteString-type Method = NHTM.Method--{-| 'OpenCloseIndex' is a sum type for opening and closing indices.--   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>--}-data OpenCloseIndex = OpenIndex | CloseIndex deriving (Eq, Read, Show, Generic, Typeable)--data FieldType = GeoPointType-               | GeoShapeType-               | FloatType-               | IntegerType-               | LongType-               | ShortType-               | ByteType deriving (Eq, Read, Show, Generic, Typeable)--data FieldDefinition =-  FieldDefinition { fieldType :: FieldType } deriving (Eq, Read, Show, Generic, Typeable)--{-| 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--}-data IndexTemplate =-  IndexTemplate { templatePattern  :: TemplatePattern-                , templateSettings :: Maybe IndexSettings-                , templateMappings :: [Value]-                }--data MappingField =-  MappingField   { mappingFieldName :: FieldName-                 , fieldDefinition  :: FieldDefinition } deriving (Eq, Read, Show, Generic, Typeable)--{-| 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.--}-data Mapping = Mapping { typeName      :: TypeName-                       , mappingFields :: [MappingField] } deriving (Eq, Read, Show, Generic, Typeable)--{-| '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>--}-data BulkOperation =-    BulkIndex  IndexName MappingName DocId Value-  | BulkCreate IndexName MappingName DocId Value-  | BulkDelete IndexName MappingName DocId-  | BulkUpdate IndexName MappingName DocId Value deriving (Eq, Read, Show, Generic, Typeable)--{-| 'EsResult' describes the standard wrapper JSON document that you see in-    successful Elasticsearch lookups or lookups that couldn't find the document.--}-data EsResult a = EsResult { _index      :: Text-                           , _type       :: Text-                           , _id         :: Text-                           , foundResult :: Maybe (EsResultFound a)} deriving (Eq, Read, Show, Generic, Typeable)--{-| 'EsResultFound' contains the document and its metadata inside of an-    'EsResult' when the document was successfully found.--}-data EsResultFound a = EsResultFound {  _version :: DocVersion-                                     , _source   :: a } deriving (Eq, Read, Show, Generic, Typeable)--{-| '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.--}-data EsError = EsError { errorStatus  :: Int-                       , errorMessage :: Text } deriving (Eq, Read, Show, Generic, Typeable)--{-| '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.--}-data EsProtocolException = EsProtocolException { esProtoExBody :: L.ByteString }-                                               deriving (Eq, Read, Show, Generic, Typeable)--instance Exception EsProtocolException--data IndexAlias = IndexAlias { srcIndex   :: IndexName-                             , indexAlias :: IndexAliasName } deriving (Eq, Read, Show, Generic, Typeable)--newtype IndexAliasName = IndexAliasName { indexAliasName :: IndexName } deriving (Eq, Read, Show, Generic, ToJSON)--data IndexAliasAction = AddAlias IndexAlias IndexAliasCreate-                      | RemoveAlias IndexAlias deriving (Read, Show, Eq, Generic, Typeable)--data IndexAliasCreate = IndexAliasCreate { aliasCreateRouting :: Maybe AliasRouting-                                         , aliasCreateFilter  :: Maybe Filter}-                                         deriving (Read, Show, Eq, Generic, Typeable)--data AliasRouting = AllAliasRouting RoutingValue-                  | GranularAliasRouting (Maybe SearchAliasRouting) (Maybe IndexAliasRouting)-                  deriving (Read, Show, Eq, Generic, Typeable)--newtype SearchAliasRouting = SearchAliasRouting (NonEmpty RoutingValue) deriving (Read, Show, Eq, Generic, Typeable)--newtype IndexAliasRouting = IndexAliasRouting RoutingValue deriving (Read, Show, Eq, Generic, ToJSON, FromJSON, Typeable)--newtype RoutingValue = RoutingValue { routingValue :: Text } deriving (Read, Show, Eq, Generic, ToJSON, FromJSON, Typeable)--newtype IndexAliasesSummary = IndexAliasesSummary { indexAliasesSummary :: [IndexAliasSummary] } deriving (Read, Show, Eq, Generic, Typeable)--{-| 'IndexAliasSummary' is a summary of an index alias configured for a server. -}-data IndexAliasSummary = IndexAliasSummary { indexAliasSummaryAlias  :: IndexAlias-                                           , indexAliasSummaryCreate :: IndexAliasCreate} deriving (Read, Show, Eq, Generic, Typeable)--{-| 'DocVersion' is an integer version number for a document between 1-and 9.2e+18 used for <<https://www.elastic.co/guide/en/elasticsearch/guide/current/optimistic-concurrency-control.html optimistic concurrency control>>.--}-newtype DocVersion = DocVersion {-      docVersionNumber :: Int-    } deriving (Eq, Read, Show, Generic, Ord, ToJSON)---- | Smart constructor for in-range doc version-mkDocVersion :: Int -> Maybe DocVersion-mkDocVersion i-  | i >= (docVersionNumber minBound) && i <= (docVersionNumber maxBound) =-    Just $ DocVersion i-  | otherwise = Nothing---{-| 'ExternalDocVersion' is a convenience wrapper if your code uses its-own version numbers instead of ones from ES.--}-newtype ExternalDocVersion = ExternalDocVersion DocVersion-    deriving (Eq, Read, Show, Generic, Ord, Bounded, Enum, ToJSON)--{-| 'VersionControl' is specified when indexing documents as a-optimistic concurrency control.--}-data VersionControl = 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.-                    deriving (Read, Show, Eq, Generic, Ord)--{-| 'DocumentParent' is used to specify a parent document.--}-newtype DocumentParent = DocumentParent DocId-  deriving (Eq, Read, Show, Generic, Typeable)--{-| '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'--}-data IndexDocumentSettings =-  IndexDocumentSettings { idsVersionControl :: VersionControl-                        , idsParent         :: Maybe DocumentParent-                        } deriving (Eq, Read, Show, Generic, Typeable)--{-| Reasonable default settings. Chooses no version control and no parent.--}-defaultIndexDocumentSettings :: IndexDocumentSettings-defaultIndexDocumentSettings = IndexDocumentSettings NoVersionControl Nothing--{-| 'Sort' is a synonym for a list of 'SortSpec's. Sort behavior is order-    dependent with later sorts acting as tie-breakers for earlier sorts.--}-type Sort = [SortSpec]--{-| 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.--<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>--}-data SortSpec = DefaultSortSpec DefaultSort-              | GeoDistanceSortSpec SortOrder GeoPoint DistanceUnit deriving (Eq, Read, Show, Generic, Typeable)--{-| '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.--<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>--}-data DefaultSort =-  DefaultSort { sortFieldName  :: FieldName-              , sortOrder      :: SortOrder-                                  -- default False-              , ignoreUnmapped :: Bool-              , sortMode       :: Maybe SortMode-              , missingSort    :: Maybe Missing-              , nestedFilter   :: Maybe Filter } deriving (Eq, Read, Show, Generic, Typeable)--{-| 'SortOrder' is 'Ascending' or 'Descending', as you might expect. These get-    encoded into "asc" or "desc" when turned into JSON.--<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>--}-data SortOrder = Ascending-               | Descending deriving (Eq, Read, Show, Generic, Typeable)--{-| 'Missing' prescribes how to handle missing fields. A missing field can be-    sorted last, first, or using a custom value as a substitute.--<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#_missing_values>--}-data Missing = LastMissing-             | FirstMissing-             | CustomMissing Text deriving (Eq, Read, Show, Generic, Typeable)--{-| 'SortMode' prescribes how to handle sorting array/multi-valued fields.--http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#_sort_mode_option--}-data SortMode = SortMin-              | SortMax-              | SortSum-              | SortAvg deriving (Eq, Read, Show, Generic, Typeable)--{-| 'mkSort' defaults everything but the 'FieldName' and the 'SortOrder' so-    that you can concisely describe the usual kind of 'SortSpec's you want.--}-mkSort :: FieldName -> SortOrder -> DefaultSort-mkSort fieldName sOrder = DefaultSort fieldName sOrder False Nothing Nothing Nothing--{-| 'Cache' is for telling ES whether it should cache a 'Filter' not.-    'Query's cannot be cached.--}-type Cache   = Bool -- caching on/off-defaultCache :: Cache-defaultCache = False--{-| 'PrefixValue' is used in 'PrefixQuery' as the main query component.--}-type PrefixValue = Text--{-| 'BooleanOperator' is the usual And/Or operators with an ES compatible-    JSON encoding baked in. Used all over the place.--}-data BooleanOperator = And | Or deriving (Eq, Read, Show, Generic, Typeable)--{-| 'ShardCount' is part of 'IndexSettings'--}-newtype ShardCount = ShardCount Int deriving (Eq, Read, Show, Generic, ToJSON, Typeable)--{-| 'ReplicaCount' is part of 'IndexSettings'--}-newtype ReplicaCount = ReplicaCount Int deriving (Eq, Read, Show, Generic, ToJSON, Typeable)--{-| 'IndexName' is used to describe which index to query/create/delete--}-newtype IndexName = IndexName Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)--{-| 'IndexSelection' is used for APIs which take a single index, a list of-    indexes, or the special @_all@ index.--}---TODO: this does not fully support <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/multi-index.html multi-index syntax>. It wouldn't be too hard to implement but you'd have to add the optional parameters (ignore_unavailable, allow_no_indices, expand_wildcards) to any APIs using it. Also would be a breaking API.-data IndexSelection = IndexList (NonEmpty IndexName)-                    | AllIndexes deriving (Eq, Generic, Show, Typeable)--{-| 'NodeSelection' is used for most cluster APIs. See <https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.html#cluster-nodes here> for more details.--}-data NodeSelection = LocalNode-                   -- ^ Whatever node receives this request-                   | NodeList (NonEmpty NodeSelector)-                   | AllNodes deriving (Eq, Generic, Show, Typeable)----- | 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.-data NodeSelector = 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.-                  deriving (Eq, Generic, Show, Typeable)--{-| 'TemplateName' is used to describe which template to query/create/delete--}-newtype TemplateName = TemplateName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| 'TemplatePattern' represents a pattern which is matched against index names--}-newtype TemplatePattern = TemplatePattern Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| 'MappingName' is part of mappings which are how ES describes and schematizes-    the data in the indices.--}-newtype MappingName = MappingName Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)--{-| '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.--}-newtype DocId = DocId Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)--{-| 'QueryString' is used to wrap query text bodies, be they human written or not.--}-newtype QueryString = QueryString Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)--{-| '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.--}-newtype FieldName = FieldName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)---{-| 'Script' is often used in place of 'FieldName' to specify more-complex ways of extracting a value from a document.--}-newtype Script = Script { scriptText :: Text } deriving (Eq, Read, Show, Generic, Typeable)--{-| 'CacheName' is used in 'RegexpFilter' for describing the-    'CacheKey' keyed caching behavior.--}-newtype CacheName = CacheName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| 'CacheKey' is used in 'RegexpFilter' to key regex caching.--}-newtype CacheKey =-  CacheKey Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype Existence =-  Existence Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype NullValue =-  NullValue Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype CutoffFrequency =-  CutoffFrequency Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype Analyzer =-  Analyzer Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype MaxExpansions =-  MaxExpansions Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| '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.--}-newtype Lenient =-  Lenient Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype Tiebreaker =-  Tiebreaker Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype Boost =-  Boost Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype BoostTerms =-  BoostTerms Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| '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 MinimumMatch =-  MinimumMatch Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype DisableCoord =-  DisableCoord Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype IgnoreTermFrequency =-  IgnoreTermFrequency Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype MinimumTermFrequency =-  MinimumTermFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype MaxQueryTerms =-  MaxQueryTerms Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype Fuzziness =-  Fuzziness Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| 'PrefixLength' is the prefix length used in queries, defaults to 0. -}-newtype PrefixLength =-  PrefixLength Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype TypeName =-  TypeName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype PercentMatch =-  PercentMatch Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype StopWord =-  StopWord Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype QueryPath =-  QueryPath Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| 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 AllowLeadingWildcard =-  AllowLeadingWildcard     Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype LowercaseExpanded =-  LowercaseExpanded        Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype EnablePositionIncrements =-  EnablePositionIncrements Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| By default, wildcard terms in a query are not analyzed.-    Setting 'AnalyzeWildcard' to true enables best-effort analysis.--}-newtype AnalyzeWildcard = AnalyzeWildcard Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| 'GeneratePhraseQueries' defaults to false.--}-newtype GeneratePhraseQueries =-  GeneratePhraseQueries Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| 'Locale' is used for string conversions - defaults to ROOT.--}-newtype Locale        = Locale        Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype MaxWordLength = MaxWordLength Int  deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype MinWordLength = MinWordLength Int  deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)--{-| 'PhraseSlop' sets the default slop for phrases, 0 means exact-     phrase matches. Default is 0.--}-newtype PhraseSlop      = PhraseSlop      Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype MinDocFrequency = MinDocFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)-newtype MaxDocFrequency = MaxDocFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)---- | Newtype wrapper to parse ES's concerning tendency to in some APIs return a floating point number of milliseconds since epoch ಠ_ಠ-newtype POSIXMS = POSIXMS { posixMS :: UTCTime }--{-| 'unpackId' is a silly convenience function that gets used once.--}-unpackId :: DocId -> Text-unpackId (DocId docId) = docId--type TrackSortScores = Bool-newtype From = From Int deriving (Eq, Read, Show, Generic, ToJSON)-newtype Size = Size Int deriving (Eq, Read, Show, Generic, ToJSON)--data Search = Search { queryBody       :: Maybe Query-                     , filterBody      :: Maybe Filter-                     , sortBody        :: Maybe Sort-                     , aggBody         :: Maybe Aggregations-                     , highlight       :: Maybe Highlights-                       -- default False-                     , trackSortScores :: TrackSortScores-                     , from            :: From-                     , size            :: Size-                     , searchType      :: SearchType-                     , fields          :: Maybe [FieldName]-                     , source          :: Maybe Source } deriving (Eq, Read, Show, Generic, Typeable)--data SearchType = SearchTypeQueryThenFetch-                | SearchTypeDfsQueryThenFetch-                | SearchTypeCount-                | SearchTypeScan-                | SearchTypeQueryAndFetch-                | SearchTypeDfsQueryAndFetch-  deriving (Eq, Read, Show, Generic, Typeable)--data Source =-    NoSource-  | SourcePatterns PatternOrPatterns-  | SourceIncludeExclude Include Exclude-    deriving (Read, Show, Eq, Generic, Typeable)--data PatternOrPatterns = PopPattern   Pattern-                       | PopPatterns [Pattern] deriving (Eq, Read, Show, Generic, Typeable)--data Include = Include [Pattern] deriving (Eq, Read, Show, Generic, Typeable)-data Exclude = Exclude [Pattern] deriving (Eq, Read, Show, Generic, Typeable)--newtype Pattern = Pattern Text deriving (Eq, Read, Show, Generic, Typeable)--data Highlights = Highlights { globalsettings  :: Maybe HighlightSettings-                             , highlightFields :: [FieldHighlight]-                             } deriving (Read, Show, Eq, Generic, Typeable)--data FieldHighlight = FieldHighlight FieldName (Maybe HighlightSettings)-                      deriving (Read, Show, Eq, Generic, Typeable)---data HighlightSettings = Plain PlainHighlight-                       | Postings PostingsHighlight-                       | FastVector FastVectorHighlight-                         deriving (Read, Show, Eq, Generic, Typeable)-data PlainHighlight =-    PlainHighlight { plainCommon  :: Maybe CommonHighlight-                   , plainNonPost :: Maybe NonPostings } deriving (Read, Show, Eq, Generic, Typeable)-- -- This requires that index_options are set to 'offset' in the mapping.-data PostingsHighlight = PostingsHighlight (Maybe CommonHighlight) deriving (Read, Show, Eq, Generic, Typeable)---- This requires that term_vector is set to 'with_positions_offsets' in the mapping.-data FastVectorHighlight =-    FastVectorHighlight { fvCommon          :: Maybe CommonHighlight-                        , fvNonPostSettings :: Maybe NonPostings-                        , boundaryChars     :: Maybe Text-                        , boundaryMaxScan   :: Maybe Int-                        , fragmentOffset    :: Maybe Int-                        , matchedFields     :: [Text]-                        , phraseLimit       :: Maybe Int-                        } deriving (Read, Show, Eq, Generic, Typeable)--data CommonHighlight =-    CommonHighlight { order             :: Maybe Text-                    , forceSource       :: Maybe Bool-                    , tag               :: Maybe HighlightTag-                    , encoder           :: Maybe HighlightEncoder-                    , noMatchSize       :: Maybe Int-                    , highlightQuery    :: Maybe Query-                    , requireFieldMatch :: Maybe Bool-                    } deriving (Read, Show, Eq, Generic, Typeable)---- Settings that are only applicable to FastVector and Plain highlighters.-data NonPostings =-    NonPostings { fragmentSize      :: Maybe Int-                , numberOfFragments :: Maybe Int} deriving (Read, Show, Eq, Generic, Typeable)--data HighlightEncoder = DefaultEncoder-                      | HTMLEncoder-                      deriving (Read, Show, Eq, Generic, Typeable)---- NOTE: Should the tags use some kind of HTML type, rather than Text?-data HighlightTag = TagSchema Text-                  | CustomTags ([Text], [Text]) -- Only uses more than the first value in the lists if fvh-                  deriving (Read, Show, Eq, Generic, Typeable)---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-  deriving (Eq, Read, Show, Generic, Typeable)--data RegexpQuery =-  RegexpQuery { regexpQueryField :: FieldName-              , regexpQuery      :: Regexp-              , regexpQueryFlags :: RegexpFlags-              , regexpQueryBoost :: Maybe Boost-              } deriving (Eq, Read, Show, Generic, Typeable)--data RangeQuery =-  RangeQuery { rangeQueryField :: FieldName-             , rangeQueryRange :: RangeValue-             , rangeQueryBoost :: Boost } deriving (Eq, Read, Show, Generic, Typeable)--mkRangeQuery :: FieldName -> RangeValue -> RangeQuery-mkRangeQuery f r = RangeQuery f r (Boost 1.0)--data SimpleQueryStringQuery =-  SimpleQueryStringQuery-    { simpleQueryStringQuery             :: QueryString-    , simpleQueryStringField             :: Maybe FieldOrFields-    , simpleQueryStringOperator          :: Maybe BooleanOperator-    , simpleQueryStringAnalyzer          :: Maybe Analyzer-    , simpleQueryStringFlags             :: Maybe (NonEmpty SimpleQueryFlag)-    , simpleQueryStringLowercaseExpanded :: Maybe LowercaseExpanded-    , simpleQueryStringLocale            :: Maybe Locale-    } deriving (Eq, Read, Show, Generic, Typeable)--data SimpleQueryFlag =-  SimpleQueryAll-  | SimpleQueryNone-  | SimpleQueryAnd-  | SimpleQueryOr-  | SimpleQueryPrefix-  | SimpleQueryPhrase-  | SimpleQueryPrecedence-  | SimpleQueryEscape-  | SimpleQueryWhitespace-  | SimpleQueryFuzzy-  | SimpleQueryNear-  | SimpleQuerySlop deriving (Eq, Read, Show, Generic, Typeable)---- use_dis_max and tie_breaker when fields are plural?-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-  } deriving (Eq, Read, Show, Generic, Typeable)--mkQueryStringQuery :: QueryString -> QueryStringQuery-mkQueryStringQuery qs =-  QueryStringQuery qs Nothing Nothing-  Nothing Nothing Nothing Nothing-  Nothing Nothing Nothing Nothing-  Nothing Nothing Nothing Nothing-  Nothing Nothing--data FieldOrFields = FofField   FieldName-                   | FofFields (NonEmpty FieldName) deriving (Eq, Read, Show, Generic, Typeable)--data PrefixQuery =-  PrefixQuery-  { prefixQueryField       :: FieldName-  , prefixQueryPrefixValue :: Text-  , prefixQueryBoost       :: Maybe Boost } deriving (Eq, Read, Show, Generic, Typeable)--data NestedQuery =-  NestedQuery-  { nestedQueryPath      :: QueryPath-  , nestedQueryScoreType :: ScoreType-  , nestedQuery          :: Query } deriving (Eq, Read, Show, Generic, Typeable)--data MoreLikeThisFieldQuery =-  MoreLikeThisFieldQuery-  { moreLikeThisFieldText            :: Text-  , moreLikeThisFieldFields          :: FieldName-                                        -- default 0.3 (30%)-  , 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-  } deriving (Eq, Read, Show, Generic, Typeable)--data MoreLikeThisQuery =-  MoreLikeThisQuery-  { moreLikeThisText            :: Text-  , moreLikeThisFields          :: Maybe (NonEmpty FieldName)-    -- default 0.3 (30%)-  , 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-  } deriving (Eq, Read, Show, Generic, Typeable)--data IndicesQuery =-  IndicesQuery-  { indicesQueryIndices :: [IndexName]-  , indicesQuery        :: Query-    -- default "all"-  , indicesQueryNoMatch :: Maybe Query } deriving (Eq, Read, Show, Generic, Typeable)--data HasParentQuery =-  HasParentQuery-  { hasParentQueryType      :: TypeName-  , hasParentQuery          :: Query-  , hasParentQueryScoreType :: Maybe ScoreType } deriving (Eq, Read, Show, Generic, Typeable)--data HasChildQuery =-  HasChildQuery-  { hasChildQueryType      :: TypeName-  , hasChildQuery          :: Query-  , hasChildQueryScoreType :: Maybe ScoreType } deriving (Eq, Read, Show, Generic, Typeable)--data ScoreType =-  ScoreTypeMax-  | ScoreTypeSum-  | ScoreTypeAvg-  | ScoreTypeNone deriving (Eq, Read, Show, Generic, Typeable)--data FuzzyQuery =-  FuzzyQuery { fuzzyQueryField         :: FieldName-             , fuzzyQueryValue         :: Text-             , fuzzyQueryPrefixLength  :: PrefixLength-             , fuzzyQueryMaxExpansions :: MaxExpansions-             , fuzzyQueryFuzziness     :: Fuzziness-             , fuzzyQueryBoost         :: Maybe Boost-             } deriving (Eq, Read, Show, Generic, Typeable)--data FuzzyLikeFieldQuery =-  FuzzyLikeFieldQuery-  { fuzzyLikeField                    :: FieldName-    -- anaphora is good for the soul.-  , fuzzyLikeFieldText                :: Text-  , fuzzyLikeFieldMaxQueryTerms       :: MaxQueryTerms-  , fuzzyLikeFieldIgnoreTermFrequency :: IgnoreTermFrequency-  , fuzzyLikeFieldFuzziness           :: Fuzziness-  , fuzzyLikeFieldPrefixLength        :: PrefixLength-  , fuzzyLikeFieldBoost               :: Boost-  , fuzzyLikeFieldAnalyzer            :: Maybe Analyzer-  } deriving (Eq, Read, Show, Generic, Typeable)--data FuzzyLikeThisQuery =-  FuzzyLikeThisQuery-  { fuzzyLikeFields              :: [FieldName]-  , fuzzyLikeText                :: Text-  , fuzzyLikeMaxQueryTerms       :: MaxQueryTerms-  , fuzzyLikeIgnoreTermFrequency :: IgnoreTermFrequency-  , fuzzyLikeFuzziness           :: Fuzziness-  , fuzzyLikePrefixLength        :: PrefixLength-  , fuzzyLikeBoost               :: Boost-  , fuzzyLikeAnalyzer            :: Maybe Analyzer-  } deriving (Eq, Read, Show, Generic, Typeable)--data FilteredQuery =-  FilteredQuery-  { filteredQuery  :: Query-  , filteredFilter :: Filter } deriving (Eq, Read, Show, Generic, Typeable)--data DisMaxQuery =-  DisMaxQuery { disMaxQueries    :: [Query]-                -- default 0.0-              , disMaxTiebreaker :: Tiebreaker-              , disMaxBoost      :: Maybe Boost-              } deriving (Eq, Read, Show, Generic, Typeable)--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 } deriving (Eq, Read, Show, Generic, Typeable)--{-| 'mkMatchQuery' is a convenience function that defaults the less common parameters,-    enabling you to provide only the 'FieldName' and 'QueryString' to make a 'MatchQuery'--}-mkMatchQuery :: FieldName -> QueryString -> MatchQuery-mkMatchQuery field query = MatchQuery field query Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing--data MatchQueryType =-  MatchPhrase-  | MatchPhrasePrefix deriving (Eq, Read, Show, Generic, Typeable)--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 } deriving (Eq, Read, Show, Generic, Typeable)--{-| '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'.--}--mkMultiMatchQuery :: [FieldName] -> QueryString -> MultiMatchQuery-mkMultiMatchQuery matchFields query =-  MultiMatchQuery matchFields query-  Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing--data MultiMatchQueryType =-  MultiMatchBestFields-  | MultiMatchMostFields-  | MultiMatchCrossFields-  | MultiMatchPhrase-  | MultiMatchPhrasePrefix deriving (Eq, Read, Show, Generic, Typeable)--data BoolQuery =-  BoolQuery { boolQueryMustMatch          :: [Query]-            , boolQueryMustNotMatch       :: [Query]-            , boolQueryShouldMatch        :: [Query]-            , boolQueryMinimumShouldMatch :: Maybe MinimumMatch-            , boolQueryBoost              :: Maybe Boost-            , boolQueryDisableCoord       :: Maybe DisableCoord-            } deriving (Eq, Read, Show, Generic, Typeable)--mkBoolQuery :: [Query] -> [Query] -> [Query] -> BoolQuery-mkBoolQuery must mustNot should =-  BoolQuery must mustNot should Nothing Nothing Nothing--data BoostingQuery =-  BoostingQuery { positiveQuery :: Query-                , negativeQuery :: Query-                , negativeBoost :: Boost } deriving (Eq, Read, Show, Generic, Typeable)--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-                   } deriving (Eq, Read, Show, Generic, Typeable)--data CommonMinimumMatch =-    CommonMinimumMatchHighLow MinimumMatchHighLow-  | CommonMinimumMatch        MinimumMatch-  deriving (Eq, Read, Show, Generic, Typeable)--data MinimumMatchHighLow =-  MinimumMatchHighLow { lowFreq  :: MinimumMatch-                      , highFreq :: MinimumMatch } deriving (Eq, Read, Show, Generic, Typeable)--data Filter = AndFilter [Filter] Cache-            | OrFilter  [Filter] Cache-            | NotFilter  Filter  Cache-            | IdentityFilter-            | BoolFilter BoolMatch-            | ExistsFilter FieldName -- always cached-            | 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-              deriving (Eq, Read, Show, Generic, Typeable)--data ZeroTermsQuery = ZeroTermsNone-                    | ZeroTermsAll deriving (Eq, Read, Show, Generic, Typeable)--data RangeExecution = RangeExecutionIndex-                    | RangeExecutionFielddata deriving (Eq, Read, Show, Generic, Typeable)--newtype Regexp = Regexp Text deriving (Eq, Read, Show, Generic, Typeable, FromJSON)--data RegexpFlags = AllRegexpFlags-                 | NoRegexpFlags-                 | SomeRegexpFlags (NonEmpty RegexpFlag) deriving (Eq, Read, Show, Generic, Typeable)--data RegexpFlag = AnyString-                | Automaton-                | Complement-                | Empty-                | Intersection-                | Interval deriving (Eq, Read, Show, Generic, Typeable)--newtype LessThan = LessThan Double deriving (Eq, Read, Show, Generic, Typeable)-newtype LessThanEq = LessThanEq Double deriving (Eq, Read, Show, Generic, Typeable)-newtype GreaterThan = GreaterThan Double deriving (Eq, Read, Show, Generic, Typeable)-newtype GreaterThanEq = GreaterThanEq Double deriving (Eq, Read, Show, Generic, Typeable)--newtype LessThanD = LessThanD UTCTime deriving (Eq, Read, Show, Generic, Typeable)-newtype LessThanEqD = LessThanEqD UTCTime deriving (Eq, Read, Show, Generic, Typeable)-newtype GreaterThanD = GreaterThanD UTCTime deriving (Eq, Read, Show, Generic, Typeable)-newtype GreaterThanEqD = GreaterThanEqD UTCTime deriving (Eq, Read, Show, Generic, Typeable)--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-                deriving (Eq, Read, Show, Generic, Typeable)--rangeValueToPair :: RangeValue -> [Pair]-rangeValueToPair rv = case rv of-  RangeDateLte (LessThanEqD t)                       -> ["lte" .= t]-  RangeDateGte (GreaterThanEqD t)                    -> ["gte" .= t]-  RangeDateLt (LessThanD t)                          -> ["lt"  .= t]-  RangeDateGt (GreaterThanD t)                       -> ["gt"  .= t]-  RangeDateGteLte (GreaterThanEqD l) (LessThanEqD g) -> ["gte" .= l, "lte" .= g]-  RangeDateGtLte (GreaterThanD l) (LessThanEqD g)    -> ["gt"  .= l, "lte" .= g]-  RangeDateGteLt (GreaterThanEqD l) (LessThanD g)    -> ["gte" .= l, "lt"  .= g]-  RangeDateGtLt (GreaterThanD l) (LessThanD g)       -> ["gt"  .= l, "lt"  .= g]-  RangeDoubleLte (LessThanEq t)                      -> ["lte" .= t]-  RangeDoubleGte (GreaterThanEq t)                   -> ["gte" .= t]-  RangeDoubleLt (LessThan t)                         -> ["lt"  .= t]-  RangeDoubleGt (GreaterThan t)                      -> ["gt"  .= t]-  RangeDoubleGteLte (GreaterThanEq l) (LessThanEq g) -> ["gte" .= l, "lte" .= g]-  RangeDoubleGtLte (GreaterThan l) (LessThanEq g)    -> ["gt"  .= l, "lte" .= g]-  RangeDoubleGteLt (GreaterThanEq l) (LessThan g)    -> ["gte" .= l, "lt"  .= g]-  RangeDoubleGtLt (GreaterThan l) (LessThan g)       -> ["gt"  .= l, "lt"  .= g]--data Term = Term { termField :: Text-                 , termValue :: Text } deriving (Eq, Read, Show, Generic, Typeable)--data BoolMatch = MustMatch    Term  Cache-               | MustNotMatch Term  Cache-               | ShouldMatch [Term] Cache deriving (Eq, Read, Show, Generic, Typeable)---- "memory" or "indexed"-data GeoFilterType = GeoFilterMemory-                   | GeoFilterIndexed deriving (Eq, Read, Show, Generic, Typeable)--data LatLon = LatLon { lat :: Double-                     , lon :: Double } deriving (Eq, Read, Show, Generic, Typeable)--data GeoBoundingBox =-  GeoBoundingBox { topLeft     :: LatLon-                 , bottomRight :: LatLon } deriving (Eq, Read, Show, Generic, Typeable)--data GeoBoundingBoxConstraint =-  GeoBoundingBoxConstraint { geoBBField        :: FieldName-                           , constraintBox     :: GeoBoundingBox-                           , bbConstraintcache :: Cache-                           , geoType           :: GeoFilterType-                           } deriving (Eq, Read, Show, Generic, Typeable)--data GeoPoint =-  GeoPoint { geoField :: FieldName-           , latLon   :: LatLon} deriving (Eq, Read, Show, Generic, Typeable)--data DistanceUnit = Miles-                  | Yards-                  | Feet-                  | Inches-                  | Kilometers-                  | Meters-                  | Centimeters-                  | Millimeters-                  | NauticalMiles deriving (Eq, Read, Show, Generic, Typeable)--data DistanceType = Arc-                  | SloppyArc -- doesn't exist <1.0-                  | Plane deriving (Eq, Read, Show, Generic, Typeable)--data OptimizeBbox = OptimizeGeoFilterType GeoFilterType-                  | NoOptimizeBbox deriving (Eq, Read, Show, Generic, Typeable)--data Distance =-  Distance { coefficient :: Double-           , unit        :: DistanceUnit } deriving (Eq, Read, Show, Generic, Typeable)--data DistanceRange =-  DistanceRange { distanceFrom :: Distance-                , distanceTo   :: Distance } deriving (Eq, Read, Show, Generic, Typeable)--data SearchResult a =-  SearchResult { took         :: Int-               , timedOut     :: Bool-               , shards       :: ShardResult-               , searchHits   :: SearchHits a-               , aggregations :: Maybe AggregationResults-               , scrollId     :: Maybe ScrollId } deriving (Eq, Read, Show, Generic, Typeable)--newtype ScrollId = ScrollId Text deriving (Eq, Read, Show, Generic, Ord, ToJSON, FromJSON)--type Score = Maybe Double--data SearchHits a =-  SearchHits { hitsTotal :: Int-             , maxScore  :: Score-             , hits      :: [Hit a] } deriving (Eq, Read, Show, Generic, Typeable)---instance Monoid (SearchHits a) where-  mempty = SearchHits 0 Nothing mempty-  mappend (SearchHits ta ma ha) (SearchHits tb mb hb) =-    SearchHits (ta + tb) (max ma mb) (ha <> hb)---data Hit a =-  Hit { hitIndex     :: IndexName-      , hitType      :: MappingName-      , hitDocId     :: DocId-      , hitScore     :: Score-      , hitSource    :: Maybe a-      , hitHighlight :: Maybe HitHighlight } deriving (Eq, Read, Show, Generic, Typeable)--data ShardResult =-  ShardResult { shardTotal       :: Int-              , shardsSuccessful :: Int-              , shardsFailed     :: Int } deriving (Eq, Read, Show, Generic, Typeable)--type HitHighlight = M.Map Text [Text]--showText :: Show a => a -> Text-showText = T.pack . show--readMay :: Read a => String -> Maybe a-readMay s = case reads s of-              (a, ""):_ -> Just a-              _ -> Nothing--parseReadText :: Read a => Text -> Parser a-parseReadText = maybe mzero return . readMay . T.unpack--type Aggregations = M.Map Text Aggregation--emptyAggregations :: Aggregations-emptyAggregations = M.empty--mkAggregations :: Text -> Aggregation -> Aggregations-mkAggregations name aggregation = M.insert name aggregation emptyAggregations--data TermOrder = TermOrder{ termSortField :: Text-                          , termSortOrder :: SortOrder } deriving (Eq, Read, Show, Generic, Typeable)--data TermInclusion = TermInclusion Text-                   | TermPattern Text Text deriving (Eq, Read, Show, Generic, Typeable)--data CollectionMode = BreadthFirst-                    | DepthFirst deriving (Eq, Read, Show, Generic, Typeable)--data ExecutionHint = Ordinals-                   | GlobalOrdinals-                   | GlobalOrdinalsHash-                   | GlobalOrdinalsLowCardinality-                   | Map deriving (Eq, Read, Show, Generic, Typeable)--data TimeInterval = Weeks-                  | Days-                  | Hours-                  | Minutes-                  | Seconds deriving Eq--data Interval = Year-              | Quarter-              | Month-              | Week-              | Day-              | Hour-              | Minute-              | Second-              | FractionalInterval Float TimeInterval deriving (Eq, Read, Show, Generic, Typeable)--data Aggregation = TermsAgg TermsAggregation-                 | CardinalityAgg CardinalityAggregation-                 | DateHistogramAgg DateHistogramAggregation-                 | ValueCountAgg ValueCountAggregation-                 | FilterAgg FilterAggregation-                 | DateRangeAgg DateRangeAggregation-                 | MissingAgg MissingAggregation deriving (Eq, Read, Show, Generic, Typeable)--data MissingAggregation = MissingAggregation-  { maField :: Text-  } deriving (Eq, Read, Show, Generic, Typeable)--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-                                    } deriving (Eq, Read, Show, Generic, Typeable)--data CardinalityAggregation = CardinalityAggregation { cardinalityField   :: FieldName,-                                                       precisionThreshold :: Maybe Int-                                                     } deriving (Eq, Read, Show, Generic, Typeable)--data DateHistogramAggregation = DateHistogramAggregation { dateField      :: FieldName-                                                         , dateInterval   :: Interval-                                                         , dateFormat     :: Maybe Text-                                                         -- pre and post deprecated in 1.5-                                                         , datePreZone    :: Maybe Text-                                                         , datePostZone   :: Maybe Text-                                                         , datePreOffset  :: Maybe Text-                                                         , datePostOffset :: Maybe Text-                                                         , dateAggs       :: Maybe Aggregations-                                                         } deriving (Eq, Read, Show, Generic, Typeable)---data DateRangeAggregation = DateRangeAggregation { draField  :: FieldName-                                                 , draFormat :: Maybe Text-                                                 , draRanges :: NonEmpty DateRangeAggRange-                                                 } deriving (Eq, Read, Show, Generic, Typeable)--data DateRangeAggRange = DateRangeFrom DateMathExpr-                       | DateRangeTo DateMathExpr-                       | DateRangeFromAndTo DateMathExpr DateMathExpr deriving (Eq, Read, Show, Generic, Typeable)---- | See <https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math> for more information.-data DateMathExpr = DateMathExpr DateMathAnchor [DateMathModifier] deriving (Eq, Read, Show, Generic, Typeable)----- | Starting point for a date range. This along with the 'DateMathModifiers' gets you the date ES will start from.-data DateMathAnchor = DMNow-                    | DMDate Day deriving (Eq, Read, Show, Generic, Typeable)--data DateMathModifier = AddTime Int DateMathUnit-                      | SubtractTime Int DateMathUnit-                      | RoundDownTo DateMathUnit deriving (Eq, Read, Show, Generic, Typeable)--data DateMathUnit = DMYear-                  | DMMonth-                  | DMWeek-                  | DMDay-                  | DMHour-                  | DMMinute-                  | DMSecond deriving (Eq, Read, Show, Generic, Typeable)---- | See <https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-valuecount-aggregation.html> for more information.-data ValueCountAggregation = FieldValueCount FieldName-                           | ScriptValueCount Script deriving (Eq, Read, Show, Generic, Typeable)---- | 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 FilterAggregation = FilterAggregation { faFilter :: Filter-                                           , faAggs   :: Maybe Aggregations} deriving (Eq, Read, Show, Generic, Typeable)--mkTermsAggregation :: Text -> TermsAggregation-mkTermsAggregation t = TermsAggregation (Left t) Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing--mkTermsScriptAggregation :: Text -> TermsAggregation-mkTermsScriptAggregation t = TermsAggregation (Right t) Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing--mkDateHistogram :: FieldName -> Interval -> DateHistogramAggregation-mkDateHistogram t i = DateHistogramAggregation t i Nothing Nothing Nothing Nothing Nothing Nothing--mkCardinalityAggregation :: FieldName -> CardinalityAggregation-mkCardinalityAggregation t = CardinalityAggregation t Nothing--instance ToJSON Version where-  toJSON Version {..} = object ["number" .= number-                               ,"build_hash" .= build_hash-                               ,"build_timestamp" .= build_timestamp-                               ,"build_snapshot" .= build_snapshot-                               ,"lucene_version" .= lucene_version]--instance FromJSON Version where-  parseJSON = withObject "Version" parse-    where parse o = Version-                    <$> o .: "number"-                    <*> o .: "build_hash"-                    <*> o .: "build_timestamp"-                    <*> o .: "build_snapshot"-                    <*> o .: "lucene_version"--instance ToJSON VersionNumber where-  toJSON = toJSON . Vers.showVersion . versionNumber--instance FromJSON VersionNumber where-  parseJSON = withText "VersionNumber" (parse . T.unpack)-    where-      parse s = case filter (null . snd)(RP.readP_to_S Vers.parseVersion s) of-                  [(v, _)] -> pure (VersionNumber v)-                  [] -> fail ("Invalid version string " ++ s)-                  xs -> fail ("Ambiguous version string " ++ s ++ " (" ++ intercalate ", " (Vers.showVersion . fst <$> xs) ++ ")")--instance ToJSON TermOrder where-  toJSON (TermOrder termSortField termSortOrder) = object [termSortField .= termSortOrder]--instance ToJSON TermInclusion where-  toJSON (TermInclusion x) = toJSON x-  toJSON (TermPattern pattern flags) = omitNulls [ "pattern" .= pattern,-                                                     "flags"   .= flags]--instance ToJSON CollectionMode where-  toJSON BreadthFirst = "breadth_first"-  toJSON DepthFirst   = "depth_first"--instance ToJSON ExecutionHint where-  toJSON Ordinals                     = "ordinals"-  toJSON GlobalOrdinals               = "global_ordinals"-  toJSON GlobalOrdinalsHash           = "global_ordinals_hash"-  toJSON GlobalOrdinalsLowCardinality = "global_ordinals_low_cardinality"-  toJSON Map                          = "map"--instance ToJSON Interval where-  toJSON Year = "year"-  toJSON Quarter = "quarter"-  toJSON Month = "month"-  toJSON Week = "week"-  toJSON Day = "day"-  toJSON Hour = "hour"-  toJSON Minute = "minute"-  toJSON Second = "second"-  toJSON (FractionalInterval fraction interval) = toJSON $ show fraction ++ show interval--instance Show TimeInterval where-  show Weeks    = "w"-  show Days     = "d"-  show Hours    = "h"-  show Minutes  = "m"-  show Seconds  = "s"--instance Read TimeInterval where-  readPrec = f =<< TR.get-    where-      f 'w' = return Weeks-      f 'd' = return Days-      f 'h' = return Hours-      f 'm' = return Minutes-      f 's' = return Seconds-      f  _  = fail "TimeInterval expected one of w, d, h, m, s"--instance ToJSON Aggregation where-  toJSON (TermsAgg (TermsAggregation term include exclude order minDocCount size shardSize collectMode executionHint termAggs)) =-    omitNulls ["terms" .= omitNulls [ toJSON' term,-                                      "include"        .= include,-                                      "exclude"        .= exclude,-                                      "order"          .= order,-                                      "min_doc_count"  .= minDocCount,-                                      "size"           .= size,-                                      "shard_size"     .= shardSize,-                                      "collect_mode"   .= collectMode,-                                      "execution_hint" .= executionHint-                                    ],-               "aggs"  .= termAggs ]-    where-      toJSON' x = case x of { Left y -> "field" .= y;  Right y -> "script" .= y }--  toJSON (CardinalityAgg (CardinalityAggregation field precisionThreshold)) =-    object ["cardinality" .= omitNulls [ "field"              .= field,-                                         "precisionThreshold" .= precisionThreshold-                                       ]-           ]--  toJSON (DateHistogramAgg (DateHistogramAggregation field interval format preZone postZone preOffset postOffset dateHistoAggs)) =-    omitNulls ["date_histogram" .= omitNulls [ "field"       .= field,-                                               "interval"    .= interval,-                                               "format"      .= format,-                                               "pre_zone"    .= preZone,-                                               "post_zone"   .= postZone,-                                               "pre_offset"  .= preOffset,-                                               "post_offset" .= postOffset-                                             ],-               "aggs"           .= dateHistoAggs ]-  toJSON (ValueCountAgg a) = object ["value_count" .= v]-    where v = case a of-                (FieldValueCount (FieldName n)) -> object ["field" .= n]-                (ScriptValueCount (Script s))   -> object ["script" .= s]-  toJSON (FilterAgg (FilterAggregation filt ags)) =-    omitNulls [ "filter" .= filt-              , "aggs" .= ags]-  toJSON (DateRangeAgg a) = object [ "date_range" .= a-                                   ]-  toJSON (MissingAgg (MissingAggregation{..})) =-    object ["missing" .= object ["field" .= maField]]--instance ToJSON DateRangeAggregation where-  toJSON DateRangeAggregation {..} =-    omitNulls [ "field" .= draField-              , "format" .= draFormat-              , "ranges" .= toList draRanges-              ]--instance ToJSON DateRangeAggRange where-  toJSON (DateRangeFrom e) = object [ "from" .= e ]-  toJSON (DateRangeTo e) = object [ "to" .= e ]-  toJSON (DateRangeFromAndTo f t) = object [ "from" .= f, "to" .= t ]--instance ToJSON DateMathExpr where-  toJSON (DateMathExpr a mods) = String (fmtA a <> mconcat (fmtMod <$> mods))-    where fmtA DMNow = "now"-          fmtA (DMDate date) = (T.pack $ showGregorian date) <> "||"-          fmtMod (AddTime n u) = "+" <> showText n <> fmtU u-          fmtMod (SubtractTime n u) = "-" <> showText n <> fmtU u-          fmtMod (RoundDownTo u) = "/" <> fmtU u-          fmtU DMYear = "y"-          fmtU DMMonth = "M"-          fmtU DMWeek = "w"-          fmtU DMDay = "d"-          fmtU DMHour = "h"-          fmtU DMMinute = "m"-          fmtU DMSecond = "s"---type AggregationResults = M.Map Text Value--class BucketAggregation a where-  key :: a -> BucketValue-  docCount :: a -> Int-  aggs :: a -> Maybe AggregationResults---data Bucket a = Bucket { buckets :: [a]} deriving (Read, Show)--data BucketValue = TextValue Text-                 | ScientificValue Scientific-                 | BoolValue Bool deriving (Read, Show)--data MissingResult = MissingResult { missingDocCount :: Int } deriving (Show)--data TermsResult = TermsResult { termKey       :: BucketValue-                               , termsDocCount :: Int-                               , termsAggs     :: Maybe AggregationResults } deriving (Read, Show)--data DateHistogramResult = DateHistogramResult { dateKey           :: Int-                                               , dateKeyStr        :: Maybe Text-                                               , dateDocCount      :: Int-                                               , dateHistogramAggs :: Maybe AggregationResults } deriving (Read, Show)--data DateRangeResult = DateRangeResult { dateRangeKey          :: Text-                                       , dateRangeFrom         :: Maybe UTCTime-                                       , dateRangeFromAsString :: Maybe Text-                                       , dateRangeTo           :: Maybe UTCTime-                                       , dateRangeToAsString   :: Maybe Text-                                       , dateRangeDocCount     :: Int-                                       , dateRangeAggs         :: Maybe AggregationResults } deriving (Read, Show, Eq, Generic, Typeable)--toTerms :: Text -> AggregationResults ->  Maybe (Bucket TermsResult)-toTerms = toAggResult--toDateHistogram :: Text -> AggregationResults -> Maybe (Bucket DateHistogramResult)-toDateHistogram = toAggResult--toMissing :: Text -> AggregationResults -> Maybe MissingResult-toMissing = toAggResult--toAggResult :: (FromJSON a) => Text -> AggregationResults -> Maybe a-toAggResult t a = M.lookup t a >>= deserialize-  where deserialize = parseMaybe parseJSON--instance BucketAggregation TermsResult where-  key = termKey-  docCount = termsDocCount-  aggs = termsAggs--instance BucketAggregation DateHistogramResult where-  key = TextValue . showText . dateKey-  docCount = dateDocCount-  aggs = dateHistogramAggs--instance BucketAggregation DateRangeResult where-  key = TextValue . dateRangeKey-  docCount = dateRangeDocCount-  aggs = dateRangeAggs--instance (FromJSON a) => FromJSON (Bucket a) where-  parseJSON (Object v) = Bucket <$>-                         v .: "buckets"-  parseJSON _ = mempty--instance FromJSON BucketValue where-  parseJSON (String t) = return $ TextValue t-  parseJSON (Number s) = return $ ScientificValue s-  parseJSON (Bool b) = return $ BoolValue b-  parseJSON _ = mempty--instance FromJSON MissingResult where-  parseJSON = withObject "MissingResult" parse-    where parse v = MissingResult <$> v .: "doc_count"--instance FromJSON TermsResult where-  parseJSON (Object v) = TermsResult <$>-                         v .:   "key"       <*>-                         v .:   "doc_count" <*>-                         v .:?  "aggregations"-  parseJSON _ = mempty--instance FromJSON DateHistogramResult where-  parseJSON (Object v) = DateHistogramResult   <$>-                         v .:  "key"           <*>-                         v .:? "key_as_string" <*>-                         v .:  "doc_count"     <*>-                         v .:? "aggregations"-  parseJSON _ = mempty--instance FromJSON DateRangeResult where-  parseJSON = withObject "DateRangeResult" parse-    where parse v = DateRangeResult                 <$>-                    v .:  "key"                     <*>-                    (fmap posixMS <$> v .:? "from") <*>-                    v .:? "from_as_string"          <*>-                    (fmap posixMS <$> v .:? "to")   <*>-                    v .:? "to_as_string"            <*>-                    v .:  "doc_count"               <*>-                    v .:? "aggregations"--instance FromJSON POSIXMS where-  parseJSON = withScientific "POSIXMS" (return . parse)-    where parse n = let n' = truncate n :: Integer-                    in POSIXMS (posixSecondsToUTCTime (fromInteger (n' `div` 1000)))--instance Monoid Filter where-  mempty = IdentityFilter-  mappend a b = AndFilter [a, b] defaultCache--instance Seminearring Filter where-  a <||> b = OrFilter [a, b] defaultCache--instance ToJSON Filter where-  toJSON (AndFilter filters cache) =-    object ["and" .=-            object [ "filters" .= fmap toJSON filters-                   , "_cache"  .= cache]]--  toJSON (OrFilter filters cache) =-    object ["or" .=-            object [ "filters" .= fmap toJSON filters-                   , "_cache"  .= cache]]--  toJSON (NotFilter notFilter cache) =-    object ["not" .=-            object ["filter"  .= notFilter-                   , "_cache" .= cache]]--  toJSON (IdentityFilter) =-    object ["match_all" .= object []]--  toJSON (TermFilter (Term termFilterField termFilterValue) cache) =-    object ["term" .= object base]-    where base = [termFilterField .= termFilterValue,-                  "_cache"        .= cache]--  toJSON (ExistsFilter (FieldName fieldName)) =-    object ["exists"  .= object-            ["field"  .= fieldName]]--  toJSON (BoolFilter boolMatch) =-    object ["bool"    .= boolMatch]--  toJSON (GeoBoundingBoxFilter bbConstraint) =-    object ["geo_bounding_box" .= bbConstraint]--  toJSON (GeoDistanceFilter (GeoPoint (FieldName distanceGeoField) geoDistLatLon)-          distance distanceType optimizeBbox cache) =-    object ["geo_distance" .=-            object ["distance" .= distance-                   , "distance_type" .= distanceType-                   , "optimize_bbox" .= optimizeBbox-                   , distanceGeoField .= geoDistLatLon-                   , "_cache" .= cache]]--  toJSON (GeoDistanceRangeFilter (GeoPoint (FieldName gddrField) drLatLon)-          (DistanceRange geoDistRangeDistFrom drDistanceTo)) =-    object ["geo_distance_range" .=-            object ["from" .= geoDistRangeDistFrom-                   , "to"  .= drDistanceTo-                   , gddrField .= drLatLon]]--  toJSON (GeoPolygonFilter (FieldName geoPolygonFilterField) latLons) =-    object ["geo_polygon" .=-            object [geoPolygonFilterField .=-                    object ["points" .= fmap toJSON latLons]]]--  toJSON (IdsFilter (MappingName mappingName) values) =-    object ["ids" .=-            object ["type" .= mappingName-                   , "values" .= fmap unpackId values]]--  toJSON (LimitFilter limit) =-    object ["limit" .= object ["value" .= limit]]--  toJSON (MissingFilter (FieldName fieldName) (Existence existence) (NullValue nullValue)) =-    object ["missing" .=-            object ["field"       .= fieldName-                   , "existence"  .= existence-                   , "null_value" .= nullValue]]--  toJSON (PrefixFilter (FieldName fieldName) fieldValue cache) =-    object ["prefix" .=-            object [fieldName .= fieldValue-                   , "_cache" .= cache]]--  toJSON (QueryFilter query False) =-    object ["query" .= toJSON query ]-  toJSON (QueryFilter query True) =-    object ["fquery" .=-            object [ "query"  .= toJSON query-                   , "_cache" .= True ]]--  toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =-    object ["range" .=-            object [ fieldName .= object (rangeValueToPair rangeValue)-                   , "execution" .= rangeExecution-                   , "_cache" .= cache]]--  toJSON (RegexpFilter (FieldName fieldName)-          (Regexp regexText) flags (CacheName cacheName) cache (CacheKey cacheKey)) =-    object ["regexp" .=-            object [fieldName .=-                    object ["value"  .= regexText-                           , "flags" .= flags]-                   , "_name"      .= cacheName-                   , "_cache"     .= cache-                   , "_cache_key" .= cacheKey]]--instance FromJSON Filter where-  parseJSON = withObject "Filter" parse-    where parse o = andFilter `taggedWith` "and"-                <|> orFilter `taggedWith` "or"-                <|> notFilter `taggedWith` "not"-                <|> identityFilter `taggedWith` "match_all"-                <|> boolFilter `taggedWith` "bool"-                <|> existsFilter `taggedWith` "exists"-                <|> geoBoundingBoxFilter `taggedWith` "geo_bounding_box"-                <|> geoDistanceFilter `taggedWith` "geo_distance"-                <|> geoDistanceRangeFilter `taggedWith` "geo_distance_range"-                <|> geoPolygonFilter `taggedWith` "geo_polygon"-                <|> idsFilter `taggedWith` "ids"-                <|> limitFilter `taggedWith` "limit"-                <|> missingFilter `taggedWith` "missing"-                <|> prefixFilter `taggedWith` "prefix"-                <|> queryFilter `taggedWith` "query"-                <|> fqueryFilter `taggedWith` "fquery"-                <|> rangeFilter `taggedWith` "range"-                <|> regexpFilter `taggedWith` "regexp"-                <|> termFilter `taggedWith` "term"-            where taggedWith parser k = parser =<< o .: k-          andFilter o = AndFilter <$> o .: "filters"-                                  <*> o .:? "_cache" .!= defaultCache-          orFilter o = OrFilter <$> o .: "filters"-                                <*> o .:? "_cache" .!= defaultCache-          notFilter o = NotFilter <$> o .: "filter"-                                  <*> o .: "_cache" .!= defaultCache-          identityFilter :: Object -> Parser Filter-          identityFilter m-            | HM.null m = pure IdentityFilter-            | otherwise = fail ("Identityfilter expected empty object but got " <> show m)-          boolFilter = pure . BoolFilter-          existsFilter o = ExistsFilter <$> o .: "field"-          geoBoundingBoxFilter = pure . GeoBoundingBoxFilter-          geoDistanceFilter o = do-            case HM.toList (deleteSeveral ["distance", "distance_type", "optimize_bbox", "_cache"] o) of-              [(fn, v)] -> do-                gp <- GeoPoint (FieldName fn) <$> parseJSON v-                GeoDistanceFilter gp <$> o .: "distance"-                                     <*> o .: "distance_type"-                                     <*> o .: "optimize_bbox"-                                     <*> o .:? "_cache" .!= defaultCache-              _ -> fail "Could not find GeoDistanceFilter field name"-          geoDistanceRangeFilter o = do-            case HM.toList (deleteSeveral ["from", "to"] o) of-              [(fn, v)] -> do-                gp <- GeoPoint (FieldName fn) <$> parseJSON v-                rng <- DistanceRange <$> o .: "from" <*> o .: "to"-                return (GeoDistanceRangeFilter gp rng)-              _ -> fail "Could not find GeoDistanceRangeFilter field name"-          geoPolygonFilter = fieldTagged $ \fn o -> GeoPolygonFilter fn <$> o .: "points"-          idsFilter o = IdsFilter <$> o .: "type"-                                  <*> o .: "values"-          limitFilter o = LimitFilter <$> o .: "value"-          missingFilter o = MissingFilter <$> o .: "field"-                                          <*> o .: "existence"-                                          <*> o .: "null_value"-          prefixFilter o = case HM.toList (HM.delete "_cache" o) of-                             [(fn, String v)] -> PrefixFilter (FieldName fn) v <$> o .:? "_cache" .!= defaultCache-                             _ -> fail "Could not parse PrefixFilter"--          queryFilter q = pure (QueryFilter q False)-          fqueryFilter o = QueryFilter <$> o .: "query" <*> pure True-          rangeFilter o = case HM.toList (deleteSeveral ["execution", "_cache"] o) of-                            [(fn, v)] -> RangeFilter (FieldName fn)-                                         <$> parseJSON v-                                         <*> o .: "execution"-                                         <*> o .:? "_cache" .!= defaultCache-                            _ -> fail "Could not find field name for RangeFilter"-          regexpFilter o = case HM.toList (deleteSeveral ["_name", "_cache", "_cache_key"] o) of-                              [(fn, Object o')] -> RegexpFilter (FieldName fn)-                                                   <$> o' .: "value"-                                                   <*> o' .: "flags"-                                                   <*> o .: "_name"-                                                   <*> o .:? "_cache" .!= defaultCache-                                                   <*> o .: "_cache_key"-                              _ -> fail "Could not find field name for RegexpFilter"-          termFilter o = case HM.toList (HM.delete "_cache" o) of-                         [(termField, String termVal)] -> TermFilter (Term termField termVal)-                                                          <$> o .:? "_cache" .!= defaultCache-                         _ -> fail "Could not find term field for TermFilter"--fieldTagged :: Monad m => (FieldName -> Object -> m a) -> Object -> m a-fieldTagged f o = case HM.toList o of-                    [(k, Object o')] -> f (FieldName k) o'-                    _ -> fail "Expected object with 1 field-named key"--instance ToJSON GeoPoint where-  toJSON (GeoPoint (FieldName geoPointField) geoPointLatLon) =-    object [ geoPointField  .= geoPointLatLon ]---instance ToJSON Query where-  toJSON (TermQuery (Term termQueryField termQueryValue) boost) =-    object [ "term" .=-             object [termQueryField .= object merged]]-    where-      base = [ "value" .= termQueryValue ]-      boosted = maybe [] (return . ("boost" .=)) boost-      merged = mappend base boosted--  toJSON (TermsQuery fieldName terms) =-    object [ "terms" .= object conjoined ]-    where conjoined = [fieldName .= terms]--  toJSON (IdsQuery idsQueryMappingName docIds) =-    object [ "ids" .= object conjoined ]-    where conjoined = [ "type"   .= idsQueryMappingName-                      , "values" .= fmap toJSON docIds ]--  toJSON (QueryQueryStringQuery qQueryStringQuery) =-    object [ "query_string" .= qQueryStringQuery ]--  toJSON (QueryMatchQuery matchQuery) =-    object [ "match" .= matchQuery ]--  toJSON (QueryMultiMatchQuery multiMatchQuery) =-      toJSON multiMatchQuery--  toJSON (QueryBoolQuery boolQuery) =-    object [ "bool" .= boolQuery ]--  toJSON (QueryBoostingQuery boostingQuery) =-    object [ "boosting" .= boostingQuery ]--  toJSON (QueryCommonTermsQuery commonTermsQuery) =-    object [ "common" .= commonTermsQuery ]--  toJSON (ConstantScoreFilter csFilter boost) =-    object ["constant_score" .= object ["filter" .= csFilter-                                       , "boost" .= boost]]--  toJSON (ConstantScoreQuery query boost) =-    object ["constant_score" .= object ["query" .= query-                                       , "boost" .= boost]]--  toJSON (QueryDisMaxQuery disMaxQuery) =-    object [ "dis_max" .= disMaxQuery ]--  toJSON (QueryFilteredQuery qFilteredQuery) =-    object [ "filtered" .= qFilteredQuery ]--  toJSON (QueryFuzzyLikeThisQuery fuzzyQuery) =-    object [ "fuzzy_like_this" .= fuzzyQuery ]--  toJSON (QueryFuzzyLikeFieldQuery fuzzyFieldQuery) =-    object [ "fuzzy_like_this_field" .= fuzzyFieldQuery ]--  toJSON (QueryFuzzyQuery fuzzyQuery) =-    object [ "fuzzy" .= fuzzyQuery ]--  toJSON (QueryHasChildQuery childQuery) =-    object [ "has_child" .= childQuery ]--  toJSON (QueryHasParentQuery parentQuery) =-    object [ "has_parent" .= parentQuery ]--  toJSON (QueryIndicesQuery qIndicesQuery) =-    object [ "indices" .= qIndicesQuery ]--  toJSON (MatchAllQuery boost) =-    object [ "match_all" .= omitNulls [ "boost" .= boost ] ]--  toJSON (QueryMoreLikeThisQuery query) =-    object [ "more_like_this" .= query ]--  toJSON (QueryMoreLikeThisFieldQuery query) =-    object [ "more_like_this_field" .= query ]--  toJSON (QueryNestedQuery query) =-    object [ "nested" .= query ]--  toJSON (QueryPrefixQuery query) =-    object [ "prefix" .= query ]--  toJSON (QueryRangeQuery query) =-    object [ "range"  .= query ]--  toJSON (QueryRegexpQuery query) =-    object [ "regexp" .= query ]--  toJSON (QuerySimpleQueryStringQuery query) =-    object [ "simple_query_string" .= query ]--instance FromJSON Query where-  parseJSON v = withObject "Query" parse v-    where parse o = termQuery `taggedWith` "term"-                <|> termsQuery `taggedWith` "terms"-                <|> idsQuery `taggedWith` "ids"-                <|> queryQueryStringQuery `taggedWith` "query_string"-                <|> queryMatchQuery `taggedWith` "match"-                <|> queryMultiMatchQuery-                <|> queryBoolQuery `taggedWith` "bool"-                <|> queryBoostingQuery `taggedWith` "boosting"-                <|> queryCommonTermsQuery `taggedWith` "common"-                <|> constantScoreFilter `taggedWith` "constant_score"-                <|> constantScoreQuery `taggedWith` "constant_score"-                <|> queryDisMaxQuery `taggedWith` "dis_max"-                <|> queryFilteredQuery `taggedWith` "filtered"-                <|> queryFuzzyLikeThisQuery `taggedWith` "fuzzy_like_this"-                <|> queryFuzzyLikeFieldQuery `taggedWith` "fuzzy_like_this_field"-                <|> queryFuzzyQuery `taggedWith` "fuzzy"-                <|> queryHasChildQuery `taggedWith` "has_child"-                <|> queryHasParentQuery `taggedWith` "has_parent"-                <|> queryIndicesQuery `taggedWith` "indices"-                <|> matchAllQuery `taggedWith` "match_all"-                <|> queryMoreLikeThisQuery `taggedWith` "more_like_this"-                <|> queryMoreLikeThisFieldQuery `taggedWith` "more_like_this_field"-                <|> queryNestedQuery `taggedWith` "nested"-                <|> queryPrefixQuery `taggedWith` "prefix"-                <|> queryRangeQuery `taggedWith` "range"-                <|> queryRegexpQuery `taggedWith` "regexp"-                <|> querySimpleQueryStringQuery `taggedWith` "simple_query_string"-            where taggedWith parser k = parser =<< o .: k-          termQuery = fieldTagged $ \(FieldName fn) o ->-                        TermQuery <$> (Term fn <$> o .: "value") <*> o .:? "boost"-          termsQuery o = case HM.toList o of-                           [(fn, vs)] -> do vals <- parseJSON vs-                                            case vals of-                                              x:xs -> return (TermsQuery fn (x :| xs))-                                              _ -> fail "Expected non empty list of values"-                           _ -> fail "Expected object with 1 field-named key"-          idsQuery o = IdsQuery <$> o .: "type"-                                <*> o .: "values"-          queryQueryStringQuery = pure . QueryQueryStringQuery-          queryMatchQuery = pure . QueryMatchQuery-          queryMultiMatchQuery = QueryMultiMatchQuery <$> parseJSON v-          queryBoolQuery = pure . QueryBoolQuery-          queryBoostingQuery = pure . QueryBoostingQuery-          queryCommonTermsQuery = pure . QueryCommonTermsQuery-          constantScoreFilter o = case HM.lookup "filter" o of-            Just x -> ConstantScoreFilter <$> parseJSON x-                                          <*> o .: "boost"-            _ -> fail "Does not appear to be a ConstantScoreFilter"-          constantScoreQuery o = case HM.lookup "query" o of-            Just x -> ConstantScoreQuery <$> parseJSON x-                                         <*> o .: "boost"-            _ -> fail "Does not appear to be a ConstantScoreQuery"-          queryDisMaxQuery = pure . QueryDisMaxQuery-          queryFilteredQuery = pure . QueryFilteredQuery-          queryFuzzyLikeThisQuery = pure . QueryFuzzyLikeThisQuery-          queryFuzzyLikeFieldQuery = pure . QueryFuzzyLikeFieldQuery-          queryFuzzyQuery = pure . QueryFuzzyQuery-          queryHasChildQuery = pure . QueryHasChildQuery-          queryHasParentQuery = pure . QueryHasParentQuery-          queryIndicesQuery = pure . QueryIndicesQuery-          matchAllQuery o = MatchAllQuery <$> o .:? "boost"-          queryMoreLikeThisQuery = pure . QueryMoreLikeThisQuery-          queryMoreLikeThisFieldQuery = pure . QueryMoreLikeThisFieldQuery-          queryNestedQuery = pure . QueryNestedQuery-          queryPrefixQuery = pure . QueryPrefixQuery-          queryRangeQuery = pure . QueryRangeQuery-          queryRegexpQuery = pure . QueryRegexpQuery-          querySimpleQueryStringQuery = pure . QuerySimpleQueryStringQuery---omitNulls :: [(Text, Value)] -> Value-omitNulls = object . filter notNull where-  notNull (_, Null)      = False-  notNull (_, Array a) = (not . V.null) a-  notNull _              = True---instance ToJSON SimpleQueryStringQuery where-  toJSON SimpleQueryStringQuery {..} =-    omitNulls (base ++ maybeAdd)-    where base = [ "query" .= simpleQueryStringQuery ]-          maybeAdd = [ "fields" .= simpleQueryStringField-                     , "default_operator" .= simpleQueryStringOperator-                     , "analyzer" .= simpleQueryStringAnalyzer-                     , "flags" .= simpleQueryStringFlags-                     , "lowercase_expanded_terms" .= simpleQueryStringLowercaseExpanded-                     , "locale" .= simpleQueryStringLocale ]--instance FromJSON SimpleQueryStringQuery where-  parseJSON = withObject "SimpleQueryStringQuery" parse-    where parse o = SimpleQueryStringQuery <$> o .: "query"-                                           <*> o .:? "fields"-                                           <*> o .:? "default_operator"-                                           <*> o .:? "analyzer"-                                           <*> (parseFlags <$> o .:? "flags")-                                           <*> o .:? "lowercase_expanded_terms"-                                           <*> o .:? "locale"-          parseFlags (Just (x:xs)) = Just (x :| xs)-          parseFlags _             = Nothing--instance ToJSON FieldOrFields where-  toJSON (FofField fieldName) =-    toJSON fieldName-  toJSON (FofFields fieldNames) =-    toJSON fieldNames--instance FromJSON FieldOrFields where-  parseJSON v = FofField  <$> parseJSON v-            <|> FofFields <$> (parseNEJSON =<< parseJSON v)--instance ToJSON SimpleQueryFlag where-  toJSON SimpleQueryAll        = "ALL"-  toJSON SimpleQueryNone       = "NONE"-  toJSON SimpleQueryAnd        = "AND"-  toJSON SimpleQueryOr         = "OR"-  toJSON SimpleQueryPrefix     = "PREFIX"-  toJSON SimpleQueryPhrase     = "PHRASE"-  toJSON SimpleQueryPrecedence = "PRECEDENCE"-  toJSON SimpleQueryEscape     = "ESCAPE"-  toJSON SimpleQueryWhitespace = "WHITESPACE"-  toJSON SimpleQueryFuzzy      = "FUZZY"-  toJSON SimpleQueryNear       = "NEAR"-  toJSON SimpleQuerySlop       = "SLOP"--instance FromJSON SimpleQueryFlag where-  parseJSON = withText "SimpleQueryFlag" parse-    where parse "ALL"        = pure SimpleQueryAll-          parse "NONE"       = pure SimpleQueryNone-          parse "AND"        = pure SimpleQueryAnd-          parse "OR"         = pure SimpleQueryOr-          parse "PREFIX"     = pure SimpleQueryPrefix-          parse "PHRASE"     = pure SimpleQueryPhrase-          parse "PRECEDENCE" = pure SimpleQueryPrecedence-          parse "ESCAPE"     = pure SimpleQueryEscape-          parse "WHITESPACE" = pure SimpleQueryWhitespace-          parse "FUZZY"      = pure SimpleQueryFuzzy-          parse "NEAR"       = pure SimpleQueryNear-          parse "SLOP"       = pure SimpleQuerySlop-          parse f            = fail ("Unexpected SimpleQueryFlag: " <> show f)--instance ToJSON RegexpQuery where-  toJSON (RegexpQuery (FieldName rqQueryField)-          (Regexp regexpQueryQuery) rqQueryFlags-          rqQueryBoost) =-   object [ rqQueryField .= omitNulls base ]-   where base = [ "value" .= regexpQueryQuery-                , "flags" .= rqQueryFlags-                , "boost" .= rqQueryBoost ]--instance FromJSON RegexpQuery where-  parseJSON = withObject "RegexpQuery" parse-    where parse = fieldTagged $ \fn o ->-                    RegexpQuery fn-                    <$> o .: "value"-                    <*> o .: "flags"-                    <*> o .:? "boost"--instance ToJSON QueryStringQuery where-  toJSON (QueryStringQuery qsQueryString-          qsDefaultField qsOperator-          qsAnalyzer qsAllowWildcard-          qsLowercaseExpanded  qsEnablePositionIncrements-          qsFuzzyMaxExpansions qsFuzziness-          qsFuzzyPrefixLength qsPhraseSlop-          qsBoost qsAnalyzeWildcard-          qsGeneratePhraseQueries qsMinimumShouldMatch-          qsLenient qsLocale) =-    omitNulls base-    where-      base = [ "query" .= qsQueryString-             , "default_field" .= qsDefaultField-             , "default_operator" .= qsOperator-             , "analyzer" .= qsAnalyzer-             , "allow_leading_wildcard" .= qsAllowWildcard-             , "lowercase_expanded_terms" .= qsLowercaseExpanded-             , "enable_position_increments" .= qsEnablePositionIncrements-             , "fuzzy_max_expansions" .= qsFuzzyMaxExpansions-             , "fuzziness" .= qsFuzziness-             , "fuzzy_prefix_length" .= qsFuzzyPrefixLength-             , "phrase_slop" .= qsPhraseSlop-             , "boost" .= qsBoost-             , "analyze_wildcard" .= qsAnalyzeWildcard-             , "auto_generate_phrase_queries" .= qsGeneratePhraseQueries-             , "minimum_should_match" .= qsMinimumShouldMatch-             , "lenient" .= qsLenient-             , "locale" .= qsLocale ]--instance FromJSON QueryStringQuery where-  parseJSON = withObject "QueryStringQuery" parse-    where parse o = QueryStringQuery-                    <$> o .: "query"-                    <*> o .:? "default_field"-                    <*> o .:? "default_operator"-                    <*> o .:? "analyzer"-                    <*> o .:? "allow_leading_wildcard"-                    <*> o .:? "lowercase_expanded_terms"-                    <*> o .:? "enable_position_increments"-                    <*> o .:? "fuzzy_max_expansions"-                    <*> o .:? "fuzziness"-                    <*> o .:? "fuzzy_prefix_length"-                    <*> o .:? "phrase_slop"-                    <*> o .:? "boost"-                    <*> o .:? "analyze_wildcard"-                    <*> o .:? "auto_generate_phrase_queries"-                    <*> o .:? "minimum_should_match"-                    <*> o .:? "lenient"-                    <*> o .:? "locale"--instance ToJSON RangeQuery where-  toJSON (RangeQuery (FieldName fieldName) range boost) =-    object [ fieldName .= object conjoined ]-    where conjoined = [ "boost" .= boost ] ++ (rangeValueToPair range)--instance FromJSON RangeQuery where-  parseJSON = withObject "RangeQuery" parse-    where parse = fieldTagged $ \fn o ->-                    RangeQuery fn-                    <$> parseJSON (Object o)-                    <*> o .: "boost"--instance FromJSON RangeValue where-  parseJSON = withObject "RangeValue" parse-    where parse o = parseDate o-                <|> parseDouble o-          parseDate o = do lt <- o .:? "lt"-                           lte <- o .:? "lte"-                           gt <- o .:? "gt"-                           gte <- o .:? "gte"-                           case (lt, lte, gt, gte) of-                             (Just a, _, Just b, _) -> return (RangeDateGtLt (GreaterThanD b) (LessThanD a))-                             (Just a, _, _, Just b)-> return (RangeDateGteLt (GreaterThanEqD b) (LessThanD a))-                             (_, Just a, Just b, _)-> return (RangeDateGtLte (GreaterThanD b) (LessThanEqD a))-                             (_, Just a, _, Just b)-> return (RangeDateGteLte (GreaterThanEqD b) (LessThanEqD a))-                             (_, _, Just a, _)-> return (RangeDateGt (GreaterThanD a))-                             (Just a, _, _, _)-> return (RangeDateLt (LessThanD a))-                             (_, _, _, Just a)-> return (RangeDateGte (GreaterThanEqD a))-                             (_, Just a, _, _)-> return (RangeDateLte (LessThanEqD a))-                             (Nothing, Nothing, Nothing, Nothing) -> mzero-          parseDouble o = do lt <- o .:? "lt"-                             lte <- o .:? "lte"-                             gt <- o .:? "gt"-                             gte <- o .:? "gte"-                             case (lt, lte, gt, gte) of-                               (Just a, _, Just b, _) -> return (RangeDoubleGtLt (GreaterThan b) (LessThan a))-                               (Just a, _, _, Just b)-> return (RangeDoubleGteLt (GreaterThanEq b) (LessThan a))-                               (_, Just a, Just b, _)-> return (RangeDoubleGtLte (GreaterThan b) (LessThanEq a))-                               (_, Just a, _, Just b)-> return (RangeDoubleGteLte (GreaterThanEq b) (LessThanEq a))-                               (_, _, Just a, _)-> return (RangeDoubleGt (GreaterThan a))-                               (Just a, _, _, _)-> return (RangeDoubleLt (LessThan a))-                               (_, _, _, Just a)-> return (RangeDoubleGte (GreaterThanEq a))-                               (_, Just a, _, _)-> return (RangeDoubleLte (LessThanEq a))-                               (Nothing, Nothing, Nothing, Nothing) -> mzero--instance ToJSON PrefixQuery where-  toJSON (PrefixQuery (FieldName fieldName) queryValue boost) =-    object [ fieldName .= omitNulls base ]-    where base = [ "value" .= queryValue-                 , "boost" .= boost ]--instance FromJSON PrefixQuery where-  parseJSON = withObject "PrefixQuery" parse-    where parse = fieldTagged $ \fn o ->-                    PrefixQuery fn-                    <$> o .: "value"-                    <*> o .:? "boost"--instance ToJSON NestedQuery where-  toJSON (NestedQuery nqPath nqScoreType nqQuery) =-    object [ "path"       .= nqPath-           , "score_mode" .= nqScoreType-           , "query"      .= nqQuery ]--instance FromJSON NestedQuery where-  parseJSON = withObject "NestedQuery" parse-    where parse o = NestedQuery-                    <$> o .: "path"-                    <*> o .: "score_mode"-                    <*> o .: "query"--instance ToJSON MoreLikeThisFieldQuery where-  toJSON (MoreLikeThisFieldQuery text (FieldName fieldName)-          percent mtf mqt stopwords mindf maxdf-          minwl maxwl boostTerms boost analyzer) =-    object [ fieldName .= omitNulls base ]-    where base = [ "like_text" .= text-                 , "percent_terms_to_match" .= percent-                 , "min_term_freq" .= mtf-                 , "max_query_terms" .= mqt-                 , "stop_words" .= stopwords-                 , "min_doc_freq" .= mindf-                 , "max_doc_freq" .= maxdf-                 , "min_word_length" .= minwl-                 , "max_word_length" .= maxwl-                 , "boost_terms" .= boostTerms-                 , "boost" .= boost-                 , "analyzer" .= analyzer ]--instance FromJSON MoreLikeThisFieldQuery where-  parseJSON = withObject "MoreLikeThisFieldQuery" parse-    where parse = fieldTagged $ \fn o ->-                    MoreLikeThisFieldQuery-                    <$> o .: "like_text"-                    <*> pure fn-                    <*> o .:? "percent_terms_to_match"-                    <*> o .:? "min_term_freq"-                    <*> o .:? "max_query_terms"-                    -- <*> (optionalNE =<< o .:? "stop_words")-                    <*> o .:? "stop_words"-                    <*> o .:? "min_doc_freq"-                    <*> o .:? "max_doc_freq"-                    <*> o .:? "min_word_length"-                    <*> o .:? "max_word_length"-                    <*> o .:? "boost_terms"-                    <*> o .:? "boost"-                    <*> o .:? "analyzer"-          -- optionalNE = maybe (pure Nothing) (fmap Just . parseNEJSON)--instance ToJSON MoreLikeThisQuery where-  toJSON (MoreLikeThisQuery text fields percent-          mtf mqt stopwords mindf maxdf-          minwl maxwl boostTerms boost analyzer) =-    omitNulls base-    where base = [ "like_text" .= text-                 , "fields" .= fields-                 , "percent_terms_to_match" .= percent-                 , "min_term_freq" .= mtf-                 , "max_query_terms" .= mqt-                 , "stop_words" .= stopwords-                 , "min_doc_freq" .= mindf-                 , "max_doc_freq" .= maxdf-                 , "min_word_length" .= minwl-                 , "max_word_length" .= maxwl-                 , "boost_terms" .= boostTerms-                 , "boost" .= boost-                 , "analyzer" .= analyzer ]--instance FromJSON MoreLikeThisQuery where-  parseJSON = withObject "MoreLikeThisQuery" parse-    where parse o = MoreLikeThisQuery-                    <$> o .: "like_text"-                    -- <*> (optionalNE =<< o .:? "fields")-                    <*> o .:? "fields"-                    <*> o .:? "percent_terms_to_match"-                    <*> o .:? "min_term_freq"-                    <*> o .:? "max_query_terms"-                    -- <*> (optionalNE =<< o .:? "stop_words")-                    <*> o .:? "stop_words"-                    <*> o .:? "min_doc_freq"-                    <*> o .:? "max_doc_freq"-                    <*> o .:? "min_word_length"-                    <*> o .:? "max_word_length"-                    <*> o .:? "boost_terms"-                    <*> o .:? "boost"-                    <*> o .:? "analyzer"-          -- optionalNE = maybe (pure Nothing) (fmap Just . parseNEJSON)--instance ToJSON IndicesQuery where-  toJSON (IndicesQuery indices query noMatch) =-    omitNulls [ "indices" .= indices-              , "no_match_query" .= noMatch-              , "query" .= query ]--instance FromJSON IndicesQuery where-  parseJSON = withObject "IndicesQuery" parse-    where parse o = IndicesQuery-                    <$> o .:? "indices" .!= []-                    <*> o .: "query"-                    <*> o .:? "no_match_query"--instance ToJSON HasParentQuery where-  toJSON (HasParentQuery queryType query scoreType) =-    omitNulls [ "parent_type" .= queryType-              , "score_type" .= scoreType-              , "query" .= query ]--instance FromJSON HasParentQuery where-  parseJSON = withObject "HasParentQuery" parse-    where parse o = HasParentQuery-                    <$> o .: "parent_type"-                    <*> o .: "query"-                    <*> o .:? "score_type"--instance ToJSON HasChildQuery where-  toJSON (HasChildQuery queryType query scoreType) =-    omitNulls [ "query" .= query-              , "score_type" .= scoreType-              , "type"  .= queryType ]--instance FromJSON HasChildQuery where-  parseJSON = withObject "HasChildQuery" parse-    where parse o = HasChildQuery-                    <$> o .: "type"-                    <*> o .: "query"-                    <*> o .:? "score_type"--instance ToJSON FuzzyQuery where-  toJSON (FuzzyQuery (FieldName fieldName) queryText-          prefixLength maxEx fuzziness boost) =-    object [ fieldName .= omitNulls base ]-    where base = [ "value"          .= queryText-                 , "fuzziness"      .= fuzziness-                 , "prefix_length"  .= prefixLength-                 , "boost" .= boost-                 , "max_expansions" .= maxEx ]--instance FromJSON FuzzyQuery where-  parseJSON = withObject "FuzzyQuery" parse-    where parse = fieldTagged $ \fn o ->-                    FuzzyQuery fn-                    <$> o .: "value"-                    <*> o .: "prefix_length"-                    <*> o .: "max_expansions"-                    <*> o .: "fuzziness"-                    <*> o .:? "boost"--instance ToJSON FuzzyLikeFieldQuery where-  toJSON (FuzzyLikeFieldQuery (FieldName fieldName)-          fieldText maxTerms ignoreFreq fuzziness prefixLength-          boost analyzer) =-    object [ fieldName .=-             omitNulls [ "like_text"       .= fieldText-                       , "max_query_terms" .= maxTerms-                       , "ignore_tf"       .= ignoreFreq-                       , "fuzziness"       .= fuzziness-                       , "prefix_length"   .= prefixLength-                       , "analyzer" .= analyzer-                       , "boost"           .= boost ]]--instance FromJSON FuzzyLikeFieldQuery where-  parseJSON = withObject "FuzzyLikeFieldQuery" parse-    where parse = fieldTagged $ \fn o ->-                    FuzzyLikeFieldQuery fn-                    <$> o .: "like_text"-                    <*> o .: "max_query_terms"-                    <*> o .: "ignore_tf"-                    <*> o .: "fuzziness"-                    <*> o .: "prefix_length"-                    <*> o .: "boost"-                    <*> o .:? "analyzer"--instance ToJSON FuzzyLikeThisQuery where-  toJSON (FuzzyLikeThisQuery fields text maxTerms-          ignoreFreq fuzziness prefixLength boost analyzer) =-    omitNulls base-    where base = [ "fields"          .= fields-                 , "like_text"       .= text-                 , "max_query_terms" .= maxTerms-                 , "ignore_tf"       .= ignoreFreq-                 , "fuzziness"       .= fuzziness-                 , "prefix_length"   .= prefixLength-                 , "analyzer"        .= analyzer-                 , "boost"           .= boost ]--instance FromJSON FuzzyLikeThisQuery where-  parseJSON = withObject "FuzzyLikeThisQuery" parse-    where parse o = FuzzyLikeThisQuery-                    <$> o .:? "fields" .!= []-                    <*> o .: "like_text"-                    <*> o .: "max_query_terms"-                    <*> o .: "ignore_tf"-                    <*> o .: "fuzziness"-                    <*> o .: "prefix_length"-                    <*> o .: "boost"-                    <*> o .:? "analyzer"--instance ToJSON FilteredQuery where-  toJSON (FilteredQuery query fFilter) =-    object [ "query"  .= query-           , "filter" .= fFilter ]--instance FromJSON FilteredQuery where-  parseJSON = withObject "FilteredQuery" parse-    where parse o = FilteredQuery-                    <$> o .: "query"-                    <*> o .: "filter"--instance ToJSON DisMaxQuery where-  toJSON (DisMaxQuery queries tiebreaker boost) =-    omitNulls base-    where base = [ "queries"     .= queries-                 , "boost"       .= boost-                 , "tie_breaker" .= tiebreaker ]--instance FromJSON DisMaxQuery where-  parseJSON = withObject "DisMaxQuery" parse-    where parse o = DisMaxQuery-                    <$> o .:? "queries" .!= []-                    <*> o .: "tie_breaker"-                    <*> o .:? "boost"--instance ToJSON CommonTermsQuery where-  toJSON (CommonTermsQuery (FieldName fieldName)-          (QueryString query) cf lfo hfo msm-          boost analyzer disableCoord) =-    object [fieldName .= omitNulls base ]-    where base = [ "query"              .= query-                 , "cutoff_frequency"   .= cf-                 , "low_freq_operator"  .= lfo-                 , "minimum_should_match" .= msm-                 , "boost" .= boost-                 , "analyzer" .= analyzer-                 , "disable_coord" .= disableCoord-                 , "high_freq_operator" .= hfo ]--instance FromJSON CommonTermsQuery where-  parseJSON = withObject "CommonTermsQuery" parse-    where parse = fieldTagged $ \fn o ->-                    CommonTermsQuery fn-                    <$> o .: "query"-                    <*> o .: "cutoff_frequency"-                    <*> o .: "low_freq_operator"-                    <*> o .: "high_freq_operator"-                    <*> o .:? "minimum_should_match"-                    <*> o .:? "boost"-                    <*> o .:? "analyzer"-                    <*> o .:? "disable_coord"--instance ToJSON CommonMinimumMatch where-  toJSON (CommonMinimumMatch mm) = toJSON mm-  toJSON (CommonMinimumMatchHighLow (MinimumMatchHighLow lowF highF)) =-    object [ "low_freq"  .= lowF-           , "high_freq" .= highF ]--instance FromJSON CommonMinimumMatch where-  parseJSON v = parseMinimum v-            <|> parseMinimumHighLow v-    where parseMinimum = fmap CommonMinimumMatch . parseJSON-          parseMinimumHighLow = fmap CommonMinimumMatchHighLow . withObject "CommonMinimumMatchHighLow" (\o ->-                                  MinimumMatchHighLow-                                  <$> o .: "low_freq"-                                  <*> o .: "high_freq")---instance ToJSON BoostingQuery where-  toJSON (BoostingQuery bqPositiveQuery bqNegativeQuery bqNegativeBoost) =-    object [ "positive"       .= bqPositiveQuery-           , "negative"       .= bqNegativeQuery-           , "negative_boost" .= bqNegativeBoost ]--instance FromJSON BoostingQuery where-  parseJSON = withObject "BoostingQuery" parse-    where parse o = BoostingQuery-                    <$> o .: "positive"-                    <*> o .: "negative"-                    <*> o .: "negative_boost"--instance ToJSON BoolQuery where-  toJSON (BoolQuery mustM notM shouldM bqMin boost disableCoord) =-    omitNulls base-    where base = [ "must" .= mustM-                 , "must_not" .= notM-                 , "should" .= shouldM-                 , "minimum_should_match" .= bqMin-                 , "boost" .= boost-                 , "disable_coord" .= disableCoord ]--instance FromJSON BoolQuery where-  parseJSON = withObject "BoolQuery" parse-    where parse o = BoolQuery-                    <$> o .:? "must" .!= []-                    <*> o .:? "must_not" .!= []-                    <*> o .:? "should" .!= []-                    <*> o .:? "minimum_should_match"-                    <*> o .:? "boost"-                    <*> o .:? "disable_coord"--instance ToJSON MatchQuery where-  toJSON (MatchQuery (FieldName fieldName)-          (QueryString mqQueryString) booleanOperator-          zeroTermsQuery cutoffFrequency matchQueryType-          analyzer maxExpansions lenient boost) =-    object [ fieldName .= omitNulls base ]-    where base = [ "query" .= mqQueryString-                 , "operator" .= booleanOperator-                 , "zero_terms_query" .= zeroTermsQuery-                 , "cutoff_frequency" .= cutoffFrequency-                 , "type" .= matchQueryType-                 , "analyzer" .= analyzer-                 , "max_expansions" .= maxExpansions-                 , "lenient" .= lenient-                 , "boost" .= boost ]--instance FromJSON MatchQuery where-  parseJSON = withObject "MatchQuery" parse-    where parse = fieldTagged $ \fn o ->-                    MatchQuery fn-                    <$> o .:  "query"-                    <*> o .:  "operator"-                    <*> o .:  "zero_terms_query"-                    <*> o .:? "cutoff_frequency"-                    <*> o .:? "type"-                    <*> o .:? "analyzer"-                    <*> o .:? "max_expansions"-                    <*> o .:? "lenient"-                    <*> o .:? "boost"--instance ToJSON MultiMatchQuery where-  toJSON (MultiMatchQuery fields (QueryString query) boolOp-          ztQ tb mmqt cf analyzer maxEx lenient) =-    object ["multi_match" .= omitNulls base]-    where base = [ "fields" .= fmap toJSON fields-                 , "query" .= query-                 , "operator" .= boolOp-                 , "zero_terms_query" .= ztQ-                 , "tie_breaker" .= tb-                 , "type" .= mmqt-                 , "cutoff_frequency" .= cf-                 , "analyzer" .= analyzer-                 , "max_expansions" .= maxEx-                 , "lenient" .= lenient ]--instance FromJSON MultiMatchQuery where-  parseJSON = withObject "MultiMatchQuery" parse-    where parse raw = do o <- raw .: "multi_match"-                         MultiMatchQuery-                           <$> o .:? "fields" .!= []-                           <*> o .: "query"-                           <*> o .: "operator"-                           <*> o .: "zero_terms_query"-                           <*> o .:? "tie_breaker"-                           <*> o .:? "type"-                           <*> o .:? "cutoff_frequency"-                           <*> o .:? "analyzer"-                           <*> o .:? "max_expansions"-                           <*> o .:? "lenient"--instance ToJSON MultiMatchQueryType where-  toJSON MultiMatchBestFields = "best_fields"-  toJSON MultiMatchMostFields = "most_fields"-  toJSON MultiMatchCrossFields = "cross_fields"-  toJSON MultiMatchPhrase = "phrase"-  toJSON MultiMatchPhrasePrefix = "phrase_prefix"--instance FromJSON MultiMatchQueryType where-  parseJSON = withText "MultiMatchPhrasePrefix" parse-    where parse "best_fields"   = pure MultiMatchBestFields-          parse "most_fields"   = pure MultiMatchMostFields-          parse "cross_fields"  = pure MultiMatchCrossFields-          parse "phrase"        = pure MultiMatchPhrase-          parse "phrase_prefix" = pure MultiMatchPhrasePrefix-          parse t = fail ("Unexpected MultiMatchPhrasePrefix: " <> show t)--instance ToJSON BooleanOperator where-  toJSON And = String "and"-  toJSON Or = String "or"--instance FromJSON BooleanOperator where-  parseJSON = withText "BooleanOperator" parse-    where parse "and" = pure And-          parse "or"  = pure Or-          parse o     = fail ("Unexpected BooleanOperator: " <> show o)--instance ToJSON ZeroTermsQuery where-  toJSON ZeroTermsNone = String "none"-  toJSON ZeroTermsAll  = String "all"--instance FromJSON ZeroTermsQuery where-  parseJSON = withText "ZeroTermsQuery" parse-    where parse "none" = pure ZeroTermsNone-          parse "all"  = pure ZeroTermsAll-          parse q      = fail ("Unexpected ZeroTermsQuery: " <> show q)--instance ToJSON MatchQueryType where-  toJSON MatchPhrase = "phrase"-  toJSON MatchPhrasePrefix = "phrase_prefix"--instance FromJSON MatchQueryType where-  parseJSON = withText "MatchQueryType" parse-    where parse "phrase"        = pure MatchPhrase-          parse "phrase_prefix" = pure MatchPhrasePrefix-          parse t               = fail ("Unexpected MatchQueryType: " <> show t)--instance FromJSON Status where-  parseJSON (Object v) = Status <$>-                         v .:? "ok" <*>-                         (v .:? "status" .!= 200) <*>-                         v .: "name" <*>-                         v .: "version" <*>-                         v .: "tagline"-  parseJSON _          = empty---instance ToJSON IndexSettings where-  toJSON (IndexSettings s r) = object ["settings" .=-                                 object ["index" .=-                                   object ["number_of_shards" .= s, "number_of_replicas" .= r]-                                 ]-                               ]--instance FromJSON IndexSettings where-  parseJSON = withObject "IndexSettings" parse-    where parse o = do s <- o .: "settings"-                       i <- s .: "index"-                       IndexSettings <$> i .: "number_of_shards"-                                     <*> i .: "number_of_replicas"--instance ToJSON UpdatableIndexSetting where-  toJSON (NumberOfReplicas x) = oPath ("index" :| ["number_of_replicas"]) x-  toJSON (AutoExpandReplicas x) = oPath ("index" :| ["auto_expand_replicas"]) x-  toJSON (RefreshInterval x) = oPath ("index" :| ["refresh_interval"]) (NominalDiffTimeJSON x)-  toJSON (IndexConcurrency x) = oPath ("index" :| ["concurrency"]) x-  toJSON (FailOnMergeFailure x) = oPath ("index" :| ["fail_on_merge_failure"]) x-  toJSON (TranslogFlushThresholdOps x) = oPath ("index" :| ["translog", "flush_threshold_ops"]) x-  toJSON (TranslogFlushThresholdSize x) = oPath ("index" :| ["translog", "flush_threshold_size"]) x-  toJSON (TranslogFlushThresholdPeriod x) = oPath ("index" :| ["translog", "flush_threshold_period"]) (NominalDiffTimeJSON x)-  toJSON (TranslogDisableFlush x) = oPath ("index" :| ["translog", "disable_flush"]) x-  toJSON (CacheFilterMaxSize x) = oPath ("index" :| ["cache", "filter", "max_size"]) x-  toJSON (CacheFilterExpire x) = oPath ("index" :| ["cache", "filter", "expire"]) (NominalDiffTimeJSON <$> x)-  toJSON (GatewaySnapshotInterval x) = oPath ("index" :| ["gateway", "snapshot_interval"]) (NominalDiffTimeJSON x)-  toJSON (RoutingAllocationInclude fs) = oPath ("index" :| ["routing", "allocation", "include"]) (attrFilterJSON fs)-  toJSON (RoutingAllocationExclude fs) = oPath ("index" :| ["routing", "allocation", "exclude"]) (attrFilterJSON fs)-  toJSON (RoutingAllocationRequire fs) = oPath ("index" :| ["routing", "allocation", "require"]) (attrFilterJSON fs)-  toJSON (RoutingAllocationEnable x) = oPath ("index" :| ["routing", "allocation", "enable"]) x-  toJSON (RoutingAllocationShardsPerNode x) = oPath ("index" :| ["routing", "allocation", "total_shards_per_node"]) x-  toJSON (RecoveryInitialShards x) = oPath ("index" :| ["recovery", "initial_shards"]) x-  toJSON (GCDeletes x) = oPath ("index" :| ["gc_deletes"]) (NominalDiffTimeJSON x)-  toJSON (TTLDisablePurge x) = oPath ("index" :| ["ttl", "disable_purge"]) x-  toJSON (TranslogFSType x) = oPath ("index" :| ["translog", "fs", "type"]) x-  toJSON (IndexCompoundFormat x) = oPath ("index" :| ["compound_format"]) x-  toJSON (IndexCompoundOnFlush x) = oPath ("index" :| ["compound_on_flush"]) x-  toJSON (WarmerEnabled x) = oPath ("index" :| ["warmer", "enabled"]) x-  toJSON (BlocksReadOnly x) = oPath ("blocks" :| ["read_only"]) x-  toJSON (BlocksRead x) = oPath ("blocks" :| ["read"]) x-  toJSON (BlocksWrite x) = oPath ("blocks" :| ["write"]) x-  toJSON (BlocksMetaData x) = oPath ("blocks" :| ["metadata"]) x--instance FromJSON UpdatableIndexSetting where-  parseJSON = withObject "UpdatableIndexSetting" parse-    where parse o = numberOfReplicas `taggedAt` ["index", "number_of_replicas"]-                <|> autoExpandReplicas `taggedAt` ["index", "auto_expand_replicas"]-                <|> refreshInterval `taggedAt` ["index", "refresh_interval"]-                <|> indexConcurrency `taggedAt` ["index", "concurrency"]-                <|> failOnMergeFailure `taggedAt` ["index", "fail_on_merge_failure"]-                <|> translogFlushThresholdOps `taggedAt` ["index", "translog", "flush_threshold_ops"]-                <|> translogFlushThresholdSize `taggedAt` ["index", "translog", "flush_threshold_size"]-                <|> translogFlushThresholdPeriod `taggedAt` ["index", "translog", "flush_threshold_period"]-                <|> translogDisableFlush `taggedAt` ["index", "translog", "disable_flush"]-                <|> cacheFilterMaxSize `taggedAt` ["index", "cache", "filter", "max_size"]-                <|> cacheFilterExpire `taggedAt` ["index", "cache", "filter", "expire"]-                <|> gatewaySnapshotInterval `taggedAt` ["index", "gateway", "snapshot_interval"]-                <|> routingAllocationInclude `taggedAt` ["index", "routing", "allocation", "include"]-                <|> routingAllocationExclude `taggedAt` ["index", "routing", "allocation", "exclude"]-                <|> routingAllocationRequire `taggedAt` ["index", "routing", "allocation", "require"]-                <|> routingAllocationEnable `taggedAt` ["index", "routing", "allocation", "enable"]-                <|> routingAllocationShardsPerNode `taggedAt` ["index", "routing", "allocation", "total_shards_per_node"]-                <|> recoveryInitialShards `taggedAt` ["index", "recovery", "initial_shards"]-                <|> gcDeletes `taggedAt` ["index", "gc_deletes"]-                <|> ttlDisablePurge `taggedAt` ["index", "ttl", "disable_purge"]-                <|> translogFSType `taggedAt` ["index", "translog", "fs", "type"]-                <|> compoundFormat `taggedAt` ["index", "compound_format"]-                <|> compoundOnFlush `taggedAt` ["index", "compound_on_flush"]-                <|> warmerEnabled `taggedAt` ["index", "warmer", "enabled"]-                <|> blocksReadOnly `taggedAt` ["blocks", "read_only"]-                <|> blocksRead `taggedAt` ["blocks", "read"]-                <|> blocksWrite `taggedAt` ["blocks", "write"]-                <|> blocksMetaData `taggedAt` ["blocks", "metadata"]-            where taggedAt f ks = taggedAt' f (Object o) ks-          taggedAt' f v [] = f =<< (parseJSON v <|> (parseJSON (unStringlyTypeJSON v)))-          taggedAt' f v (k:ks) = withObject "Object" (\o -> do v' <- o .: k-                                                               taggedAt' f v' ks) v-          numberOfReplicas               = pure . NumberOfReplicas-          autoExpandReplicas             = pure . AutoExpandReplicas-          refreshInterval                = pure . RefreshInterval . ndtJSON-          indexConcurrency               = pure . IndexConcurrency-          failOnMergeFailure             = pure . FailOnMergeFailure-          translogFlushThresholdOps      = pure . TranslogFlushThresholdOps-          translogFlushThresholdSize     = pure . TranslogFlushThresholdSize-          translogFlushThresholdPeriod   = pure . TranslogFlushThresholdPeriod . ndtJSON-          translogDisableFlush           = pure . TranslogDisableFlush-          cacheFilterMaxSize             = pure . CacheFilterMaxSize-          cacheFilterExpire              = pure . CacheFilterExpire . fmap ndtJSON-          gatewaySnapshotInterval        = pure . GatewaySnapshotInterval . ndtJSON-          routingAllocationInclude       = fmap RoutingAllocationInclude . parseAttrFilter-          routingAllocationExclude       = fmap RoutingAllocationExclude . parseAttrFilter-          routingAllocationRequire       = fmap RoutingAllocationRequire . parseAttrFilter-          routingAllocationEnable        = pure . RoutingAllocationEnable-          routingAllocationShardsPerNode = pure . RoutingAllocationShardsPerNode-          recoveryInitialShards          = pure . RecoveryInitialShards-          gcDeletes                      = pure . GCDeletes . ndtJSON-          ttlDisablePurge                = pure . TTLDisablePurge-          translogFSType                 = pure . TranslogFSType-          compoundFormat                 = pure . IndexCompoundFormat-          compoundOnFlush                = pure . IndexCompoundOnFlush-          warmerEnabled                  = pure . WarmerEnabled-          blocksReadOnly                 = pure . BlocksReadOnly-          blocksRead                     = pure . BlocksRead-          blocksWrite                    = pure . BlocksWrite-          blocksMetaData                 = pure . BlocksMetaData--instance FromJSON IndexSettingsSummary where-  parseJSON = withObject "IndexSettingsSummary" parse-    where parse o = case HM.toList o of-                      [(ixn, v@(Object o'))] -> IndexSettingsSummary (IndexName ixn)-                                                <$> parseJSON v-                                                <*> (fmap (filter (not . redundant)) . parseSettings =<< o' .: "settings")-                      _ -> fail "Expected single-key object with index name"-          redundant (NumberOfReplicas _) = True-          redundant _ = False---- | For some reason in several settings APIs, all leaf values get returned--- as strings. This function attepmts to recover from this for all--- non-recursive JSON types. If nothing can be done, the value is left alone.-unStringlyTypeJSON :: Value -> Value-unStringlyTypeJSON (String "true") = Bool True-unStringlyTypeJSON (String "false") = Bool False-unStringlyTypeJSON (String "null") = Null-unStringlyTypeJSON v@(String t) = case readMay (T.unpack t) of-                                  Just n -> Number n-                                  Nothing -> v-unStringlyTypeJSON v = v---parseSettings :: Object -> Parser [UpdatableIndexSetting]-parseSettings o = do-  o' <- o .: "index"-  -- slice the index object into singleton hashmaps and try to parse each-  parses <- forM (HM.toList o') $ \(k, v) -> do-    -- blocks are now nested into the "index" key, which is not how they're serialized-    let atRoot = Object (HM.singleton k v)-    let atIndex = Object (HM.singleton "index" atRoot)-    optional (parseJSON atRoot <|> parseJSON atIndex)-  return (catMaybes parses)--oPath :: ToJSON a => NonEmpty Text -> a -> Value-oPath (k :| []) v = object [k .= v]-oPath (k:| (h:t)) v = object [k .= oPath (h :| t) v]--attrFilterJSON :: NonEmpty NodeAttrFilter -> Value-attrFilterJSON fs = object [ n .= T.intercalate "," (toList vs)-                           | NodeAttrFilter (NodeAttrName n) vs <- toList fs]--parseAttrFilter :: Value -> Parser (NonEmpty NodeAttrFilter)-parseAttrFilter = withObject "NonEmpty NodeAttrFilter" parse-  where parse o = case HM.toList o of-                    [] -> fail "Expected non-empty list of NodeAttrFilters"-                    x:xs -> DT.mapM (uncurry parse') (x :| xs)-        parse' n = withText "Text" $ \t ->-          case T.splitOn "," t of-            fv:fvs -> return (NodeAttrFilter (NodeAttrName n) (fv :| fvs))-            [] -> fail "Expected non-empty list of filter values"--instance ToJSON ReplicaBounds where-  toJSON (ReplicasBounded a b)    = String (showText a <> "-" <> showText b)-  toJSON (ReplicasLowerBounded a) = String (showText a <> "-all")-  toJSON ReplicasUnbounded        = Bool False--instance FromJSON ReplicaBounds where-  parseJSON v = withText "ReplicaBounds" parseText v-            <|> withBool "ReplicaBounds" parseBool v-    where parseText t = case T.splitOn "-" t of-                          [a, "all"] -> ReplicasLowerBounded <$> parseReadText a-                          [a, b] -> ReplicasBounded <$> parseReadText a-                                                    <*> parseReadText b-                          _ -> fail ("Could not parse ReplicaBounds: " <> show t)-          parseBool False = pure ReplicasUnbounded-          parseBool _ = fail "ReplicasUnbounded cannot be represented with True"--instance ToJSON AllocationPolicy where-  toJSON AllocAll          = String "all"-  toJSON AllocPrimaries    = String "primaries"-  toJSON AllocNewPrimaries = String "new_primaries"-  toJSON AllocNone         = String "none"--instance FromJSON AllocationPolicy where-  parseJSON = withText "AllocationPolicy" parse-    where parse "all" = pure AllocAll-          parse "primaries" = pure AllocPrimaries-          parse "new_primaries" = pure AllocNewPrimaries-          parse "none" = pure AllocNone-          parse t = fail ("Invlaid AllocationPolicy: " <> show t)--instance ToJSON InitialShardCount where-  toJSON QuorumShards       = String "quorum"-  toJSON QuorumMinus1Shards = String "quorum-1"-  toJSON FullShards         = String "full"-  toJSON FullMinus1Shards   = String "full-1"-  toJSON (ExplicitShards x) = toJSON x--instance FromJSON InitialShardCount where-  parseJSON v = withText "InitialShardCount" parseText v-            <|> ExplicitShards <$> parseJSON v-    where parseText "quorum"   = pure QuorumShards-          parseText "quorum-1" = pure QuorumMinus1Shards-          parseText "full"     = pure FullShards-          parseText "full-1"   = pure FullMinus1Shards-          parseText _          = mzero--instance ToJSON FSType where-  toJSON FSSimple   = "simple"-  toJSON FSBuffered = "buffered"--instance FromJSON FSType where-  parseJSON = withText "FSType" parse-    where parse "simple" = pure FSSimple-          parse "buffered" = pure FSBuffered-          parse t = fail ("Invalid FSType: " <> show t)--instance ToJSON CompoundFormat where-  toJSON (CompoundFileFormat x) = Bool x-  toJSON (MergeSegmentVsTotalIndex x) = toJSON x--instance FromJSON CompoundFormat where-  parseJSON v = CompoundFileFormat <$> parseJSON v-            <|> MergeSegmentVsTotalIndex <$> parseJSON v--instance ToJSON NominalDiffTimeJSON where-  toJSON (NominalDiffTimeJSON t) = String (showText (round t :: Integer) <> "s")--instance FromJSON NominalDiffTimeJSON where-  parseJSON = withText "NominalDiffTime" parse-    where parse t = case T.takeEnd 1 t of-                      "s" -> NominalDiffTimeJSON . fromInteger <$> parseReadText (T.dropEnd 1 t)-                      _ -> fail "Invalid or missing NominalDiffTime unit (expected s)"--instance ToJSON IndexTemplate where-  toJSON (IndexTemplate p s m) = merge-    (object [ "template" .= p-            , "mappings" .= foldl' merge (object []) m-            ])-    (toJSON s)-   where-     merge (Object o1) (Object o2) = toJSON $ HM.union o1 o2-     merge o           Null        = o-     merge _           _           = undefined--instance (FromJSON a) => FromJSON (EsResult a) where-  parseJSON jsonVal@(Object v) = do-    found <- v .:? "found" .!= False-    fr <- if found-             then parseJSON jsonVal-             else return Nothing-    EsResult <$> v .:  "_index"   <*>-                 v .:  "_type"    <*>-                 v .:  "_id"      <*>-                 pure fr-  parseJSON _          = empty--instance (FromJSON a) => FromJSON (EsResultFound a) where-  parseJSON (Object v) = EsResultFound <$>-                         v .: "_version" <*>-                         v .: "_source"-  parseJSON _          = empty--instance FromJSON EsError where-  parseJSON (Object v) = EsError <$>-                         v .: "status" <*>-                         (v .: "error" <|> (v .: "error" >>= (.: "reason")))-  parseJSON _ = empty--instance FromJSON IndexAliasesSummary where-  parseJSON = withObject "IndexAliasesSummary" parse-    where parse o = IndexAliasesSummary . mconcat <$> mapM (uncurry go) (HM.toList o)-          go ixn = withObject "index aliases" $ \ia -> do-                     aliases <- ia .:? "aliases" .!= mempty-                     forM (HM.toList aliases) $ \(aName, v) -> do-                       let indexAlias = IndexAlias (IndexName ixn) (IndexAliasName (IndexName aName))-                       IndexAliasSummary indexAlias <$> parseJSON v---instance ToJSON IndexAliasAction where-  toJSON (AddAlias ia opts) = object ["add" .= (iaObj <> optsObj)]-    where Object iaObj = toJSON ia-          Object optsObj = toJSON opts-  toJSON (RemoveAlias ia) = object ["remove" .= iaObj]-    where Object iaObj = toJSON ia--instance ToJSON IndexAlias where-  toJSON IndexAlias {..} = object ["index" .= srcIndex-                                  , "alias" .= indexAlias-                                  ]--instance ToJSON IndexAliasCreate where-  toJSON IndexAliasCreate {..} = Object (filterObj <> routingObj)-    where filterObj = maybe mempty (HM.singleton "filter" . toJSON) aliasCreateFilter-          Object routingObj = maybe (Object mempty) toJSON aliasCreateRouting--instance ToJSON AliasRouting where-  toJSON (AllAliasRouting v) = object ["routing" .= v]-  toJSON (GranularAliasRouting srch idx) = object (catMaybes prs)-    where prs = [("search_routing" .=) <$> srch-                ,("index_routing" .=) <$> idx]--instance FromJSON AliasRouting where-  parseJSON = withObject "AliasRouting" parse-    where parse o = parseAll o <|> parseGranular o-          parseAll o = AllAliasRouting <$> o .: "routing"-          parseGranular o = do-            sr <- o .:? "search_routing"-            ir <- o .:? "index_routing"-            if isNothing sr && isNothing ir-               then fail "Both search_routing and index_routing can't be blank"-               else return (GranularAliasRouting sr ir)--instance FromJSON IndexAliasCreate where-  parseJSON v = withObject "IndexAliasCreate" parse v-    where parse o = IndexAliasCreate <$> optional (parseJSON v)-                                     <*> o .:? "filter"--instance ToJSON SearchAliasRouting where-  toJSON (SearchAliasRouting rvs) = toJSON (T.intercalate "," (routingValue <$> toList rvs))--instance FromJSON SearchAliasRouting where-  parseJSON = withText "SearchAliasRouting" parse-    where parse t = SearchAliasRouting <$> parseNEJSON (String <$> T.splitOn "," t)--instance ToJSON Search where-  toJSON (Search query sFilter sort searchAggs highlight sTrackSortScores sFrom sSize _ sFields sSource) =-    omitNulls [ "query"        .= query-              , "filter"       .= sFilter-              , "sort"         .= sort-              , "aggregations" .= searchAggs-              , "highlight"    .= highlight-              , "from"         .= sFrom-              , "size"         .= sSize-              , "track_scores" .= sTrackSortScores-              , "fields"       .= sFields-              , "_source"      .= sSource]---instance ToJSON Source where-    toJSON NoSource                         = toJSON False-    toJSON (SourcePatterns patterns)        = toJSON patterns-    toJSON (SourceIncludeExclude incl excl) = object [ "include" .= incl, "exclude" .= excl ]--instance ToJSON PatternOrPatterns where-  toJSON (PopPattern pattern)   = toJSON pattern-  toJSON (PopPatterns patterns) = toJSON patterns--instance ToJSON Include where-  toJSON (Include patterns) = toJSON patterns--instance ToJSON Exclude where-  toJSON (Exclude patterns) = toJSON patterns--instance ToJSON Pattern where-  toJSON (Pattern pattern) = toJSON pattern---instance ToJSON FieldHighlight where-    toJSON (FieldHighlight (FieldName fName) (Just fSettings)) =-        object [ fName .= fSettings ]-    toJSON (FieldHighlight (FieldName fName) Nothing) =-        object [ fName .= emptyObject ]--instance ToJSON Highlights where-    toJSON (Highlights global fields) =-        omitNulls (("fields" .= fields)-                  : highlightSettingsPairs global)--instance ToJSON HighlightSettings where-    toJSON hs = omitNulls (highlightSettingsPairs (Just hs))--highlightSettingsPairs :: Maybe HighlightSettings -> [Pair]-highlightSettingsPairs Nothing = []-highlightSettingsPairs (Just (Plain plh)) = plainHighPairs (Just plh)-highlightSettingsPairs (Just (Postings ph)) = postHighPairs (Just ph)-highlightSettingsPairs (Just (FastVector fvh)) = fastVectorHighPairs (Just fvh)---plainHighPairs :: Maybe PlainHighlight -> [Pair]-plainHighPairs Nothing = []-plainHighPairs (Just (PlainHighlight plCom plNonPost)) =-    [ "type" .= String "plain"]-    ++ commonHighlightPairs plCom-    ++ nonPostingsToPairs plNonPost--postHighPairs :: Maybe PostingsHighlight -> [Pair]-postHighPairs Nothing = []-postHighPairs (Just (PostingsHighlight pCom)) =-    ("type" .= String "postings")-    : commonHighlightPairs pCom--fastVectorHighPairs :: Maybe FastVectorHighlight -> [Pair]-fastVectorHighPairs Nothing = []-fastVectorHighPairs (Just-                     (FastVectorHighlight fvCom fvNonPostSettings fvBoundChars-                                          fvBoundMaxScan fvFragOff fvMatchedFields-                                          fvPhraseLim)) =-                        [ "type" .= String "fvh"-                        , "boundary_chars" .= fvBoundChars-                        , "boundary_max_scan" .= fvBoundMaxScan-                        , "fragment_offset" .= fvFragOff-                        , "matched_fields" .= fvMatchedFields-                        , "phraseLimit" .= fvPhraseLim]-                        ++ commonHighlightPairs fvCom-                        ++ nonPostingsToPairs fvNonPostSettings--deleteSeveral :: (Eq k, Hashable k) => [k] -> HM.HashMap k v -> HM.HashMap k v-deleteSeveral ks hm = foldr HM.delete hm ks--commonHighlightPairs :: Maybe CommonHighlight -> [Pair]-commonHighlightPairs Nothing = []-commonHighlightPairs (Just (CommonHighlight chScore chForceSource chTag chEncoder-                                      chNoMatchSize chHighlightQuery-                                      chRequireFieldMatch)) =-    [ "order" .= chScore-    , "force_source" .= chForceSource-    , "encoder" .= chEncoder-    , "no_match_size" .= chNoMatchSize-    , "highlight_query" .= chHighlightQuery-    , "require_fieldMatch" .= chRequireFieldMatch]-    ++ highlightTagToPairs chTag---nonPostingsToPairs :: Maybe NonPostings -> [Pair]-nonPostingsToPairs Nothing = []-nonPostingsToPairs (Just (NonPostings npFragSize npNumOfFrags)) =-    [ "fragment_size" .= npFragSize-    , "number_of_fragments" .= npNumOfFrags]--parseNEJSON :: (FromJSON a) => [Value] -> Parser (NonEmpty a)-parseNEJSON []     = fail "Expected non-empty list"-parseNEJSON (x:xs) = DT.mapM parseJSON (x :| xs)---instance ToJSON HighlightEncoder where-    toJSON DefaultEncoder = String "default"-    toJSON HTMLEncoder    = String "html"--highlightTagToPairs :: Maybe HighlightTag -> [Pair]-highlightTagToPairs (Just (TagSchema _))            = [ "scheme"    .=  String "default"]-highlightTagToPairs (Just (CustomTags (pre, post))) = [ "pre_tags"  .= pre-                                                      , "post_tags" .= post]-highlightTagToPairs Nothing = []--instance ToJSON SortSpec where-  toJSON (DefaultSortSpec-          (DefaultSort (FieldName dsSortFieldName) dsSortOrder dsIgnoreUnmapped-           dsSortMode dsMissingSort dsNestedFilter)) =-    object [dsSortFieldName .= omitNulls base] where-      base = [ "order" .= dsSortOrder-             , "ignore_unmapped" .= dsIgnoreUnmapped-             , "mode" .= dsSortMode-             , "missing" .= dsMissingSort-             , "nested_filter" .= dsNestedFilter ]--  toJSON (GeoDistanceSortSpec gdsSortOrder (GeoPoint (FieldName field) gdsLatLon) units) =-    object [ "unit" .= units-           , field .= gdsLatLon-           , "order" .= gdsSortOrder ]---instance ToJSON SortOrder where-  toJSON Ascending  = String "asc"-  toJSON Descending = String "desc"---instance ToJSON SortMode where-  toJSON SortMin = String "min"-  toJSON SortMax = String "max"-  toJSON SortSum = String "sum"-  toJSON SortAvg = String "avg"---instance ToJSON Missing where-  toJSON LastMissing = String "_last"-  toJSON FirstMissing = String "_first"-  toJSON (CustomMissing txt) = String txt---instance ToJSON ScoreType where-  toJSON ScoreTypeMax  = "max"-  toJSON ScoreTypeAvg  = "avg"-  toJSON ScoreTypeSum  = "sum"-  toJSON ScoreTypeNone = "none"--instance FromJSON ScoreType where-  parseJSON = withText "ScoreType" parse-    where parse "max"  = pure ScoreTypeMax-          parse "avg"  = pure ScoreTypeAvg-          parse "sum"  = pure ScoreTypeSum-          parse "none" = pure ScoreTypeNone-          parse t = fail ("Unexpected ScoreType: " <> show t)--instance ToJSON Distance where-  toJSON (Distance dCoefficient dUnit) =-    String boltedTogether where-      coefText = showText dCoefficient-      (String unitText) = toJSON dUnit-      boltedTogether = mappend coefText unitText--instance FromJSON Distance where-  parseJSON = withText "Distance" parse-    where parse t = Distance <$> parseCoeff nT-                             <*> parseJSON (String unitT)-            where (nT, unitT) = T.span validForNumber t-                  -- may be a better way to do this-                  validForNumber '-' = True-                  validForNumber '.' = True-                  validForNumber 'e' = True-                  validForNumber c = isNumber c-                  parseCoeff "" = fail "Empty string cannot be parsed as number"-                  parseCoeff s = return (read (T.unpack s))--instance ToJSON DistanceUnit where-  toJSON Miles         = String "mi"-  toJSON Yards         = String "yd"-  toJSON Feet          = String "ft"-  toJSON Inches        = String "in"-  toJSON Kilometers    = String "km"-  toJSON Meters        = String "m"-  toJSON Centimeters   = String "cm"-  toJSON Millimeters   = String "mm"-  toJSON NauticalMiles = String "nmi"---instance FromJSON DistanceUnit where-  parseJSON = withText "DistanceUnit" parse-    where parse "mi"  = pure Miles-          parse "yd"  = pure Yards-          parse "ft"  = pure Feet-          parse "in"  = pure Inches-          parse "km"  = pure Kilometers-          parse "m"   = pure Meters-          parse "cm"  = pure Centimeters-          parse "mm"  = pure Millimeters-          parse "nmi" = pure NauticalMiles-          parse u = fail ("Unrecognized DistanceUnit: " <> show u)--instance ToJSON DistanceType where-  toJSON Arc       = String "arc"-  toJSON SloppyArc = String "sloppy_arc"-  toJSON Plane     = String "plane"--instance FromJSON DistanceType where-  parseJSON = withText "DistanceType" parse-    where parse "arc" = pure Arc-          parse "sloppy_arc" = pure SloppyArc-          parse "plane" = pure Plane-          parse t = fail ("Unrecognized DistanceType: " <> show t)---instance ToJSON OptimizeBbox where-  toJSON NoOptimizeBbox = String "none"-  toJSON (OptimizeGeoFilterType gft) = toJSON gft--instance FromJSON OptimizeBbox where-  parseJSON v = withText "NoOptimizeBbox" parseNoOptimize v-            <|> parseOptimize v-    where parseNoOptimize "none" = pure NoOptimizeBbox-          parseNoOptimize _ = mzero-          parseOptimize = fmap OptimizeGeoFilterType . parseJSON--instance ToJSON GeoBoundingBoxConstraint where-  toJSON (GeoBoundingBoxConstraint-          (FieldName gbbcGeoBBField) gbbcConstraintBox cache type') =-    object [gbbcGeoBBField .= gbbcConstraintBox-           , "_cache"  .= cache-           , "type" .= type']--instance FromJSON GeoBoundingBoxConstraint where-  parseJSON = withObject "GeoBoundingBoxConstraint" parse-    where parse o = case HM.toList (deleteSeveral ["type", "_cache"] o) of-                      [(fn, v)] -> GeoBoundingBoxConstraint (FieldName fn)-                                   <$> parseJSON v-                                   <*> o .:? "_cache" .!= defaultCache-                                   <*> o .: "type"-                      _ -> fail "Could not find field name for GeoBoundingBoxConstraint"--instance ToJSON GeoFilterType where-  toJSON GeoFilterMemory  = String "memory"-  toJSON GeoFilterIndexed = String "indexed"--instance FromJSON GeoFilterType where-  parseJSON = withText "GeoFilterType" parse-    where parse "memory"  = pure GeoFilterMemory-          parse "indexed" = pure GeoFilterIndexed-          parse t         = fail ("Unrecognized GeoFilterType: " <> show t)--instance ToJSON GeoBoundingBox where-  toJSON (GeoBoundingBox gbbTopLeft gbbBottomRight) =-    object ["top_left"      .= gbbTopLeft-           , "bottom_right" .= gbbBottomRight]--instance FromJSON GeoBoundingBox where-  parseJSON = withObject "GeoBoundingBox" parse-    where parse o = GeoBoundingBox-                    <$> o .: "top_left"-                    <*> o .: "bottom_right"--instance ToJSON LatLon where-  toJSON (LatLon lLat lLon) =-    object ["lat"  .= lLat-           , "lon" .= lLon]--instance FromJSON LatLon where-  parseJSON = withObject "LatLon" parse-    where parse o = LatLon <$> o .: "lat"-                           <*> o .: "lon"---- index for smaller ranges, fielddata for longer ranges-instance ToJSON RangeExecution where-  toJSON RangeExecutionIndex     = "index"-  toJSON RangeExecutionFielddata = "fielddata"---instance FromJSON RangeExecution where-  parseJSON = withText "RangeExecution" parse-    where parse "index"     = pure RangeExecutionIndex-          parse "fielddata" = pure RangeExecutionFielddata-          parse t           = error ("Unrecognized RangeExecution " <> show t)--instance ToJSON RegexpFlags where-  toJSON AllRegexpFlags              = String "ALL"-  toJSON NoRegexpFlags               = String "NONE"-  toJSON (SomeRegexpFlags (h :| fs)) = String $ T.intercalate "|" flagStrs-    where flagStrs             = map flagStr . nub $ h:fs-          flagStr AnyString    = "ANYSTRING"-          flagStr Automaton    = "AUTOMATON"-          flagStr Complement   = "COMPLEMENT"-          flagStr Empty        = "EMPTY"-          flagStr Intersection = "INTERSECTION"-          flagStr Interval     = "INTERVAL"--instance FromJSON RegexpFlags where-  parseJSON = withText "RegexpFlags" parse-    where parse "ALL" = pure AllRegexpFlags-          parse "NONE" = pure NoRegexpFlags-          parse t = SomeRegexpFlags <$> parseNEJSON (String <$> T.splitOn "|" t)--instance FromJSON RegexpFlag where-  parseJSON = withText "RegexpFlag" parse-    where parse "ANYSTRING"    = pure AnyString-          parse "AUTOMATON"    = pure Automaton-          parse "COMPLEMENT"   = pure Complement-          parse "EMPTY"        = pure Empty-          parse "INTERSECTION" = pure Intersection-          parse "INTERVAL"     = pure Interval-          parse f              = fail ("Unknown RegexpFlag: " <> show f)--instance ToJSON Term where-  toJSON (Term field value) = object ["term" .= object-                                      [field .= value]]--instance FromJSON Term where-  parseJSON = withObject "Term" parse-    where parse o = do termObj <- o .: "term"-                       case HM.toList termObj of-                         [(fn, v)] -> Term fn <$> parseJSON v-                         _ -> fail "Expected object with 1 field-named key"--instance ToJSON BoolMatch where-  toJSON (MustMatch    term  cache) = object ["must"     .= term,-                                              "_cache" .= cache]-  toJSON (MustNotMatch term  cache) = object ["must_not" .= term,-                                              "_cache" .= cache]-  toJSON (ShouldMatch  terms cache) = object ["should"   .= fmap toJSON terms,-                                              "_cache" .= cache]--instance FromJSON BoolMatch where-  parseJSON = withObject "BoolMatch" parse-    where parse o = mustMatch `taggedWith` "must"-                <|> mustNotMatch `taggedWith` "must_not"-                <|> shouldMatch `taggedWith` "should"-            where taggedWith parser k = parser =<< o .: k-                  mustMatch t = MustMatch t <$> o .:? "_cache" .!= defaultCache-                  mustNotMatch t = MustNotMatch t <$> o .:? "_cache" .!= defaultCache-                  shouldMatch t = ShouldMatch t <$> o .:? "_cache" .!= defaultCache--instance (FromJSON a) => FromJSON (SearchResult a) where-  parseJSON (Object v) = SearchResult <$>-                         v .:  "took"         <*>-                         v .:  "timed_out"    <*>-                         v .:  "_shards"      <*>-                         v .:  "hits"         <*>-                         v .:? "aggregations" <*>-                         v .:? "_scroll_id"-  parseJSON _          = empty--instance (FromJSON a) => FromJSON (SearchHits a) where-  parseJSON (Object v) = SearchHits <$>-                         v .: "total"     <*>-                         v .: "max_score" <*>-                         v .: "hits"-  parseJSON _          = empty--instance (FromJSON a) => FromJSON (Hit a) where-  parseJSON (Object v) = Hit <$>-                         v .:  "_index"   <*>-                         v .:  "_type"    <*>-                         v .:  "_id"      <*>-                         v .:  "_score"   <*>-                         v .:?  "_source" <*>-                         v .:? "highlight"-  parseJSON _          = empty--instance FromJSON ShardResult where-  parseJSON (Object v) = ShardResult       <$>-                         v .: "total"      <*>-                         v .: "successful" <*>-                         v .: "failed"-  parseJSON _          = empty---instance FromJSON DocVersion where-  parseJSON v = do-    i <- parseJSON v-    maybe (fail "DocVersion out of range") return $ mkDocVersion i---- This insanity is because ES *sometimes* returns Replica/Shard counts as strings-instance FromJSON ReplicaCount where-  parseJSON v = parseAsInt v-            <|> parseAsString v-    where parseAsInt = fmap ReplicaCount . parseJSON-          parseAsString = withText "ReplicaCount" (fmap ReplicaCount . parseReadText)--instance FromJSON ShardCount where-  parseJSON v = parseAsInt v-            <|> parseAsString v-    where parseAsInt = fmap ShardCount . parseJSON-          parseAsString = withText "ShardCount" (fmap ShardCount . parseReadText)--instance Bounded DocVersion where-  minBound = DocVersion 1-  maxBound = DocVersion 9200000000000000000 -- 9.2e+18--instance Enum DocVersion where-  succ x-    | x /= maxBound = DocVersion (succ $ docVersionNumber x)-    | otherwise     = succError "DocVersion"-  pred x-    | x /= minBound = DocVersion (pred $ docVersionNumber x)-    | otherwise     = predError "DocVersion"-  toEnum i =-    fromMaybe (error $ show i ++ " out of DocVersion range") $ mkDocVersion i-  fromEnum = docVersionNumber-  enumFrom = boundedEnumFrom-  enumFromThen = boundedEnumFromThen---- | Username type used for HTTP Basic authentication. See 'basicAuthHook'.-newtype EsUsername = EsUsername { esUsername :: Text } deriving (Read, Show, Eq)---- | Password type used for HTTP Basic authentication. See 'basicAuthHook'.-newtype EsPassword = EsPassword { esPassword :: Text } deriving (Read, Show, Eq)---data SnapshotRepoSelection = SnapshotRepoList (NonEmpty SnapshotRepoPattern)-                           | AllSnapshotRepos deriving (Eq, Generic, Show, Typeable)----- | 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-data SnapshotRepoPattern = ExactRepo SnapshotRepoName-                         | RepoPattern Text-                         deriving (Eq, Generic, Show, Typeable)---- | The unique name of a snapshot repository.-newtype SnapshotRepoName = SnapshotRepoName  { snapshotRepoName :: Text }-                         deriving (Eq, Ord, Generic, Show, Typeable, ToJSON, FromJSON)----- | 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-data GenericSnapshotRepo = GenericSnapshotRepo {-      gSnapshotRepoName     :: SnapshotRepoName-    , gSnapshotRepoType     :: SnapshotRepoType-    , gSnapshotRepoSettings :: GenericSnapshotRepoSettings-    } deriving (Eq, Generic, Show, Typeable)---instance SnapshotRepo GenericSnapshotRepo where-  toGSnapshotRepo = id-  fromGSnapshotRepo = Right---newtype SnapshotRepoType = SnapshotRepoType { snapshotRepoType :: Text }-                         deriving (Eq, Ord, Generic, Show, Typeable, ToJSON, FromJSON)----- | Opaque representation of snapshot repo settings. Instances of--- 'SnapshotRepo' will produce this.-newtype GenericSnapshotRepoSettings = GenericSnapshotRepoSettings { gSnapshotRepoSettingsObject :: Object }-                                    deriving (Eq, Generic, Show, Typeable, ToJSON)--- -- Regardless of whether you send strongly typed json, my version of- -- ES sends back stringly typed json in the settings, e.g. booleans- -- as strings, so we'll try to convert them.-instance FromJSON GenericSnapshotRepoSettings where-  parseJSON = fmap (GenericSnapshotRepoSettings . fmap unStringlyTypeJSON). parseJSON---- | The result of running 'verifySnapshotRepo'.-newtype SnapshotVerification = SnapshotVerification { snapshotNodeVerifications :: [SnapshotNodeVerification] }-                             deriving (Eq, Generic, Show, Typeable)---instance FromJSON SnapshotVerification where-  parseJSON = withObject "SnapshotVerification" parse-    where-      parse o = do-        o2 <- o .: "nodes"-        SnapshotVerification <$> mapM (uncurry parse') (HM.toList o2)-      parse' rawFullId = withObject "SnapshotNodeVerification" $ \o ->-        SnapshotNodeVerification (FullNodeId rawFullId) <$> o .: "name"----- | A node that has verified a snapshot-data SnapshotNodeVerification = SnapshotNodeVerification {-      snvFullId   :: FullNodeId-    , snvNodeName :: NodeName-    } deriving (Eq, Generic, Show, Typeable)----- | Unique, automatically-generated name assigned to nodes that are--- usually returned in node-oriented APIs.-newtype FullNodeId = FullNodeId { fullNodeId :: Text }-                   deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)----- | A human-readable node name that is supplied by the user in the--- node config or automatically generated by ElasticSearch.-newtype NodeName = NodeName { nodeName :: Text }-                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)--newtype ClusterName = ClusterName { clusterName :: Text }-                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)--data NodesInfo = NodesInfo {-      nodesInfo        :: [NodeInfo]-    , nodesClusterName :: ClusterName-    } deriving (Eq, Show, Generic, Typeable)--data NodesStats = NodesStats {-      nodesStats            :: [NodeStats]-    , nodesStatsClusterName :: ClusterName-    } deriving (Eq, Show, Generic, Typeable)--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-    } deriving (Eq, Show, Generic, Typeable)--data NodeBreakersStats = NodeBreakersStats {-      nodeStatsParentBreaker    :: NodeBreakerStats-    , nodeStatsRequestBreaker   :: NodeBreakerStats-    , nodeStatsFieldDataBreaker :: NodeBreakerStats-    } deriving (Eq, Show, Generic, Typeable)--data NodeBreakerStats = NodeBreakerStats {-      nodeBreakersTripped   :: Int-    , nodeBreakersOverhead  :: Double-    , nodeBreakersEstSize   :: Bytes-    , nodeBreakersLimitSize :: Bytes-    } deriving (Eq, Show, Generic, Typeable)--data NodeHTTPStats = NodeHTTPStats {-      nodeHTTPTotalOpened :: Int-    , nodeHTTPCurrentOpen :: Int-    } deriving (Eq, Show, Generic, Typeable)--data NodeTransportStats = NodeTransportStats {-      nodeTransportTXSize     :: Bytes-    , nodeTransportCount      :: Int-    , nodeTransportRXSize     :: Bytes-    , nodeTransportRXCount    :: Int-    , nodeTransportServerOpen :: Int-    } deriving (Eq, Show, Generic, Typeable)--data NodeFSStats = NodeFSStats {-      nodeFSDataPaths :: [NodeDataPathStats]-    , nodeFSTotal     :: NodeFSTotalStats-    , nodeFSTimestamp :: UTCTime-    } deriving (Eq, Show, Generic, Typeable)--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-    } deriving (Eq, Show, Generic, Typeable)--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-    } deriving (Eq, Show, Generic, Typeable)--data NodeNetworkStats = NodeNetworkStats {-      nodeNetTCPOutRSTs      :: Int-    , nodeNetTCPInErrs       :: Int-    , nodeNetTCPAttemptFails :: Int-    , nodeNetTCPEstabResets  :: Int-    , nodeNetTCPRetransSegs  :: Int-    , nodeNetTCPOutSegs      :: Int-    , nodeNetTCPInSegs       :: Int-    , nodeNetTCPCurrEstab    :: Int-    , nodeNetTCPPassiveOpens :: Int-    , nodeNetTCPActiveOpens  :: Int-    } deriving (Eq, Show, Generic, Typeable)--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-    } deriving (Eq, Show, Generic, Typeable)--data NodeThreadPoolStats = NodeThreadPoolStats {-      nodeThreadPoolCompleted :: Int-    , nodeThreadPoolLargest   :: Int-    , nodeThreadPoolRejected  :: Int-    , nodeThreadPoolActive    :: Int-    , nodeThreadPoolQueue     :: Int-    , nodeThreadPoolThreads   :: Int-    } deriving (Eq, Show, Generic, Typeable)--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-    } deriving (Eq, Show, Generic, Typeable)--data JVMBufferPoolStats = JVMBufferPoolStats {-      jvmBufferPoolStatsTotalCapacity :: Bytes-    , jvmBufferPoolStatsUsed          :: Bytes-    , jvmBufferPoolStatsCount         :: Int-    } deriving (Eq, Show, Generic, Typeable)--data JVMGCStats = JVMGCStats {-      jvmGCStatsCollectionTime  :: NominalDiffTime-    , jvmGCStatsCollectionCount :: Int-    } deriving (Eq, Show, Generic, Typeable)--data JVMPoolStats = JVMPoolStats {-      jvmPoolStatsPeakMax  :: Bytes-    , jvmPoolStatsPeakUsed :: Bytes-    , jvmPoolStatsMax      :: Bytes-    , jvmPoolStatsUsed     :: Bytes-    } deriving (Eq, Show, Generic, Typeable)--data NodeProcessStats = NodeProcessStats {-      nodeProcessMemTotalVirtual :: Bytes-    , nodeProcessMemShare        :: Bytes-    , nodeProcessMemResident     :: Bytes-    , nodeProcessCPUTotal        :: NominalDiffTime-    , nodeProcessCPUUser         :: NominalDiffTime-    , nodeProcessCPUSys          :: NominalDiffTime-    , nodeProcessCPUPercent      :: Int-    , nodeProcessOpenFDs         :: Int-    , nodeProcessTimestamp       :: UTCTime-    } deriving (Eq, Show, Generic, Typeable)--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-    } deriving (Eq, Show, Generic, Typeable)--data LoadAvgs = LoadAvgs {-     loadAvg1Min  :: Double-   , loadAvg5Min  :: Double-   , loadAvg15Min :: Double-   } deriving (Eq, Show, Generic, Typeable)--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-    } deriving (Eq, Show, Generic, Typeable)---- | A quirky address format used throughout ElasticSearch. An example--- would be inet[/1.1.1.1:9200]. inet may be a placeholder for a--- <https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN>.-newtype EsAddress = EsAddress { esAddress :: Text }-                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)---- | Typically a 7 character hex string.-newtype BuildHash = BuildHash { buildHash :: Text }-                 deriving (Eq, Ord, Generic, Read, Show, Typeable, FromJSON, ToJSON)--newtype PluginName = PluginName { pluginName :: Text }-                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)--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-    -- ^ The members of the settings objects are not consistent,-    -- dependent on plugins, etc.-    } deriving (Eq, Show, Generic, Typeable)--data NodePluginInfo = NodePluginInfo {-      nodePluginSite        :: Bool-    -- ^ Is this a site plugin?-    , nodePluginJVM         :: Bool-    -- ^ Is this plugin running on the JVM-    , nodePluginDescription :: Text-    , nodePluginVersion     :: MaybeNA VersionNumber-    , nodePluginName        :: PluginName-    } deriving (Eq, Show, Generic, Typeable)--data NodeHTTPInfo = NodeHTTPInfo {-      nodeHTTPMaxContentLength :: Bytes-    , nodeHTTPTransportAddress :: BoundTransportAddress-    } deriving (Eq, Show, Generic, Typeable)--data NodeTransportInfo = NodeTransportInfo {-      nodeTransportProfiles :: [BoundTransportAddress]-    , nodeTransportAddress  :: BoundTransportAddress-    } deriving (Eq, Show, Generic, Typeable)--data BoundTransportAddress = BoundTransportAddress {-      publishAddress :: EsAddress-    , boundAddress   :: EsAddress-    } deriving (Eq, Show, Generic, Typeable)--data NodeNetworkInfo = NodeNetworkInfo {-      nodeNetworkPrimaryInterface :: NodeNetworkInterface-    , nodeNetworkRefreshInterval  :: NominalDiffTime-    } deriving (Eq, Show, Generic, Typeable)--newtype MacAddress = MacAddress { macAddress :: Text }-                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)--newtype NetworkInterfaceName = NetworkInterfaceName { networkInterfaceName :: Text }-                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)--data NodeNetworkInterface = NodeNetworkInterface {-      nodeNetIfaceMacAddress :: MacAddress-    , nodeNetIfaceName       :: NetworkInterfaceName-    , nodeNetIfaceAddress    :: Server-    } deriving (Eq, Show, Generic, Typeable)--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-    } deriving (Eq, Show, Generic, Typeable)--data NodeThreadPoolInfo = NodeThreadPoolInfo {-      nodeThreadPoolQueueSize :: ThreadPoolSize-    , nodeThreadPoolKeepalive :: Maybe NominalDiffTime-    , nodeThreadPoolMin       :: Maybe Int-    , nodeThreadPoolMax       :: Maybe Int-    , nodeThreadPoolType      :: ThreadPoolType-    } deriving (Eq, Show, Generic, Typeable)--data ThreadPoolSize = ThreadPoolBounded Int-                    | ThreadPoolUnbounded-                    deriving (Eq, Show, Generic, Typeable)--data ThreadPoolType = ThreadPoolScaling-                    | ThreadPoolFixed-                    | ThreadPoolCached-                    deriving (Eq, Show, Generic, Typeable)--data NodeJVMInfo = NodeJVMInfo {-      nodeJVMInfoMemoryPools             :: [JVMMemoryPool]-    , nodeJVMInfoMemoryPoolsGCCollectors :: [JVMGCCollector]-    , nodeJVMInfoMemoryInfo              :: JVMMemoryInfo-    , nodeJVMInfoStartTime               :: UTCTime-    , nodeJVMInfoVMVendor                :: Text-    , nodeJVMVMVersion                   :: VersionNumber-    -- ^ JVM doesn't seme to follow normal version conventions-    , nodeJVMVMName                      :: Text-    , nodeJVMVersion                     :: VersionNumber-    , nodeJVMPID                         :: PID-    } deriving (Eq, Show, Generic, Typeable)---- | Handles quirks in the way JVM versions are rendered (1.7.0_101 -> 1.7.0.101)-newtype JVMVersion = JVMVersion { unJVMVersion :: VersionNumber }--data JVMMemoryInfo = JVMMemoryInfo {-      jvmMemoryInfoDirectMax   :: Bytes-    , jvmMemoryInfoNonHeapMax  :: Bytes-    , jvmMemoryInfoNonHeapInit :: Bytes-    , jvmMemoryInfoHeapMax     :: Bytes-    , jvmMemoryInfoHeapInit    :: Bytes-    } deriving (Eq, Show, Generic, Typeable)--newtype JVMMemoryPool = JVMMemoryPool {-      jvmMemoryPool :: Text-    } deriving (Eq, Show, Generic, Typeable, FromJSON)--newtype JVMGCCollector = JVMGCCollector {-      jvmGCCollector :: Text-    } deriving (Eq, Show, Generic, Typeable, FromJSON)--newtype PID = PID {-      pid :: Int-    } deriving (Eq, Show, Generic, Typeable, FromJSON)--data NodeOSInfo = NodeOSInfo {-      nodeOSSwap                :: Bytes-    , nodeOSMem                 :: Bytes-    , nodeOSCPUInfo             :: CPUInfo-    , nodeOSAvailableProcessors :: Int-    , nodeOSRefreshInterval     :: NominalDiffTime-    } deriving (Eq, Show, Generic, Typeable)--data CPUInfo = CPUInfo {-      cpuCacheSize      :: Bytes-    , cpuCoresPerSocket :: Int-    , cpuTotalSockets   :: Int-    , cpuTotalCores     :: Int-    , cpuMHZ            :: Int-    , cpuModel          :: Text-    , cpuVendor         :: Text-    } deriving (Eq, Show, Generic, Typeable)--data NodeProcessInfo = NodeProcessInfo {-      nodeProcessMLockAll           :: Bool-    -- ^ See <https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html>-    , nodeProcessMaxFileDescriptors :: Int-    , nodeProcessId                 :: PID-    , nodeProcessRefreshInterval    :: NominalDiffTime-    } deriving (Eq, Show, Generic, Typeable)--data SnapshotRepoUpdateSettings = SnapshotRepoUpdateSettings {-     repoUpdateVerify :: Bool-     -- ^ After creation/update, synchronously check that nodes can-     -- write to this repo. Defaults to True. You may use False if you-     -- need a faster response and plan on verifying manually later-     -- with 'verifySnapshotRepo'.-    } deriving (Eq, Show, Generic, Typeable)----- | Reasonable defaults for repo creation/update------ * repoUpdateVerify True-defaultSnapshotRepoUpdateSettings :: SnapshotRepoUpdateSettings-defaultSnapshotRepoUpdateSettings = SnapshotRepoUpdateSettings True----- | A filesystem-based snapshot repo that ships with--- ElasticSearch. This is an instance of 'SnapshotRepo' so it can be--- used with 'updateSnapshotRepo'-data FsSnapshotRepo = FsSnapshotRepo {-      fsrName                   :: SnapshotRepoName-    , fsrLocation               :: FilePath-    , fsrCompressMetadata       :: Bool-    , fsrChunkSize              :: Maybe Bytes-    -- ^ Size by which to split large files during snapshotting.-    , fsrMaxRestoreBytesPerSec  :: Maybe Bytes-    -- ^ Throttle node restore rate. If not supplied, defaults to 40mb/sec-    , fsrMaxSnapshotBytesPerSec :: Maybe Bytes-    -- ^ Throttle node snapshot rate. If not supplied, defaults to 40mb/sec-    } deriving (Eq, Generic, Show, Typeable)---instance SnapshotRepo FsSnapshotRepo where-  toGSnapshotRepo FsSnapshotRepo {..} =-    GenericSnapshotRepo fsrName fsRepoType (GenericSnapshotRepoSettings settings)-    where-      Object settings = object $ [ "location" .= fsrLocation-                                 , "compress" .= fsrCompressMetadata-                                 ] ++ optionalPairs-      optionalPairs = catMaybes [ ("chunk_size" .=) <$> fsrChunkSize-                                , ("max_restore_bytes_per_sec" .=) <$> fsrMaxRestoreBytesPerSec-                                , ("max_snapshot_bytes_per_sec" .=) <$> fsrMaxSnapshotBytesPerSec-                                ]-  fromGSnapshotRepo GenericSnapshotRepo {..}-    | gSnapshotRepoType == fsRepoType = do-      let o = gSnapshotRepoSettingsObject gSnapshotRepoSettings-      parseRepo $ do-        FsSnapshotRepo gSnapshotRepoName <$> o .: "location"-                                         <*> o .:? "compress" .!= False-                                         <*> o .:? "chunk_size"-                                         <*> o .:? "max_restore_bytes_per_sec"-                                         <*> o .:? "max_snapshot_bytes_per_sec"-    | otherwise = Left (RepoTypeMismatch fsRepoType gSnapshotRepoType)---parseRepo :: Parser a -> Either SnapshotRepoConversionError a-parseRepo parser = case parseEither (const parser) () of-  Left e -> Left (OtherRepoConversionError (T.pack e))-  Right a -> Right a---fsRepoType :: SnapshotRepoType-fsRepoType = SnapshotRepoType "fs"---- | Law: fromGSnapshotRepo (toGSnapshotRepo r) == Right r-class SnapshotRepo r where-  toGSnapshotRepo :: r -> GenericSnapshotRepo-  fromGSnapshotRepo :: GenericSnapshotRepo -> Either SnapshotRepoConversionError r---data SnapshotRepoConversionError = RepoTypeMismatch SnapshotRepoType SnapshotRepoType-                                 -- ^ Expected type and actual type-                                 | OtherRepoConversionError Text-                                 deriving (Show, Eq, Generic, Typeable)---instance Exception SnapshotRepoConversionError---data SnapshotCreateSettings = SnapshotCreateSettings {-      snapWaitForCompletion  :: Bool-      -- ^ Should the API call return immediately after initializing-      -- the snapshot or wait until completed? Note that if this is-      -- enabled it could wait a long time, so you should adjust your-      -- 'ManagerSettings' accordingly to set long timeouts or-      -- explicitly handle timeouts.-    , snapIndices            :: Maybe IndexSelection-    -- ^ Nothing will snapshot all indices. Just [] is permissable and-    -- will essentially be a no-op snapshot.-    , snapIgnoreUnavailable  :: Bool-    -- ^ If set to True, any matched indices that don't exist will be-    -- ignored. Otherwise it will be an error and fail.-    , snapIncludeGlobalState :: Bool-    , snapPartial            :: Bool-    -- ^ If some indices failed to snapshot (e.g. if not all primary-    -- shards are available), should the process proceed?-    } deriving (Eq, Generic, Show, Typeable)----- | Reasonable defaults for snapshot creation------ * snapWaitForCompletion False--- * snapIndices Nothing--- * snapIgnoreUnavailable False--- * snapIncludeGlobalState True--- * snapPartial False-defaultSnapshotCreateSettings :: SnapshotCreateSettings-defaultSnapshotCreateSettings = SnapshotCreateSettings {-      snapWaitForCompletion = False-    , snapIndices = Nothing-    , snapIgnoreUnavailable = False-    , snapIncludeGlobalState = True-    , snapPartial = False-    }---data SnapshotSelection = SnapshotList (NonEmpty SnapshotPattern)-                       | AllSnapshots deriving (Eq, Generic, Show, Typeable)----- | 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 SnapshotPattern = ExactSnap SnapshotName-                     | SnapPattern Text-                     deriving (Eq, Generic, Show, Typeable)----- | General information about the state of a snapshot. Has some--- redundancies with 'SnapshotStatus'-data SnapshotInfo = SnapshotInfo {-      snapInfoShards    :: ShardResult-    , snapInfoFailures  :: [SnapshotShardFailure]-    , snapInfoDuration  :: NominalDiffTime-    , snapInfoEndTime   :: UTCTime-    , snapInfoStartTime :: UTCTime-    , snapInfoState     :: SnapshotState-    , snapInfoIndices   :: [IndexName]-    , snapInfoName      :: SnapshotName-    } deriving (Eq, Generic, Show, Typeable)---instance FromJSON SnapshotInfo where-  parseJSON = withObject "SnapshotInfo" parse-    where-      parse o = SnapshotInfo <$> o .: "shards"-                             <*> o .: "failures"-                             <*> (unMS <$> o .: "duration_in_millis")-                             <*> (posixMS <$> o .: "end_time_in_millis")-                             <*> (posixMS <$> o .: "start_time_in_millis")-                             <*> o .: "state"-                             <*> o .: "indices"-                             <*> o .: "snapshot"--data SnapshotShardFailure = SnapshotShardFailure {-      snapShardFailureIndex   :: IndexName-    , snapShardFailureNodeId  :: Maybe NodeName -- I'm not 100% sure this isn't actually 'FullNodeId'-    , snapShardFailureReason  :: Text-    , snapShardFailureShardId :: ShardId-    } deriving (Eq, Show, Generic, Typeable)---instance FromJSON SnapshotShardFailure where-  parseJSON = withObject "SnapshotShardFailure" parse-    where-      parse o = SnapshotShardFailure <$> o .: "index"-                                     <*> o .:? "node_id"-                                     <*> o .: "reason"-                                     <*> o .: "shard_id"---newtype ShardId = ShardId { shardId :: Int }-                deriving (Eq, Show, Generic, Typeable, FromJSON)---- | Milliseconds-newtype MS = MS NominalDiffTime----- keeps the unexported constructor warnings at bay-unMS :: MS -> NominalDiffTime-unMS (MS t) = t---instance FromJSON MS where-  parseJSON = withScientific "MS" (return . MS . parse)-    where-      parse n = fromInteger ((truncate n) * 1000)---data SnapshotState = SnapshotInit-                   | SnapshotStarted-                   | SnapshotSuccess-                   | SnapshotFailed-                   | SnapshotAborted-                   | SnapshotMissing-                   | SnapshotWaiting-                   deriving (Show, Eq, Generic, Typeable)--instance FromJSON SnapshotState where-  parseJSON = withText "SnapshotState" parse-    where-      parse "INIT"    = return SnapshotInit-      parse "STARTED" = return SnapshotStarted-      parse "SUCCESS" = return SnapshotSuccess-      parse "FAILED"  = return SnapshotFailed-      parse "ABORTED" = return SnapshotAborted-      parse "MISSING" = return SnapshotMissing-      parse "WAITING" = return SnapshotWaiting-      parse t         = fail ("Invalid snapshot state " <> T.unpack t)---newtype SnapshotName = SnapshotName { snapshotName :: Text }-                     deriving (Show, Eq, Ord, Generic, Typeable, ToJSON, FromJSON)---data SnapshotRestoreSettings = SnapshotRestoreSettings {-      snapRestoreWaitForCompletion      :: Bool-      -- ^ Should the API call return immediately after initializing-      -- the restore or wait until completed? Note that if this is-      -- enabled, it could wait a long time, so you should adjust your-      -- 'ManagerSettings' accordingly to set long timeouts or-      -- explicitly handle timeouts.-    , snapRestoreIndices                :: Maybe IndexSelection-    -- ^ Nothing will restore all indices in the snapshot. Just [] is-    -- permissable and will essentially be a no-op restore.-    , snapRestoreIgnoreUnavailable      :: Bool-    -- ^ If set to True, any indices that do not exist will be ignored-    -- during snapshot rather than failing the restore.-    , snapRestoreIncludeGlobalState     :: Bool-    -- ^ If set to false, will ignore any global state in the snapshot-    -- and will not restore it.-    , snapRestoreRenamePattern          :: Maybe RestoreRenamePattern-    -- ^ A regex pattern for matching indices. Used with-    -- 'snapRestoreRenameReplacement', the restore can reference the-    -- matched index and create a new index name upon restore.-    , snapRestoreRenameReplacement      :: Maybe (NonEmpty RestoreRenameToken)-    -- ^ Expression of how index renames should be constructed.-    , snapRestorePartial                :: Bool-    -- ^ If some indices fail to restore, should the process proceed?-    , snapRestoreIncludeAliases         :: Bool-    -- ^ Should the restore also restore the aliases captured in the-    -- snapshot.-    , snapRestoreIndexSettingsOverrides :: Maybe RestoreIndexSettings-    -- ^ Settings to apply during the restore process. __NOTE:__ This-    -- option is not supported in ES < 1.5 and should be set to-    -- Nothing in that case.-    , snapRestoreIgnoreIndexSettings    :: Maybe (NonEmpty Text)-    -- ^ This type could be more rich but it isn't clear which-    -- settings are allowed to be ignored during restore, so we're-    -- going with including this feature in a basic form rather than-    -- omitting it. One example here would be-    -- "index.refresh_interval". Any setting specified here will-    -- revert back to the server default during the restore process.-    } deriving (Eq, Generic, Show, Typeable)---- | Regex-stype pattern, e.g. "index_(.+)" to match index names-newtype RestoreRenamePattern = RestoreRenamePattern { rrPattern :: Text }-                             deriving (Show, Eq, Generic, Typeable, Ord, ToJSON)----- | 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--- <https://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html docs> to find out more if you're into that sort of thing.-data RestoreRenameToken = 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-                        deriving (Show, Eq, Generic, Typeable)----- | A group number for regex matching. Only values from 1-9 are--- supported. Construct with 'mkRRGroupRefNum'-newtype RRGroupRefNum = RRGroupRefNum { rrGroupRefNum :: Int }-                      deriving (Show, Eq, Generic, Typeable, Ord)--instance Bounded RRGroupRefNum where-  minBound = RRGroupRefNum 1-  maxBound = RRGroupRefNum 9----- | Only allows valid group number references (1-9).-mkRRGroupRefNum :: Int -> Maybe RRGroupRefNum-mkRRGroupRefNum i-  | i >= (rrGroupRefNum minBound) && i <= (rrGroupRefNum maxBound) =-    Just $ RRGroupRefNum i-  | otherwise = Nothing----- | 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-defaultSnapshotRestoreSettings :: SnapshotRestoreSettings-defaultSnapshotRestoreSettings = SnapshotRestoreSettings {-      snapRestoreWaitForCompletion = False-    , snapRestoreIndices = Nothing-    , snapRestoreIgnoreUnavailable  = False-    , snapRestoreIncludeGlobalState = True-    , snapRestoreRenamePattern = Nothing-    , snapRestoreRenameReplacement = Nothing-    , snapRestorePartial = False-    , snapRestoreIncludeAliases = True-    , snapRestoreIndexSettingsOverrides = Nothing-    , snapRestoreIgnoreIndexSettings = Nothing-    }----- | 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.-data RestoreIndexSettings = RestoreIndexSettings {-      restoreOverrideReplicas :: Maybe ReplicaCount-    } deriving (Show, Eq, Generic, Typeable)---instance ToJSON RestoreIndexSettings where-  toJSON RestoreIndexSettings {..} = object prs-    where-      prs = catMaybes [("index.number_of_replicas" .=) <$> restoreOverrideReplicas]---instance FromJSON NodesInfo where-  parseJSON = withObject "NodesInfo" parse-    where-      parse o = do-        nodes <- o .: "nodes"-        infos <- forM (HM.toList nodes) $ \(fullNID, v) -> do-          node <- parseJSON v-          parseNodeInfo (FullNodeId fullNID) node-        cn <- o .: "cluster_name"-        return (NodesInfo infos cn)--instance FromJSON NodesStats where-  parseJSON = withObject "NodesStats" parse-    where-      parse o = do-        nodes <- o .: "nodes"-        stats <- forM (HM.toList nodes) $ \(fullNID, v) -> do-          node <- parseJSON v-          parseNodeStats (FullNodeId fullNID) node-        cn <- o .: "cluster_name"-        return (NodesStats stats cn)--instance FromJSON NodeBreakerStats where-  parseJSON = withObject "NodeBreakerStats" parse-    where-      parse o = NodeBreakerStats <$> o .: "tripped"-                                 <*> o .: "overhead"-                                 <*> o .: "estimated_size_in_bytes"-                                 <*> o .: "limit_size_in_bytes"--instance FromJSON NodeHTTPStats where-  parseJSON = withObject "NodeHTTPStats" parse-    where-      parse o = NodeHTTPStats <$> o .: "total_opened"-                              <*> o .: "current_open"--instance FromJSON NodeTransportStats where-  parseJSON = withObject "NodeTransportStats" parse-    where-      parse o = NodeTransportStats <$> o .: "tx_size_in_bytes"-                                   <*> o .: "tx_count"-                                   <*> o .: "rx_size_in_bytes"-                                   <*> o .: "rx_count"-                                   <*> o .: "server_open"--instance FromJSON NodeFSStats where-  parseJSON = withObject "NodeFSStats" parse-    where-      parse o = NodeFSStats <$> o .: "data"-                            <*> o .: "total"-                            <*> (posixMS <$> o .: "timestamp")--instance FromJSON NodeDataPathStats where-  parseJSON = withObject "NodeDataPathStats" parse-    where-      parse o =-        NodeDataPathStats <$> (fmap unStringlyTypedDouble <$> o .:? "disk_service_time")-                          <*> (fmap unStringlyTypedDouble <$> o .:? "disk_queue")-                          <*> o .:? "disk_io_size_in_bytes"-                          <*> o .:? "disk_write_size_in_bytes"-                          <*> o .:? "disk_read_size_in_bytes"-                          <*> o .:? "disk_io_op"-                          <*> o .:? "disk_writes"-                          <*> o .:? "disk_reads"-                          <*> o .: "available_in_bytes"-                          <*> o .: "free_in_bytes"-                          <*> o .: "total_in_bytes"-                          <*> o .:? "type"-                          <*> o .: "dev"-                          <*> o .: "mount"-                          <*> o .: "path"--newtype StringlyTypedDouble = StringlyTypedDouble { unStringlyTypedDouble :: Double }---instance FromJSON StringlyTypedDouble where-  parseJSON = fmap StringlyTypedDouble . parseJSON . unStringlyTypeJSON---instance FromJSON NodeFSTotalStats where-  parseJSON = withObject "NodeFSTotalStats" parse-    where-      parse o = NodeFSTotalStats <$> (fmap unStringlyTypedDouble <$> o .:? "disk_service_time")-                                 <*> (fmap unStringlyTypedDouble <$> o .:? "disk_queue")-                                 <*> o .:? "disk_io_size_in_bytes"-                                 <*> o .:? "disk_write_size_in_bytes"-                                 <*> o .:? "disk_read_size_in_bytes"-                                 <*> o .:? "disk_io_op"-                                 <*> o .:? "disk_writes"-                                 <*> o .:? "disk_reads"-                                 <*> o .: "available_in_bytes"-                                 <*> o .: "free_in_bytes"-                                 <*> o .: "total_in_bytes"--instance FromJSON NodeNetworkStats where-  parseJSON = withObject "NodeNetworkStats" parse-    where-      parse o = do-        tcp <- o .: "tcp"-        NodeNetworkStats <$> tcp .: "out_rsts"-                         <*> tcp .: "in_errs"-                         <*> tcp .: "attempt_fails"-                         <*> tcp .: "estab_resets"-                         <*> tcp .: "retrans_segs"-                         <*> tcp .: "out_segs"-                         <*> tcp .: "in_segs"-                         <*> tcp .: "curr_estab"-                         <*> tcp .: "passive_opens"-                         <*> tcp .: "active_opens"--instance FromJSON NodeThreadPoolsStats where-  parseJSON = withObject "NodeThreadPoolsStats" parse-    where-      parse o = NodeThreadPoolsStats <$> o .: "snapshot"-                                     <*> o .: "bulk"-                                     <*> o .: "merge"-                                     <*> o .: "get"-                                     <*> o .: "management"-                                     <*> o .:? "fetch_shard_store"-                                     <*> o .: "optimize"-                                     <*> o .: "flush"-                                     <*> o .: "search"-                                     <*> o .: "warmer"-                                     <*> o .: "generic"-                                     <*> o .: "suggest"-                                     <*> o .: "refresh"-                                     <*> o .: "index"-                                     <*> o .:? "listener"-                                     <*> o .:? "fetch_shard_started"-                                     <*> o .: "percolate"-instance FromJSON NodeThreadPoolStats where-    parseJSON = withObject "NodeThreadPoolStats" parse-      where-        parse o = NodeThreadPoolStats <$> o .: "completed"-                                      <*> o .: "largest"-                                      <*> o .: "rejected"-                                      <*> o .: "active"-                                      <*> o .: "queue"-                                      <*> o .: "threads"--instance FromJSON NodeJVMStats where-  parseJSON = withObject "NodeJVMStats" parse-    where-      parse o = do-        bufferPools <- o .: "buffer_pools"-        mapped <- bufferPools .: "mapped"-        direct <- bufferPools .: "direct"-        gc <- o .: "gc"-        collectors <- gc .: "collectors"-        oldC <- collectors .: "old"-        youngC <- collectors .: "young"-        threads <- o .: "threads"-        mem <- o .: "mem"-        pools <- mem .: "pools"-        oldM <- pools .: "old"-        survivorM <- pools .: "survivor"-        youngM <- pools .: "young"-        NodeJVMStats <$> pure mapped-                     <*> pure direct-                     <*> pure oldC-                     <*> pure youngC-                     <*> threads .: "peak_count"-                     <*> threads .: "count"-                     <*> pure oldM-                     <*> pure survivorM-                     <*> pure youngM-                     <*> mem .: "non_heap_committed_in_bytes"-                     <*> mem .: "non_heap_used_in_bytes"-                     <*> mem .: "heap_max_in_bytes"-                     <*> mem .: "heap_committed_in_bytes"-                     <*> mem .: "heap_used_percent"-                     <*> mem .: "heap_used_in_bytes"-                     <*> (unMS <$> o .: "uptime_in_millis")-                     <*> (posixMS <$> o .: "timestamp")--instance FromJSON JVMBufferPoolStats where-  parseJSON = withObject "JVMBufferPoolStats" parse-    where-      parse o = JVMBufferPoolStats <$> o .: "total_capacity_in_bytes"-                                   <*> o .: "used_in_bytes"-                                   <*> o .: "count"--instance FromJSON JVMGCStats where-  parseJSON = withObject "JVMGCStats" parse-    where-      parse o = JVMGCStats <$> (unMS <$> o .: "collection_time_in_millis")-                           <*> o .: "collection_count"--instance FromJSON JVMPoolStats where-  parseJSON = withObject "JVMPoolStats" parse-    where-      parse o = JVMPoolStats <$> o .: "peak_max_in_bytes"-                             <*> o .: "peak_used_in_bytes"-                             <*> o .: "max_in_bytes"-                             <*> o .: "used_in_bytes"--instance FromJSON NodeProcessStats where-  parseJSON = withObject "NodeProcessStats" parse-    where-      parse o = do-        mem <- o .: "mem"-        cpu <- o .: "cpu"-        NodeProcessStats <$> mem .: "total_virtual_in_bytes"-                         <*> mem .: "share_in_bytes"-                         <*> mem .: "resident_in_bytes"-                         <*> (unMS <$> cpu .: "total_in_millis")-                         <*> (unMS <$> cpu .: "user_in_millis")-                         <*> (unMS <$> cpu .: "sys_in_millis")-                         <*> cpu .: "percent"-                         <*> o .: "open_file_descriptors"-                         <*> (posixMS <$> o .: "timestamp")--instance FromJSON NodeOSStats where-  parseJSON = withObject "NodeOSStats" parse-    where-      parse o = do-        swap <- o .: "swap"-        mem <- o .: "mem"-        cpu <- o .: "cpu"-        load <- o .:? "load_average"-        NodeOSStats <$> swap .: "free_in_bytes"-                    <*> swap .: "used_in_bytes"-                    <*> mem .: "actual_used_in_bytes"-                    <*> mem .: "actual_free_in_bytes"-                    <*> mem .: "used_percent"-                    <*> mem .: "free_percent"-                    <*> mem .: "used_in_bytes"-                    <*> mem .: "free_in_bytes"-                    <*> cpu .: "stolen"-                    <*> cpu .: "usage"-                    <*> cpu .: "idle"-                    <*> cpu .: "user"-                    <*> cpu .: "sys"-                    <*> pure load-                    <*> (unMS <$> o .: "uptime_in_millis")-                    <*> (posixMS <$> o .: "timestamp")--instance FromJSON LoadAvgs where-  parseJSON = withArray "LoadAvgs" parse-    where-      parse v = case V.toList v of-        [one, five, fifteen] -> LoadAvgs <$> parseJSON one-                                         <*> parseJSON five-                                         <*> parseJSON fifteen-        _                    -> fail "Expecting a triple of Doubles"--instance FromJSON NodeIndicesStats where-  parseJSON = withObject "NodeIndicesStats" parse-    where-      parse o = do-        let (.::) mv k = case mv of-              Just v -> Just <$> v .: k-              Nothing -> pure Nothing-        mRecovery <- o .:? "recovery"-        mQueryCache <- o .:? "query_cache"-        suggest <- o .: "suggest"-        translog <- o .: "translog"-        segments <- o .: "segments"-        completion <- o .: "completion"-        percolate <- o .: "percolate"-        fielddata <- o .: "fielddata"-        idCache <- o .: "id_cache"-        filterCache <- o .: "filter_cache"-        warmer <- o .: "warmer"-        flush <- o .: "flush"-        refresh <- o .: "refresh"-        merges <- o .: "merges"-        search <- o .: "search"-        getStats <- o .: "get"-        indexing <- o .: "indexing"-        store <- o .: "store"-        docs <- o .: "docs"-        NodeIndicesStats <$> (fmap unMS <$> mRecovery .:: "throttle_time_in_millis")-                         <*> mRecovery .:: "current_as_target"-                         <*> mRecovery .:: "current_as_source"-                         <*> mQueryCache .:: "miss_count"-                         <*> mQueryCache .:: "hit_count"-                         <*> mQueryCache .:: "evictions"-                         <*> mQueryCache .:: "memory_size_in_bytes"-                         <*> suggest .: "current"-                         <*> (unMS <$> suggest .: "time_in_millis")-                         <*> suggest .: "total"-                         <*> translog .: "size_in_bytes"-                         <*> translog .: "operations"-                         <*> segments .:? "fixed_bit_set_memory_in_bytes"-                         <*> segments .: "version_map_memory_in_bytes"-                         <*> segments .:? "index_writer_max_memory_in_bytes"-                         <*> segments .: "index_writer_memory_in_bytes"-                         <*> segments .: "memory_in_bytes"-                         <*> segments .: "count"-                         <*> completion .: "size_in_bytes"-                         <*> percolate .: "queries"-                         <*> percolate .: "memory_size_in_bytes"-                         <*> percolate .: "current"-                         <*> (unMS <$> percolate .: "time_in_millis")-                         <*> percolate .: "total"-                         <*> fielddata .: "evictions"-                         <*> fielddata .: "memory_size_in_bytes"-                         <*> idCache .: "memory_size_in_bytes"-                         <*> filterCache .: "evictions"-                         <*> filterCache .: "memory_size_in_bytes"-                         <*> (unMS <$> warmer .: "total_time_in_millis")-                         <*> warmer .: "total"-                         <*> warmer .: "current"-                         <*> (unMS <$> flush .: "total_time_in_millis")-                         <*> flush .: "total"-                         <*> (unMS <$> refresh .: "total_time_in_millis")-                         <*> refresh .: "total"-                         <*> merges .: "total_size_in_bytes"-                         <*> merges .: "total_docs"-                         <*> (unMS <$> merges .: "total_time_in_millis")-                         <*> merges .: "total"-                         <*> merges .: "current_size_in_bytes"-                         <*> merges .: "current_docs"-                         <*> merges .: "current"-                         <*> search .: "fetch_current"-                         <*> (unMS <$> search .: "fetch_time_in_millis")-                         <*> search .: "fetch_total"-                         <*> search .: "query_current"-                         <*> (unMS <$> search .: "query_time_in_millis")-                         <*> search .: "query_total"-                         <*> search .: "open_contexts"-                         <*> getStats .: "current"-                         <*> (unMS <$> getStats .: "missing_time_in_millis")-                         <*> getStats .: "missing_total"-                         <*> (unMS <$> getStats .: "exists_time_in_millis")-                         <*> getStats .: "exists_total"-                         <*> (unMS <$> getStats .: "time_in_millis")-                         <*> getStats .: "total"-                         <*> (fmap unMS <$> indexing .:? "throttle_time_in_millis")-                         <*> indexing .:? "is_throttled"-                         <*> indexing .:? "noop_update_total"-                         <*> indexing .: "delete_current"-                         <*> (unMS <$> indexing .: "delete_time_in_millis")-                         <*> indexing .: "delete_total"-                         <*> indexing .: "index_current"-                         <*> (unMS <$> indexing .: "index_time_in_millis")-                         <*> indexing .: "index_total"-                         <*> (unMS <$> store .: "throttle_time_in_millis")-                         <*> store .: "size_in_bytes"-                         <*> docs .: "deleted"-                         <*> docs .: "count"--instance FromJSON NodeBreakersStats where-  parseJSON = withObject "NodeBreakersStats" parse-    where-      parse o = NodeBreakersStats <$> o .: "parent"-                                  <*> o .: "request"-                                  <*> o .: "fielddata"--parseNodeStats :: FullNodeId -> Object -> Parser NodeStats-parseNodeStats fnid o = do-  NodeStats <$> o .: "name"-            <*> pure fnid-            <*> o .:? "breakers"-            <*> o .: "http"-            <*> o .: "transport"-            <*> o .: "fs"-            <*> o .: "network"-            <*> o .: "thread_pool"-            <*> o .: "jvm"-            <*> o .: "process"-            <*> o .: "os"-            <*> o .: "indices"--parseNodeInfo :: FullNodeId -> Object -> Parser NodeInfo-parseNodeInfo nid o =-  NodeInfo <$> o .: "http_address"-           <*> o .: "build"-           <*> o .: "version"-           <*> o .: "ip"-           <*> o .: "host"-           <*> o .: "transport_address"-           <*> o .: "name"-           <*> pure nid-           <*> o .: "plugins"-           <*> o .: "http"-           <*> o .: "transport"-           <*> o .: "network"-           <*> o .: "thread_pool"-           <*> o .: "jvm"-           <*> o .: "process"-           <*> o .: "os"-           <*> o .: "settings"--instance FromJSON NodePluginInfo where-  parseJSON = withObject "NodePluginInfo" parse-    where-      parse o = NodePluginInfo <$> o .:  "site"-                               <*> o .:  "jvm"-                               <*> o .:  "description"-                               <*> o .: "version"-                               <*> o .:  "name"--instance FromJSON NodeHTTPInfo where-  parseJSON = withObject "NodeHTTPInfo" parse-    where-      parse o = NodeHTTPInfo <$> o .: "max_content_length_in_bytes"-                             <*> parseJSON (Object o)--instance FromJSON BoundTransportAddress where-  parseJSON = withObject "BoundTransportAddress" parse-    where-      parse o = BoundTransportAddress <$> o .: "publish_address"-                                      <*> o .: "bound_address"--instance FromJSON NodeOSInfo where-  parseJSON = withObject "NodeOSInfo" parse-    where-      parse o = do-        swap <- o .: "swap"-        mem <- o .: "mem"-        NodeOSInfo <$> swap .: "total_in_bytes"-                   <*> mem .: "total_in_bytes"-                   <*> o .: "cpu"-                   <*> o .: "available_processors"-                   <*> (unMS <$> o .: "refresh_interval_in_millis")---instance FromJSON CPUInfo where-  parseJSON = withObject "CPUInfo" parse-    where-      parse o = CPUInfo <$> o .: "cache_size_in_bytes"-                        <*> o .: "cores_per_socket"-                        <*> o .: "total_sockets"-                        <*> o .: "total_cores"-                        <*> o .: "mhz"-                        <*> o .: "model"-                        <*> o .: "vendor"--instance FromJSON NodeProcessInfo where-  parseJSON = withObject "NodeProcessInfo" parse-    where-      parse o = NodeProcessInfo <$> o .: "mlockall"-                                <*> o .: "max_file_descriptors"-                                <*> o .: "id"-                                <*> (unMS <$> o .: "refresh_interval_in_millis")--instance FromJSON NodeJVMInfo where-  parseJSON = withObject "NodeJVMInfo" parse-    where-      parse o = NodeJVMInfo <$> o .: "memory_pools"-                            <*> o .: "gc_collectors"-                            <*> o .: "mem"-                            <*> (posixMS <$> o .: "start_time_in_millis")-                            <*> o .: "vm_vendor"-                            <*> o .: "vm_version"-                            <*> o .: "vm_name"-                            <*> (unJVMVersion <$> o .: "version")-                            <*> o .: "pid"--instance FromJSON JVMVersion where-  parseJSON (String t) =-    JVMVersion <$> parseJSON (String (T.replace "_" "." t))-  parseJSON v = JVMVersion <$> parseJSON v--instance FromJSON JVMMemoryInfo where-  parseJSON = withObject "JVMMemoryInfo" parse-    where-      parse o = JVMMemoryInfo <$> o .: "direct_max_in_bytes"-                              <*> o .: "non_heap_max_in_bytes"-                              <*> o .: "non_heap_init_in_bytes"-                              <*> o .: "heap_max_in_bytes"-                              <*> o .: "heap_init_in_bytes"--instance FromJSON NodeThreadPoolsInfo where-  parseJSON = withObject "NodeThreadPoolsInfo" parse-    where-      parse o = NodeThreadPoolsInfo <$> o .: "refresh"-                                    <*> o .: "management"-                                    <*> o .: "percolate"-                                    <*> o .:? "listener"-                                    <*> o .:? "fetch_shard_started"-                                    <*> o .: "search"-                                    <*> o .: "flush"-                                    <*> o .: "warmer"-                                    <*> o .: "optimize"-                                    <*> o .: "bulk"-                                    <*> o .: "suggest"-                                    <*> o .: "merge"-                                    <*> o .: "snapshot"-                                    <*> o .: "get"-                                    <*> o .:? "fetch_shard_store"-                                    <*> o .: "index"-                                    <*> o .: "generic"--instance FromJSON NodeThreadPoolInfo where-  parseJSON = withObject "NodeThreadPoolInfo" parse-    where-      parse o = do-        ka <- maybe (return Nothing) (fmap Just . parseStringInterval) =<< o .:? "keep_alive"-        NodeThreadPoolInfo <$> (parseJSON . unStringlyTypeJSON =<< o .: "queue_size")-                           <*> pure ka-                           <*> o .:? "min"-                           <*> o .:? "max"-                           <*> o .: "type"--parseStringInterval :: (Monad m) => String -> m NominalDiffTime-parseStringInterval s = case span isNumber s of-  ("", _) -> fail "Invalid interval"-  (nS, unitS) -> case (readMay nS, readMay unitS) of-    (Just n, Just unit) -> return (fromInteger (n * unitNDT unit))-    (Nothing, _) -> fail "Invalid interval number"-    (_, Nothing) -> fail "Invalid interval unit"-  where-    unitNDT Seconds = 1-    unitNDT Minutes = 60-    unitNDT Hours   = 60 * 60-    unitNDT Days    = 24 * 60 * 60-    unitNDT Weeks   = 7 * 24 * 60 * 60--instance FromJSON ThreadPoolSize where-  parseJSON v = parseAsNumber v <|> parseAsString v-    where-      parseAsNumber = parseAsInt <=< parseJSON-      parseAsInt (-1) = return ThreadPoolUnbounded-      parseAsInt n-        | n >= 0 = return (ThreadPoolBounded n)-        | otherwise = fail "Thread pool size must be >= -1."-      parseAsString = withText "ThreadPoolSize" $ \t ->-        case first (readMay . T.unpack) (T.span isNumber t) of-          (Just n, "k") -> return (ThreadPoolBounded (n * 1000))-          (Just n, "") -> return (ThreadPoolBounded n)-          _ -> fail ("Invalid thread pool size " <> T.unpack t)--instance FromJSON ThreadPoolType where-  parseJSON = withText "ThreadPoolType" parse-    where-      parse "scaling" = return ThreadPoolScaling-      parse "fixed"   = return ThreadPoolFixed-      parse "cached"  = return ThreadPoolCached-      parse e         = fail ("Unexpected thread pool type" <> T.unpack e)--instance FromJSON NodeTransportInfo where-  parseJSON = withObject "NodeTransportInfo" parse-    where-      parse o = NodeTransportInfo <$> (maybe (return mempty) parseProfiles =<< o .:? "profiles")-                                  <*> parseJSON (Object o)-      parseProfiles (Object o) | HM.null o = return []-      parseProfiles v@(Array _) = parseJSON v-      parseProfiles Null = return []-      parseProfiles _ = fail "Could not parse profiles"--instance FromJSON NodeNetworkInfo where-  parseJSON = withObject "NodeNetworkInfo" parse-    where-      parse o = NodeNetworkInfo <$> o .: "primary_interface"-                                <*> (unMS <$> o .: "refresh_interval_in_millis")---instance FromJSON NodeNetworkInterface where-  parseJSON = withObject "NodeNetworkInterface" parse-    where-      parse o = NodeNetworkInterface <$> o .: "mac_address"-                                     <*> o .: "name"-                                     <*> o .: "address"--newtype MaybeNA a = MaybeNA { unMaybeNA :: Maybe a }-  deriving (Show, Eq)--instance FromJSON a => FromJSON (MaybeNA a) where-  parseJSON (String "NA") = pure $ MaybeNA Nothing-  parseJSON o = MaybeNA . Just <$> parseJSON o
− src/Database/Bloodhound/Types/Class.hs
@@ -1,17 +0,0 @@-{-# LANGUAGE CPP #-}-module Database.Bloodhound.Types.Class-       ( Seminearring(..) )-       where--#if !MIN_VERSION_base(4,8,0)-import Data.Monoid-#endif--class Monoid a => Seminearring a where-  -- 0, +, *-  (<||>) :: a -> a -> a-  (<&&>) :: a -> a -> a-  (<&&>) = mappend--infixr 5 <||>-infixr 5 <&&>
− src/Database/Bloodhound/Types/Internal.hs
@@ -1,57 +0,0 @@-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}------------------------------------------------------------------------------------ |--- Module : Database.Bloodhound.Types.Internal--- Copyright : (C) 2014 Chris Allen--- License : BSD-style (see the file LICENSE)--- Maintainer : Chris Allen <cma@bitemyapp.com>--- Stability : provisional--- Portability : DeriveGeneric, RecordWildCards------ Internal data types for Bloodhound. These types may change without--- notice so import at your own risk.---------------------------------------------------------------------------------module Database.Bloodhound.Types.Internal-    ( BHEnv(..)-    , Server(..)-    , MonadBH(..)-    ) where---import           Control.Applicative  as A-import           Control.Monad.Reader-import           Data.Aeson-import           Data.Text            (Text)-import           Data.Typeable        (Typeable)-import           GHC.Generics         (Generic)-import           Network.HTTP.Client--{-| Common environment for Elasticsearch calls. Connections will be-    pipelined according to the provided HTTP connection manager.--}-data BHEnv = BHEnv { bhServer      :: Server-                   , bhManager     :: Manager-                   , bhRequestHook :: Request -> IO Request-                   -- ^ Low-level hook that is run before every request is sent. Used to implement custom authentication strategies. Defaults to 'return' with 'mkBHEnv'.-                   }--instance (Functor m, Applicative m, MonadIO m) => MonadBH (ReaderT BHEnv m) where-  getBHEnv = ask--{-| 'Server' is used with the client functions to point at the ES instance--}-newtype Server = Server Text deriving (Eq, Show, Generic, Typeable, FromJSON)--{-| 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.--}-class (Functor m, A.Applicative m, MonadIO m) => MonadBH m where-  getBHEnv :: m BHEnv-
+ src/Database/V1/Bloodhound.hs view
@@ -0,0 +1,10 @@+module Database.V1.Bloodhound+       ( -- module Data.Aeson.Types+       -- , +         module Database.V1.Bloodhound.Client+       , module Database.V1.Bloodhound.Types+       ) where++-- import Data.Aeson.Types+import Database.V1.Bloodhound.Client+import Database.V1.Bloodhound.Types
+ src/Database/V1/Bloodhound/Client.hs view
@@ -0,0 +1,917 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards   #-}+{-# LANGUAGE TupleSections     #-}++-------------------------------------------------------------------------------+-- |+-- Module : Database.Bloodhound.Client+-- Copyright : (C) 2014 Chris Allen+-- License : BSD-style (see the file LICENSE)+-- Maintainer : Chris Allen <cma@bitemyapp.com+-- Stability : provisional+-- Portability : OverloadedStrings+--+-- Client side functions for talking to Elasticsearch servers.+--+-------------------------------------------------------------------------------++module Database.V1.Bloodhound.Client+       ( -- * Bloodhound client functions+         -- | The examples in this module assume the following code has been run.+         --   The :{ and :} will only work in GHCi. You'll only need the data types+         --   and typeclass instances for the functions that make use of them.++         -- $setup+         withBH+       -- ** Indices+       , createIndex+       , deleteIndex+       , updateIndexSettings+       , getIndexSettings+       , optimizeIndex+       , indexExists+       , openIndex+       , closeIndex+       , listIndices+       , waitForYellowIndex+       -- *** Index Aliases+       , updateIndexAliases+       , getIndexAliases+       -- *** Index Templates+       , putTemplate+       , templateExists+       , deleteTemplate+       -- ** Mapping+       , putMapping+       , deleteMapping+       -- ** Documents+       , indexDocument+       , updateDocument+       , getDocument+       , documentExists+       , deleteDocument+       -- ** Searching+       , searchAll+       , searchByIndex+       , searchByType+       , scanSearch+       , getInitialScroll+       , advanceScroll+       , refreshIndex+       , mkSearch+       , mkAggregateSearch+       , mkHighlightSearch+       , bulk+       , pageSearch+       , mkShardCount+       , mkReplicaCount+       , getStatus+       -- ** Snapshot/Restore+       -- *** Snapshot Repos+       , getSnapshotRepos+       , updateSnapshotRepo+       , verifySnapshotRepo+       , deleteSnapshotRepo+       -- *** Snapshots+       , createSnapshot+       , getSnapshots+       , deleteSnapshot+       -- *** Restoring Snapshots+       , restoreSnapshot+       -- ** Nodes+       , getNodesInfo+       , getNodesStats+       -- ** Request Utilities+       , encodeBulkOperations+       , encodeBulkOperation+       -- * Authentication+       , basicAuthHook+       -- * Reply-handling tools+       , isVersionConflict+       , isSuccess+       , isCreated+       , parseEsResponse+       )+       where++import qualified Blaze.ByteString.Builder     as BB+import           Control.Applicative          as A+import           Control.Monad+import           Control.Monad.Catch+import           Control.Monad.IO.Class+import           Data.Aeson+import           Data.ByteString.Lazy.Builder+import qualified Data.ByteString.Lazy.Char8   as L+import           Data.Foldable                (toList)+import qualified Data.HashMap.Strict          as HM+import           Data.Ix+import qualified Data.List                    as LS (filter, foldl')+import           Data.List.NonEmpty           (NonEmpty (..))+import           Data.Maybe                   (catMaybes, fromMaybe, isJust)+import           Data.Monoid+import           Data.Text                    (Text)+import qualified Data.Text                    as T+import qualified Data.Text.Encoding           as T+import           Data.Time.Clock+import qualified Data.Vector                  as V+import           Network.HTTP.Client+import qualified Network.HTTP.Types.Method    as NHTM+import qualified Network.HTTP.Types.Status    as NHTS+import qualified Network.HTTP.Types.URI       as NHTU+import qualified Network.URI                  as URI+import           Prelude                      hiding (filter, head)++import           Database.V1.Bloodhound.Types++-- | 'mkShardCount' is a straight-forward smart constructor for 'ShardCount'+--   which rejects 'Int' values below 1 and above 1000.+mkShardCount :: Int -> Maybe ShardCount+mkShardCount n+  | n < 1 = Nothing+  | n > 1000 = Nothing+  | otherwise = Just (ShardCount n)++-- | 'mkReplicaCount' is a straight-forward smart constructor for 'ReplicaCount'+--   which rejects 'Int' values below 0 and above 1000.+mkReplicaCount :: Int -> Maybe ReplicaCount+mkReplicaCount n+  | n < 0 = Nothing+  | n > 1000 = Nothing -- ...+  | otherwise = Just (ReplicaCount n)++emptyBody :: L.ByteString+emptyBody = L.pack ""++dispatch :: MonadBH m+         => Method+         -> Text+         -> Maybe L.ByteString+         -> m Reply+dispatch dMethod url body = do+  initReq <- liftIO $ parseUrl' url+  reqHook <- bhRequestHook A.<$> getBHEnv+  let reqBody = RequestBodyLBS $ fromMaybe emptyBody body+  req <- liftIO $ reqHook $ setRequestIgnoreStatus $ initReq { method = dMethod+                                                             , requestBody = reqBody }+  mgr <- bhManager <$> getBHEnv+  liftIO $ httpLbs req mgr++joinPath' :: [Text] -> Text+joinPath' = T.intercalate "/"++joinPath :: MonadBH m => [Text] -> m Text+joinPath ps = do+  Server s <- bhServer <$> getBHEnv+  return $ joinPath' (s:ps)++appendSearchTypeParam :: Text -> SearchType -> Text+appendSearchTypeParam originalUrl st = addQuery params originalUrl+  where stText = "search_type"+        params+          | st == SearchTypeDfsQueryThenFetch = [(stText, Just "dfs_query_then_fetch")]+          | st == SearchTypeCount             = [(stText, Just "count")]+          | st == SearchTypeScan              = [(stText, Just "scan"), ("scroll", Just "1m")]+          | st == SearchTypeQueryAndFetch     = [(stText, Just "query_and_fetch")]+          | st == SearchTypeDfsQueryAndFetch  = [(stText, Just "dfs_query_and_fetch")]+        -- used to catch 'SearchTypeQueryThenFetch', which is also the default+          | otherwise                         = [(stText, Just "query_then_fetch")]++-- | Severely dumbed down query renderer. Assumes your data doesn't+-- need any encoding+addQuery :: [(Text, Maybe Text)] -> Text -> Text+addQuery q u = u <> rendered+  where+    rendered =+      T.decodeUtf8 $ BB.toByteString $ NHTU.renderQueryText prependQuestionMark q+    prependQuestionMark = True++bindM2 :: (Applicative m, Monad m) => (a -> b -> m c) -> m a -> m b -> m c+bindM2 f ma mb = join (f <$> ma <*> mb)++-- | Convenience function that sets up a manager and BHEnv and runs+-- the given set of bloodhound operations. Connections will be+-- pipelined automatically in accordance with the given manager+-- settings in IO. If you've got your own monad transformer stack, you+-- should use 'runBH' directly.+withBH :: ManagerSettings -> Server -> BH IO a -> IO a+withBH ms s f = do+  mgr <- newManager ms+  let env = mkBHEnv s mgr+  runBH env f++-- Shortcut functions for HTTP methods+delete :: MonadBH m => Text -> m Reply+delete = flip (dispatch NHTM.methodDelete) Nothing+get    :: MonadBH m => Text -> m Reply+get    = flip (dispatch NHTM.methodGet) Nothing+head   :: MonadBH m => Text -> m Reply+head   = flip (dispatch NHTM.methodHead) Nothing+put    :: MonadBH m => Text -> Maybe L.ByteString -> m Reply+put    = dispatch NHTM.methodPut+post   :: MonadBH m => Text -> Maybe L.ByteString -> m Reply+post   = dispatch NHTM.methodPost++-- indexDocument s ix name doc = put (root </> s </> ix </> name </> doc) (Just encode doc)+-- http://hackage.haskell.org/package/http-client-lens-0.1.0/docs/Network-HTTP-Client-Lens.html+-- https://github.com/supki/libjenkins/blob/master/src/Jenkins/Rest/Internal.hs++-- | 'getStatus' fetches the 'Status' of a 'Server'+getStatus :: MonadBH m => m (Maybe Status)+getStatus = do+  response <- get =<< url+  return $ decode (responseBody response)+  where url = joinPath []++-- | 'getSnapshotRepos' gets the definitions of a subset of the+-- defined snapshot repos.+getSnapshotRepos+    :: ( MonadBH m+       , MonadThrow m+       )+    => SnapshotRepoSelection+    -> m (Either EsError [GenericSnapshotRepo])+getSnapshotRepos sel = fmap (fmap unGSRs) . parseEsResponse =<< get =<< url+  where+    url = joinPath ["_snapshot", selectorSeg]+    selectorSeg = case sel of+                    AllSnapshotRepos -> "_all"+                    SnapshotRepoList (p :| ps) -> T.intercalate "," (renderPat <$> (p:ps))+    renderPat (RepoPattern t)                  = t+    renderPat (ExactRepo (SnapshotRepoName t)) = t+++-- | Wrapper to extract the list of 'GenericSnapshotRepo' in the+-- format they're returned in+newtype GSRs = GSRs { unGSRs :: [GenericSnapshotRepo] }+++instance FromJSON GSRs where+  parseJSON = withObject "Collection of GenericSnapshotRepo" parse+    where+      parse = fmap GSRs . mapM (uncurry go) . HM.toList+      go rawName = withObject "GenericSnapshotRepo" $ \o -> do+        GenericSnapshotRepo (SnapshotRepoName rawName) <$> o .: "type"+                                                       <*> o .: "settings"+++-- | Create or update a snapshot repo+updateSnapshotRepo+  :: ( MonadBH m+     , SnapshotRepo repo+     )+  => SnapshotRepoUpdateSettings+  -- ^ Use 'defaultSnapshotRepoUpdateSettings' if unsure+  -> repo+  -> m Reply+updateSnapshotRepo SnapshotRepoUpdateSettings {..} repo =+  bindM2 put url (return (Just body))+  where+    url = addQuery params <$> joinPath ["_snapshot", snapshotRepoName gSnapshotRepoName]+    params+      | repoUpdateVerify = []+      | otherwise        = [("verify", Just "false")]+    body = encode $ object [ "type" .= gSnapshotRepoType+                           , "settings" .= gSnapshotRepoSettings+                           ]+    GenericSnapshotRepo {..} = toGSnapshotRepo repo++++-- | Verify if a snapshot repo is working. __NOTE:__ this API did not+-- make it into ElasticSearch until 1.4. If you use an older version,+-- you will get an error here.+verifySnapshotRepo+    :: ( MonadBH m+       , MonadThrow m+       )+    => SnapshotRepoName+    -> m (Either EsError SnapshotVerification)+verifySnapshotRepo (SnapshotRepoName n) =+  parseEsResponse =<< bindM2 post url (return Nothing)+  where+    url = joinPath ["_snapshot", n, "_verify"]+++deleteSnapshotRepo :: MonadBH m => SnapshotRepoName -> m Reply+deleteSnapshotRepo (SnapshotRepoName n) = delete =<< url+  where+    url = joinPath ["_snapshot", n]+++-- | Create and start a snapshot+createSnapshot+    :: (MonadBH m)+    => SnapshotRepoName+    -> SnapshotName+    -> SnapshotCreateSettings+    -> m Reply+createSnapshot (SnapshotRepoName repoName)+               (SnapshotName snapName)+               SnapshotCreateSettings {..} =+  bindM2 put url (return (Just body))+  where+    url = addQuery params <$> joinPath ["_snapshot", repoName, snapName]+    params = [("wait_for_completion", Just (boolQP snapWaitForCompletion))]+    body = encode $ object prs+    prs = catMaybes [ ("indices" .=) . indexSelectionName <$> snapIndices+                    , Just ("ignore_unavailable" .= snapIgnoreUnavailable)+                    , Just ("ignore_global_state" .= snapIncludeGlobalState)+                    , Just ("partial" .= snapPartial)+                    ]+++indexSelectionName :: IndexSelection -> Text+indexSelectionName AllIndexes            = "_all"+indexSelectionName (IndexList (i :| is)) = T.intercalate "," (renderIndex <$> (i:is))+  where+    renderIndex (IndexName n) = n+++-- | Get info about known snapshots given a pattern and repo name.+getSnapshots+    :: ( MonadBH m+       , MonadThrow m+       )+    => SnapshotRepoName+    -> SnapshotSelection+    -> m (Either EsError [SnapshotInfo])+getSnapshots (SnapshotRepoName repoName) sel =+  fmap (fmap unSIs) . parseEsResponse =<< get =<< url+  where+    url = joinPath ["_snapshot", repoName, snapPath]+    snapPath = case sel of+      AllSnapshots -> "_all"+      SnapshotList (s :| ss) -> T.intercalate "," (renderPath <$> (s:ss))+    renderPath (SnapPattern t)              = t+    renderPath (ExactSnap (SnapshotName t)) = t+++newtype SIs = SIs { unSIs :: [SnapshotInfo] }+++instance FromJSON SIs where+  parseJSON = withObject "Collection of SnapshotInfo" parse+    where+      parse o = SIs <$> o .: "snapshots"+++-- | Delete a snapshot. Cancels if it is running.+deleteSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> m Reply+deleteSnapshot (SnapshotRepoName repoName) (SnapshotName snapName) =+  delete =<< url+  where+    url = joinPath ["_snapshot", repoName, snapName]+++-- | Restore a snapshot to the cluster See+-- <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/modules-snapshots.html#_restore>+-- for more details.+restoreSnapshot+    :: MonadBH m+    => SnapshotRepoName+    -> SnapshotName+    -> SnapshotRestoreSettings+    -- ^ Start with 'defaultSnapshotRestoreSettings' and customize+    -- from there for reasonable defaults.+    -> m Reply+restoreSnapshot (SnapshotRepoName repoName)+                (SnapshotName snapName)+                SnapshotRestoreSettings {..} = bindM2 post url (return (Just body))+  where+    url = addQuery params <$> joinPath ["_snapshot", repoName, snapName, "_restore"]+    params = [("wait_for_completion", Just (boolQP snapRestoreWaitForCompletion))]+    body = encode (object prs)+++    prs = catMaybes [ ("indices" .=) . indexSelectionName <$> snapRestoreIndices+                 , Just ("ignore_unavailable" .= snapRestoreIgnoreUnavailable)+                 , Just ("include_global_state" .= snapRestoreIncludeGlobalState)+                 , ("rename_pattern" .=) <$> snapRestoreRenamePattern+                 , ("rename_replacement" .=) . renderTokens <$> snapRestoreRenameReplacement+                 , Just ("include_aliases" .= snapRestoreIncludeAliases)+                 , ("index_settings" .= ) <$> snapRestoreIndexSettingsOverrides+                 , ("ignore_index_settings" .= ) <$> snapRestoreIgnoreIndexSettings+                 ]+    renderTokens (t :| ts) = mconcat (renderToken <$> (t:ts))+    renderToken (RRTLit t)      = t+    renderToken RRSubWholeMatch = "$0"+    renderToken (RRSubGroup g)  = T.pack (show (rrGroupRefNum g))+++getNodesInfo+    :: ( MonadBH m+       , MonadThrow m+       )+    => NodeSelection+    -> m (Either EsError NodesInfo)+getNodesInfo sel = parseEsResponse =<< get =<< url+  where+    url = joinPath ["_nodes", selectionSeg]+    selectionSeg = case sel of+      LocalNode -> "_local"+      NodeList (l :| ls) -> T.intercalate "," (selToSeg <$> (l:ls))+      AllNodes -> "_all"+    selToSeg (NodeByName (NodeName n))            = n+    selToSeg (NodeByFullNodeId (FullNodeId i))    = i+    selToSeg (NodeByHost (Server s))              = s+    selToSeg (NodeByAttribute (NodeAttrName a) v) = a <> ":" <> v++getNodesStats+    :: ( MonadBH m+       , MonadThrow m+       )+    => NodeSelection+    -> m (Either EsError NodesStats)+getNodesStats sel = parseEsResponse =<< get =<< url+  where+    url = joinPath ["_nodes", selectionSeg, "stats"]+    selectionSeg = case sel of+      LocalNode -> "_local"+      NodeList (l :| ls) -> T.intercalate "," (selToSeg <$> (l:ls))+      AllNodes -> "_all"+    selToSeg (NodeByName (NodeName n))            = n+    selToSeg (NodeByFullNodeId (FullNodeId i))    = i+    selToSeg (NodeByHost (Server s))              = s+    selToSeg (NodeByAttribute (NodeAttrName a) v) = a <> ":" <> v++-- | 'createIndex' will create an index given a 'Server', 'IndexSettings', and an 'IndexName'.+createIndex :: MonadBH m => IndexSettings -> IndexName -> m Reply+createIndex indexSettings (IndexName indexName) =+  bindM2 put url (return body)+  where url = joinPath [indexName]+        body = Just $ encode indexSettings+++-- | 'deleteIndex' will delete an index given a 'Server', and an 'IndexName'.+deleteIndex :: MonadBH m => IndexName -> m Reply+deleteIndex (IndexName indexName) =+  delete =<< joinPath [indexName]++-- | 'updateIndexSettings' will apply a non-empty list of setting updates to an index+updateIndexSettings :: MonadBH m => NonEmpty UpdatableIndexSetting -> IndexName -> m Reply+updateIndexSettings updates (IndexName indexName) =+  bindM2 put url (return body)+  where url = joinPath [indexName, "_settings"]+        body = Just (encode jsonBody)+        jsonBody = Object (deepMerge [u | Object u <- toJSON <$> toList updates])+++getIndexSettings :: (MonadBH m, MonadThrow m) => IndexName+                 -> m (Either EsError IndexSettingsSummary)+getIndexSettings (IndexName indexName) = do+  parseEsResponse =<< get =<< url+  where url = joinPath [indexName, "_settings"]+++-- | 'optimizeIndex' will optimize a single index, list of indexes or+-- all indexes. Note that this call will block until finishing but+-- will continue even if the request times out. Concurrent requests to+-- optimize an index while another is performing will block until the+-- previous one finishes. For more information see+-- <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-optimize.html>. Nothing+-- worthwhile comes back in the reply body, so matching on the status+-- should suffice.+--+-- 'optimizeIndex' with a maxNumSegments of 1 and onlyExpungeDeletes+-- to True is the main way to release disk space back to the OS being+-- held by deleted documents.+--+-- Note that this API was deprecated in ElasticSearch 2.1 for the+-- almost completely identical forcemerge API. Adding support to that+-- API would be trivial but due to the significant breaking changes,+-- this library cannot currently be used with >= 2.0, so that feature was omitted.+optimizeIndex :: MonadBH m => IndexSelection -> IndexOptimizationSettings -> m Reply+optimizeIndex ixs IndexOptimizationSettings {..} =+    bindM2 post url (return body)+  where url = addQuery params <$> joinPath [indexName, "_optimize"]+        params = catMaybes [ ("max_num_segments",) . Just . showText <$> maxNumSegments+                           , Just ("only_expunge_deletes", Just (boolQP onlyExpungeDeletes))+                           , Just ("flush", Just (boolQP flushAfterOptimize))+                           ]+        indexName = indexSelectionName ixs+        body = Nothing+++deepMerge :: [Object] -> Object+deepMerge = LS.foldl' go mempty+  where go acc = LS.foldl' go' acc . HM.toList+        go' acc (k, v) = HM.insertWith merge k v acc+        merge (Object a) (Object b) = Object (deepMerge [a, b])+        merge _ b = b+++statusCodeIs :: (Int, Int) -> Reply -> Bool+statusCodeIs r resp = inRange r $ NHTS.statusCode (responseStatus resp)++respIsTwoHunna :: Reply -> Bool+respIsTwoHunna = statusCodeIs (200, 299)++existentialQuery :: MonadBH m => Text -> m (Reply, Bool)+existentialQuery url = do+  reply <- head url+  return (reply, respIsTwoHunna reply)+++-- | Tries to parse a response body as the expected type @a@ and+-- failing that tries to parse it as an EsError. All well-formed, JSON+-- responses from elasticsearch should fall into these two+-- categories. If they don't, a 'EsProtocolException' will be+-- thrown. If you encounter this, please report the full body it+-- reports along with your ElasticSearch verison.+parseEsResponse :: (MonadThrow m, FromJSON a) => Reply+                -> m (Either EsError a)+parseEsResponse reply+  | respIsTwoHunna reply = case eitherDecode body of+                             Right a -> return (Right a)+                             Left _ -> tryParseError+  | otherwise = tryParseError+  where body = responseBody reply+        tryParseError = case eitherDecode body of+                          Right e -> return (Left e)+                          -- this case should not be possible+                          Left _ -> explode+        explode = throwM (EsProtocolException body)++-- | 'indexExists' enables you to check if an index exists. Returns 'Bool'+--   in IO+indexExists :: MonadBH m => IndexName -> m Bool+indexExists (IndexName indexName) = do+  (_, exists) <- existentialQuery =<< joinPath [indexName]+  return exists++-- | 'refreshIndex' will force a refresh on an index. You must+-- do this if you want to read what you wrote.+refreshIndex :: MonadBH m => IndexName -> m Reply+refreshIndex (IndexName indexName) =+  bindM2 post url (return Nothing)+  where url = joinPath [indexName, "_refresh"]++-- | Block until the index becomes available for indexing+--   documents. This is useful for integration tests in which+--   indices are rapidly created and deleted.+waitForYellowIndex :: MonadBH m => IndexName -> m Reply+waitForYellowIndex (IndexName indexName) = get =<< url+  where url = addQuery q <$> joinPath ["_cluster","health",indexName]+        q = [("wait_for_status",Just "yellow"),("timeout",Just "10s")]++stringifyOCIndex :: OpenCloseIndex -> Text+stringifyOCIndex oci = case oci of+  OpenIndex  -> "_open"+  CloseIndex -> "_close"++openOrCloseIndexes :: MonadBH m => OpenCloseIndex -> IndexName -> m Reply+openOrCloseIndexes oci (IndexName indexName) =+  bindM2 post url (return Nothing)+  where ociString = stringifyOCIndex oci+        url = joinPath [indexName, ociString]++-- | 'openIndex' opens an index given a 'Server' and an 'IndexName'. Explained in further detail at+--   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>+openIndex :: MonadBH m => IndexName -> m Reply+openIndex = openOrCloseIndexes OpenIndex++-- | 'closeIndex' closes an index given a 'Server' and an 'IndexName'. Explained in further detail at+--   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>+closeIndex :: MonadBH m => IndexName -> m Reply+closeIndex = openOrCloseIndexes CloseIndex++-- | 'listIndices' returns a list of all index names on a given 'Server'+listIndices :: (MonadThrow m, MonadBH m) => m [IndexName]+listIndices =+  parse . responseBody =<< get =<< url+  where+    url = joinPath ["_cat/indices?v"]+    -- parses the tabular format the indices api provides+    parse body = case T.lines (T.decodeUtf8 (L.toStrict body)) of+      (hdr:rows) -> let ks = T.words hdr+                        keyedRows = [ HM.fromList (zip ks (T.words row)) | row <- rows ]+                        names = catMaybes (HM.lookup "index" <$> keyedRows)+                    in return (IndexName <$> names)+      [] -> throwM (EsProtocolException body)++-- | 'updateIndexAliases' updates the server's index alias+-- table. Operations are atomic. Explained in further detail at+-- <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html>+updateIndexAliases :: MonadBH m => NonEmpty IndexAliasAction -> m Reply+updateIndexAliases actions = bindM2 post url (return body)+  where url = joinPath ["_aliases"]+        body = Just (encode bodyJSON)+        bodyJSON = object [ "actions" .= toList actions]++-- | Get all aliases configured on the server.+getIndexAliases :: (MonadBH m, MonadThrow m)+                => m (Either EsError IndexAliasesSummary)+getIndexAliases = parseEsResponse =<< get =<< url+  where url = joinPath ["_aliases"]++-- | 'putTemplate' creates a template given an 'IndexTemplate' and a 'TemplateName'.+--   Explained in further detail at+--   <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-templates.html>+putTemplate :: MonadBH m => IndexTemplate -> TemplateName -> m Reply+putTemplate indexTemplate (TemplateName templateName) =+  bindM2 put url (return body)+  where url = joinPath ["_template", templateName]+        body = Just $ encode indexTemplate++-- | 'templateExists' checks to see if a template exists.+templateExists :: MonadBH m => TemplateName -> m Bool+templateExists (TemplateName templateName) = do+  (_, exists) <- existentialQuery =<< joinPath ["_template", templateName]+  return exists++-- | 'deleteTemplate' is an HTTP DELETE and deletes a template.+deleteTemplate :: MonadBH m => TemplateName -> m Reply+deleteTemplate (TemplateName templateName) =+  delete =<< joinPath ["_template", templateName]++-- | 'putMapping' is an HTTP PUT and has upsert semantics. Mappings are schemas+-- for documents in indexes.+putMapping :: (MonadBH m, ToJSON a) => IndexName+                 -> MappingName -> a -> m Reply+putMapping (IndexName indexName) (MappingName mappingName) mapping =+  bindM2 put url (return body)+  where url = joinPath [indexName, "_mapping", mappingName]+        -- "_mapping" and mappingName above were originally transposed+        -- erroneously. The correct API call is: "/INDEX/_mapping/MAPPING_NAME"+        body = Just $ encode mapping++-- | 'deleteMapping' is an HTTP DELETE and deletes a mapping for a given index.+-- Mappings are schemas for documents in indexes.+deleteMapping :: MonadBH m => IndexName -> MappingName -> m Reply+deleteMapping (IndexName indexName)+  (MappingName mappingName) =+  -- "_mapping" and mappingName below were originally transposed+  -- erroneously. The correct API call is: "/INDEX/_mapping/MAPPING_NAME"+  delete =<< joinPath [indexName, "_mapping", mappingName]++versionCtlParams :: IndexDocumentSettings -> [(Text, Maybe Text)]+versionCtlParams cfg =+  case idsVersionControl cfg of+    NoVersionControl -> []+    InternalVersion v -> versionParams v "internal"+    ExternalGT (ExternalDocVersion v) -> versionParams v "external_gt"+    ExternalGTE (ExternalDocVersion v) -> versionParams v "external_gte"+    ForceVersion (ExternalDocVersion v) -> versionParams v "force"+  where+    vt = showText . docVersionNumber+    versionParams v t = [ ("version", Just $ vt v)+                        , ("version_type", Just t)+                        ]++-- | 'indexDocument' is the primary way to save a single document in+--   Elasticsearch. The document itself is simply something we can+--   convert into a JSON 'Value'. The 'DocId' will function as the+--   primary key for the document.+indexDocument :: (ToJSON doc, MonadBH m) => IndexName -> MappingName+                 -> IndexDocumentSettings -> doc -> DocId -> m Reply+indexDocument (IndexName indexName)+  (MappingName mappingName) cfg document (DocId docId) =+  bindM2 put url (return body)+  where url = addQuery params <$> joinPath [indexName, mappingName, docId]+        parentParams = case idsParent cfg of+          Nothing -> []+          Just (DocumentParent (DocId p)) -> [ ("parent", Just p) ]+        params = versionCtlParams cfg ++ parentParams+        body = Just (encode document)++-- | 'updateDocument' provides a way to perform an partial update of a+-- an already indexed document.+updateDocument :: (ToJSON patch, MonadBH m) => IndexName -> MappingName+                  -> IndexDocumentSettings -> patch -> DocId -> m Reply+updateDocument (IndexName indexName)+  (MappingName mappingName) cfg patch (DocId docId) =+  bindM2 post url (return body)+  where url = addQuery (versionCtlParams cfg) <$>+              joinPath [indexName, mappingName, docId, "_update"]+        body = Just (encode $ object ["doc" .= toJSON patch])++-- | 'deleteDocument' is the primary way to delete a single document.+deleteDocument :: MonadBH m => IndexName -> MappingName+                  -> DocId -> m Reply+deleteDocument (IndexName indexName)+  (MappingName mappingName) (DocId docId) =+  delete =<< joinPath [indexName, mappingName, docId]++-- | 'bulk' uses+--    <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html Elasticsearch's bulk API>+--    to perform bulk operations. The 'BulkOperation' data type encodes the+--    index\/update\/delete\/create operations. You pass a 'V.Vector' of 'BulkOperation's+--    and a 'Server' to 'bulk' in order to send those operations up to your Elasticsearch+--    server to be performed. I changed from [BulkOperation] to a Vector due to memory overhead.+bulk :: MonadBH m => V.Vector BulkOperation -> m Reply+bulk bulkOps = bindM2 post url (return body)+  where url = joinPath ["_bulk"]+        body = Just $ encodeBulkOperations bulkOps++-- | 'encodeBulkOperations' is a convenience function for dumping a vector of 'BulkOperation'+--   into an 'L.ByteString'+encodeBulkOperations :: V.Vector BulkOperation -> L.ByteString+encodeBulkOperations stream = collapsed where+  blobs = fmap encodeBulkOperation stream+  mashedTaters = mash (mempty :: Builder) blobs+  collapsed = toLazyByteString $ mappend mashedTaters (byteString "\n")++mash :: Builder -> V.Vector L.ByteString -> Builder+mash = V.foldl' (\b x -> b `mappend` (byteString "\n") `mappend` (lazyByteString x))++mkBulkStreamValue :: Text -> Text -> Text -> Text -> Value+mkBulkStreamValue operation indexName mappingName docId =+  object [operation .=+          object [ "_index" .= indexName+                 , "_type"  .= mappingName+                 , "_id"    .= docId]]++-- | 'encodeBulkOperation' is a convenience function for dumping a single 'BulkOperation'+--   into an 'L.ByteString'+encodeBulkOperation :: BulkOperation -> L.ByteString+encodeBulkOperation (BulkIndex (IndexName indexName)+                (MappingName mappingName)+                (DocId docId) value) = blob+    where metadata = mkBulkStreamValue "index" indexName mappingName docId+          blob = encode metadata `mappend` "\n" `mappend` encode value++encodeBulkOperation (BulkCreate (IndexName indexName)+                (MappingName mappingName)+                (DocId docId) value) = blob+    where metadata = mkBulkStreamValue "create" indexName mappingName docId+          blob = encode metadata `mappend` "\n" `mappend` encode value++encodeBulkOperation (BulkDelete (IndexName indexName)+                (MappingName mappingName)+                (DocId docId)) = blob+    where metadata = mkBulkStreamValue "delete" indexName mappingName docId+          blob = encode metadata++encodeBulkOperation (BulkUpdate (IndexName indexName)+                (MappingName mappingName)+                (DocId docId) value) = blob+    where metadata = mkBulkStreamValue "update" indexName mappingName docId+          doc = object ["doc" .= value]+          blob = encode metadata `mappend` "\n" `mappend` encode doc++-- | 'getDocument' is a straight-forward way to fetch a single document from+--   Elasticsearch using a 'Server', 'IndexName', 'MappingName', and a 'DocId'.+--   The 'DocId' is the primary key for your Elasticsearch document.+getDocument :: MonadBH m => IndexName -> MappingName+               -> DocId -> m Reply+getDocument (IndexName indexName)+  (MappingName mappingName) (DocId docId) =+  get =<< joinPath [indexName, mappingName, docId]++-- | 'documentExists' enables you to check if a document exists. Returns 'Bool'+--   in IO+documentExists :: MonadBH m => IndexName -> MappingName+               -> Maybe DocumentParent -> DocId -> m Bool+documentExists (IndexName indexName) (MappingName mappingName)+               parent (DocId docId) = do+  (_, exists) <- existentialQuery =<< url+  return exists+  where url = addQuery params <$> joinPath [indexName, mappingName, docId]+        parentParam = fmap (\(DocumentParent (DocId p)) -> p) parent+        params = LS.filter (\(_, v) -> isJust v) [("parent", parentParam)]++dispatchSearch :: MonadBH m => Text -> Search -> m Reply+dispatchSearch url search = post url' (Just (encode search))+  where url' = appendSearchTypeParam url (searchType search)++-- | 'searchAll', given a 'Search', will perform that search against all indexes+--   on an Elasticsearch server. Try to avoid doing this if it can be helped.+searchAll :: MonadBH m => Search -> m Reply+searchAll = bindM2 dispatchSearch url . return+  where url = joinPath ["_search"]++-- | 'searchByIndex', given a 'Search' and an 'IndexName', will perform that search+--   against all mappings within an index on an Elasticsearch server.+searchByIndex :: MonadBH m => IndexName -> Search -> m Reply+searchByIndex (IndexName indexName) = bindM2 dispatchSearch url . return+  where url = joinPath [indexName, "_search"]++-- | 'searchByType', given a 'Search', 'IndexName', and 'MappingName', will perform that+--   search against a specific mapping within an index on an Elasticsearch server.+searchByType :: MonadBH m => IndexName -> MappingName -> Search+                -> m Reply+searchByType (IndexName indexName)+  (MappingName mappingName) = bindM2 dispatchSearch url . return+  where url = joinPath [indexName, mappingName, "_search"]++-- | For a given scearch, request a scroll for efficient streaming of+-- search results. Note that the search is put into 'SearchTypeScan'+-- mode and thus results will not be sorted. Combine this with+-- 'advanceScroll' to efficiently stream through the full result set+getInitialScroll :: MonadBH m => IndexName -> MappingName -> Search -> m (Maybe ScrollId)+getInitialScroll (IndexName indexName) (MappingName mappingName) search = do+    let url = joinPath [indexName, mappingName, "_search"]+        search' = search { searchType = SearchTypeScan }+    resp' <- bindM2 dispatchSearch url (return search')+    let msr = decode' $ responseBody resp' :: Maybe (SearchResult ())+        msid = maybe Nothing scrollId msr+    return msid++scroll' :: (FromJSON a, MonadBH m, MonadThrow m) => Maybe ScrollId -> m ([Hit a], Maybe ScrollId)+scroll' Nothing = return ([], Nothing)+scroll' (Just sid) = do+    res <- advanceScroll sid 60+    case res of+      Right SearchResult {..} -> return (hits searchHits, scrollId)+      Left _ -> return ([], Nothing)++-- | Use the given scroll to fetch the next page of documents. If there are no+-- further pages, 'SearchResult.searchHits.hits' will be '[]'.+advanceScroll+  :: ( FromJSON a+     , MonadBH m+     , MonadThrow m+     )+  => ScrollId+  -> NominalDiffTime+  -- ^ How long should the snapshot of data be kept around? This timeout is updated every time 'advanceScroll' is used, so don't feel the need to set it to the entire duration of your search processing. Note that durations < 1s will be rounded up. Also note that 'NominalDiffTime' is an instance of Num so literals like 60 will be interpreted as seconds. 60s is a reasonable default.+  -> m (Either EsError (SearchResult a))+advanceScroll (ScrollId sid) scroll = do+  url <- joinPath ["_search/scroll?scroll=" <> scrollTime]+  parseEsResponse =<< post url (Just . L.fromStrict $ T.encodeUtf8 sid)+  where scrollTime = showText secs <> "s"+        secs :: Integer+        secs = round scroll++simpleAccumulator :: (FromJSON a, MonadBH m, MonadThrow m) => [Hit a] -> ([Hit a], Maybe ScrollId) -> m ([Hit a], Maybe ScrollId)+simpleAccumulator oldHits (newHits, Nothing) = return (oldHits ++ newHits, Nothing)+simpleAccumulator oldHits ([], _) = return (oldHits, Nothing)+simpleAccumulator oldHits (newHits, msid) = do+    (newHits', msid') <- scroll' msid+    simpleAccumulator (oldHits ++ newHits) (newHits', msid')++-- | 'scanSearch' uses the 'scan&scroll' API of elastic,+-- for a given 'IndexName' and 'MappingName'. Note that this will+-- consume the entire search result set and will be doing O(n) list+-- appends so this may not be suitable for large result sets. In that+-- case, 'getInitialScroll' and 'advanceScroll' are good low level+-- tools. You should be able to hook them up trivially to conduit,+-- pipes, or your favorite streaming IO abstraction of choice. Note+-- that ordering on the search would destroy performance and thus is+-- ignored.+scanSearch :: (FromJSON a, MonadBH m, MonadThrow m) => IndexName -> MappingName -> Search -> m [Hit a]+scanSearch indexName mappingName search = do+    msid <- getInitialScroll indexName mappingName search+    (hits, msid') <- scroll' msid+    (totalHits, _) <- simpleAccumulator [] (hits, msid')+    return totalHits++-- | 'mkSearch' is a helper function for defaulting additional fields of a 'Search'+--   to Nothing in case you only care about your 'Query' and 'Filter'. Use record update+--   syntax if you want to add things like aggregations or highlights while still using+--   this helper function.+mkSearch :: Maybe Query -> Maybe Filter -> Search+mkSearch query filter = Search query filter Nothing Nothing Nothing False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing++-- | 'mkAggregateSearch' is a helper function that defaults everything in a 'Search' except for+--   the 'Query' and the 'Aggregation'.+mkAggregateSearch :: Maybe Query -> Aggregations -> Search+mkAggregateSearch query mkSearchAggs = Search query Nothing Nothing (Just mkSearchAggs) Nothing False (From 0) (Size 0) SearchTypeQueryThenFetch Nothing Nothing++-- | 'mkHighlightSearch' is a helper function that defaults everything in a 'Search' except for+--   the 'Query' and the 'Aggregation'.+mkHighlightSearch :: Maybe Query -> Highlights -> Search+mkHighlightSearch query searchHighlights = Search query Nothing Nothing Nothing (Just searchHighlights) False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing++-- | 'pageSearch' is a helper function that takes a search and assigns the from+--    and size fields for the search. The from parameter defines the offset+--    from the first result you want to fetch. The size parameter allows you to+--    configure the maximum amount of hits to be returned.+pageSearch :: From     -- ^ The result offset+           -> Size     -- ^ The number of results to return+           -> Search  -- ^ The current seach+           -> Search  -- ^ The paged search+pageSearch resultOffset pageSize search = search { from = resultOffset, size = pageSize }++parseUrl' :: MonadThrow m => Text -> m Request+parseUrl' t = parseRequest (URI.escapeURIString URI.isAllowedInURI (T.unpack t))++-- | Was there an optimistic concurrency control conflict when+-- indexing a document?+isVersionConflict :: Reply -> Bool+isVersionConflict = statusCheck (== 409)++isSuccess :: Reply -> Bool+isSuccess = statusCheck (inRange (200, 299))++isCreated :: Reply -> Bool+isCreated = statusCheck (== 201)++statusCheck :: (Int -> Bool) -> Reply -> Bool+statusCheck prd = prd . NHTS.statusCode . responseStatus++-- | This is a hook that can be set via the 'bhRequestHook' function+-- that will authenticate all requests using an HTTP Basic+-- Authentication header. Note that it is *strongly* recommended that+-- this option only be used over an SSL connection.+--+-- >> (mkBHEnv myServer myManager) { bhRequestHook = basicAuthHook (EsUsername "myuser") (EsPassword "mypass") }+basicAuthHook :: Monad m => EsUsername -> EsPassword -> Request -> m Request+basicAuthHook (EsUsername u) (EsPassword p) = return . applyBasicAuth u' p'+  where u' = T.encodeUtf8 u+        p' = T.encodeUtf8 p+++boolQP :: Bool -> Text+boolQP True  = "true"+boolQP False = "false"
+ src/Database/V1/Bloodhound/Types.hs view
@@ -0,0 +1,5279 @@+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleContexts           #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses      #-}+-- {-# LANGUAGE NoMonomorphismRestriction  #-}+{-# LANGUAGE NamedFieldPuns             #-}+{-# LANGUAGE OverloadedStrings          #-}+{-# LANGUAGE RecordWildCards            #-}+{-# LANGUAGE UndecidableInstances       #-}++-------------------------------------------------------------------------------+-- |+-- Module : Database.Bloodhound.Types+-- 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+--+-- 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.+-------------------------------------------------------------------------------++++module Database.V1.Bloodhound.Types+       ( defaultCache+       , defaultIndexSettings+       , defaultIndexDocumentSettings+       , mkSort+       , showText+       , unpackId+       , mkMatchQuery+       , mkMultiMatchQuery+       , mkBoolQuery+       , mkRangeQuery+       , mkQueryStringQuery+       , mkAggregations+       , mkTermsAggregation+       , mkTermsScriptAggregation+       , mkDateHistogram+       , mkCardinalityAggregation+       , mkDocVersion+       , docVersionNumber+       , toMissing+       , toTerms+       , toDateHistogram+       , toTopHits+       , omitNulls+       , BH(..)+       , runBH+       , BHEnv+       , bhServer+       , bhManager+       , bhRequestHook+       , mkBHEnv+       , MonadBH(..)+       , Version(..)+       , VersionNumber(..)+       , MaybeNA(..)+       , BuildHash(..)+       , Status(..)+       , Existence(..)+       , NullValue(..)+       , IndexSettings(..)+       , UpdatableIndexSetting(..)+       , IndexSettingsSummary(..)+       , AllocationPolicy(..)+       , ReplicaBounds(..)+       , Bytes(..)+       , gigabytes+       , megabytes+       , kilobytes+       , FSType(..)+       , InitialShardCount(..)+       , NodeAttrFilter(..)+       , NodeAttrName(..)+       , CompoundFormat(..)+       , IndexTemplate(..)+       , Server(..)+       , Reply+       , EsResult(..)+       , EsResultFound(..)+       , EsError(..)+       , EsProtocolException(..)+       , IndexAlias(..)+       , IndexAliasName(..)+       , IndexAliasAction(..)+       , IndexAliasCreate(..)+       , IndexAliasSummary(..)+       , IndexAliasesSummary(..)+       , AliasRouting(..)+       , SearchAliasRouting(..)+       , IndexAliasRouting(..)+       , RoutingValue(..)+       , DocVersion+       , ExternalDocVersion(..)+       , VersionControl(..)+       , DocumentParent(..)+       , IndexDocumentSettings(..)+       , Query(..)+       , Search(..)+       , SearchType(..)+       , SearchResult(..)+       , ScrollId(..)+       , SearchHits(..)+       , TrackSortScores+       , From(..)+       , Size(..)+       , Source(..)+       , PatternOrPatterns(..)+       , Include(..)+       , Exclude(..)+       , Pattern(..)+       , ShardResult(..)+       , Hit(..)+       , Filter(..)+       , Seminearring(..)+       , BoolMatch(..)+       , Term(..)+       , GeoPoint(..)+       , GeoBoundingBoxConstraint(..)+       , GeoBoundingBox(..)+       , GeoFilterType(..)+       , Distance(..)+       , DistanceUnit(..)+       , DistanceType(..)+       , DistanceRange(..)+       , OptimizeBbox(..)+       , LatLon(..)+       , RangeValue(..)+       , RangeExecution(..)+       , LessThan(..)+       , LessThanEq(..)+       , GreaterThan(..)+       , GreaterThanEq(..)+       , LessThanD(..)+       , LessThanEqD(..)+       , GreaterThanD(..)+       , GreaterThanEqD(..)+       , Regexp(..)+       , RegexpFlags(..)+       , RegexpFlag(..)+       , FieldName(..)+       , Script(..)+       , IndexName(..)+       , IndexSelection(..)+       , NodeSelection(..)+       , NodeSelector(..)+       , IndexOptimizationSettings(..)+       , defaultIndexOptimizationSettings+       , TemplateName(..)+       , TemplatePattern(..)+       , MappingName(..)+       , DocId(..)+       , CacheName(..)+       , CacheKey(..)+       , BulkOperation(..)+       , ReplicaCount(..)+       , ShardCount(..)+       , Sort+       , SortMode(..)+       , SortOrder(..)+       , SortSpec(..)+       , DefaultSort(..)+       , Missing(..)+       , OpenCloseIndex(..)+       , Method+       , Boost(..)+       , MatchQuery(..)+       , MultiMatchQuery(..)+       , BoolQuery(..)+       , BoostingQuery(..)+       , CommonTermsQuery(..)+       , DisMaxQuery(..)+       , FilteredQuery(..)+       , FuzzyLikeThisQuery(..)+       , FuzzyLikeFieldQuery(..)+       , FuzzyQuery(..)+       , HasChildQuery(..)+       , HasParentQuery(..)+       , IndicesQuery(..)+       , MoreLikeThisQuery(..)+       , MoreLikeThisFieldQuery(..)+       , NestedQuery(..)+       , PrefixQuery(..)+       , QueryStringQuery(..)+       , SimpleQueryStringQuery(..)+       , RangeQuery(..)+       , RegexpQuery(..)+       , QueryString(..)+       , BooleanOperator(..)+       , ZeroTermsQuery(..)+       , CutoffFrequency(..)+       , Analyzer(..)+       , MaxExpansions(..)+       , Lenient(..)+       , MatchQueryType(..)+       , MultiMatchQueryType(..)+       , Tiebreaker(..)+       , MinimumMatch(..)+       , DisableCoord(..)+       , CommonMinimumMatch(..)+       , MinimumMatchHighLow(..)+       , PrefixLength(..)+       , Fuzziness(..)+       , IgnoreTermFrequency(..)+       , MaxQueryTerms(..)+       , ScoreType(..)+       , Score+       , Cache+       , TypeName(..)+       , BoostTerms(..)+       , MaxWordLength(..)+       , MinWordLength(..)+       , MaxDocFrequency(..)+       , MinDocFrequency(..)+       , PhraseSlop(..)+       , StopWord(..)+       , QueryPath(..)+       , MinimumTermFrequency(..)+       , PercentMatch(..)+       , FieldDefinition(..)+       , MappingField(..)+       , Mapping(..)+       , AllowLeadingWildcard(..)+       , LowercaseExpanded(..)+       , GeneratePhraseQueries(..)+       , Locale(..)+       , AnalyzeWildcard(..)+       , EnablePositionIncrements(..)+       , SimpleQueryFlag(..)+       , FieldOrFields(..)+       , Monoid(..)+       , ToJSON(..)+       , Interval(..)+       , TimeInterval(..)+       , ExecutionHint(..)+       , CollectionMode(..)+       , TermOrder(..)+       , TermInclusion(..)+       , SnapshotRepoSelection(..)+       , GenericSnapshotRepo(..)+       , SnapshotRepo(..)+       , SnapshotRepoConversionError(..)+       , SnapshotRepoType(..)+       , GenericSnapshotRepoSettings(..)+       , SnapshotRepoUpdateSettings(..)+       , defaultSnapshotRepoUpdateSettings+       , SnapshotRepoName(..)+       , SnapshotRepoPattern(..)+       , SnapshotVerification(..)+       , SnapshotNodeVerification(..)+       , FullNodeId(..)+       , NodeName(..)+       , ClusterName(..)+       , NodesInfo(..)+       , NodesStats(..)+       , NodeStats(..)+       , NodeBreakersStats(..)+       , NodeBreakerStats(..)+       , NodeHTTPStats(..)+       , NodeTransportStats(..)+       , NodeFSStats(..)+       , NodeDataPathStats(..)+       , NodeFSTotalStats(..)+       , NodeNetworkStats(..)+       , NodeThreadPoolsStats(..)+       , NodeThreadPoolStats(..)+       , NodeJVMStats(..)+       , JVMBufferPoolStats(..)+       , JVMGCStats(..)+       , JVMPoolStats(..)+       , NodeProcessStats(..)+       , NodeOSStats(..)+       , LoadAvgs(..)+       , NodeIndicesStats(..)+       , EsAddress(..)+       , PluginName(..)+       , NodeInfo(..)+       , NodePluginInfo(..)+       , NodeHTTPInfo(..)+       , NodeTransportInfo(..)+       , BoundTransportAddress(..)+       , NodeNetworkInfo(..)+       , MacAddress(..)+       , NetworkInterfaceName(..)+       , NodeNetworkInterface(..)+       , NodeThreadPoolsInfo(..)+       , NodeThreadPoolInfo(..)+       , ThreadPoolSize(..)+       , ThreadPoolType(..)+       , NodeJVMInfo(..)+       , JVMMemoryPool(..)+       , JVMGCCollector(..)+       , JVMMemoryInfo(..)+       , PID(..)+       , NodeOSInfo(..)+       , CPUInfo(..)+       , NodeProcessInfo(..)+       , FsSnapshotRepo(..)+       , SnapshotCreateSettings(..)+       , defaultSnapshotCreateSettings+       , SnapshotSelection(..)+       , SnapshotPattern(..)+       , SnapshotInfo(..)+       , SnapshotShardFailure(..)+       , ShardId(..)+       , SnapshotName(..)+       , SnapshotState(..)+       , SnapshotRestoreSettings(..)+       , defaultSnapshotRestoreSettings+       , RestoreRenamePattern(..)+       , RestoreRenameToken(..)+       , RRGroupRefNum+       , rrGroupRefNum+       , mkRRGroupRefNum+       , RestoreIndexSettings(..)++       , Aggregation(..)+       , Aggregations+       , AggregationResults+       , BucketValue(..)+       , Bucket(..)+       , BucketAggregation(..)+       , TermsAggregation(..)+       , MissingAggregation(..)+       , ValueCountAggregation(..)+       , FilterAggregation(..)+       , CardinalityAggregation(..)+       , DateHistogramAggregation(..)+       , DateRangeAggregation(..)+       , DateRangeAggRange(..)+       , DateMathExpr(..)+       , DateMathAnchor(..)+       , DateMathModifier(..)+       , DateMathUnit(..)+       , TopHitsAggregation(..)++       , Highlights(..)+       , FieldHighlight(..)+       , HighlightSettings(..)+       , PlainHighlight(..)+       , PostingsHighlight(..)+       , FastVectorHighlight(..)+       , CommonHighlight(..)+       , NonPostings(..)+       , HighlightEncoder(..)+       , HighlightTag(..)+       , HitHighlight++       , MissingResult(..)+       , TermsResult(..)+       , DateHistogramResult(..)+       , DateRangeResult(..)+       , TopHitResult(..)++       , EsUsername(..)+       , EsPassword(..)+         ) where++import           Control.Applicative                   as A+import           Control.Arrow                         (first)+import           Control.Monad.Catch+import           Control.Monad.Except+import           Control.Monad.Reader                  (MonadReader (..),+                                                        ReaderT (..))+import           Control.Monad.State                   (MonadState)+import           Control.Monad.Writer                  (MonadWriter)+import           Data.Aeson+import           Data.Aeson.Types                      (Pair, Parser,+                                                        emptyObject,+                                                        parseEither, parseMaybe)+import qualified Data.ByteString.Lazy.Char8            as L+import           Data.Char+import           Data.Hashable                         (Hashable)+import qualified Data.HashMap.Strict                   as HM+import           Data.List                             (foldl', intercalate,+                                                        nub)+import           Data.List.NonEmpty                    (NonEmpty (..), toList)+import qualified Data.Map.Strict                       as M+import           Data.Maybe+import           Data.Scientific                       (Scientific)+import           Data.Semigroup+import           Data.Text                             (Text)+import qualified Data.Text                             as T+import           Data.Time.Calendar+import           Data.Time.Clock                       (NominalDiffTime,+                                                        UTCTime)+import           Data.Time.Clock.POSIX+import qualified Data.Traversable                      as DT+import           Data.Typeable                         (Typeable)+import qualified Data.Vector                           as V+import qualified Data.Version                          as Vers+import           GHC.Enum+import           GHC.Generics                          (Generic)+import           Network.HTTP.Client+import qualified Network.HTTP.Types.Method             as NHTM+import qualified Text.ParserCombinators.ReadP          as RP+import qualified Text.Read                             as TR++import           Database.V1.Bloodhound.Types.Class+import           Database.V1.Bloodhound.Types.Internal++-- $setup+-- >>> :set -XOverloadedStrings+-- >>> import Data.Aeson+-- >>> import Database.V1.Bloodhound+-- >>> let testServer = (Server "http://localhost:9200")+-- >>> let testIndex = IndexName "twitter"+-- >>> let testMapping = MappingName "tweet"+-- >>> let defaultIndexSettings = IndexSettings (ShardCount 3) (ReplicaCount 2)++-- defaultIndexSettings is exported by Database.Bloodhound as well+-- no trailing slashes in servers, library handles building the path.++-- | 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 }+mkBHEnv :: Server -> Manager -> BHEnv+mkBHEnv s m = BHEnv s m return++newtype BH m a = BH {+      unBH :: ReaderT BHEnv m a+    } deriving ( Functor+               , A.Applicative+               , Monad+               , MonadIO+               , MonadState s+               , MonadWriter w+               , MonadError e+               , Alternative+               , MonadPlus+               , MonadFix+               , MonadThrow+               , MonadCatch+               , MonadMask)++instance MonadTrans BH where+  lift = BH . lift++instance (MonadReader r m) => MonadReader r (BH m) where+    ask = lift ask+    local f (BH (ReaderT m)) = BH $ ReaderT $ \r ->+      local f (m r)++instance (Functor m, Applicative m, MonadIO m) => MonadBH (BH m) where+  getBHEnv = BH getBHEnv++runBH :: BHEnv -> BH m a -> m a+runBH e f = runReaderT (unBH f) e++{-| 'Version' is embedded in 'Status' -}+data Version = Version { number          :: VersionNumber+                       , build_hash      :: BuildHash+                       , build_timestamp :: UTCTime+                       , build_snapshot  :: Bool+                       , lucene_version  :: VersionNumber } deriving (Eq, Read, Show, Generic, Typeable)++-- | Traditional software versioning number+newtype VersionNumber = VersionNumber { versionNumber :: Vers.Version+                                      } deriving (Eq, Read, Show, Generic, Typeable, Ord)++{-| '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.++   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-status.html#indices-status>+-}++data Status = Status { ok      :: Maybe Bool+                     , status  :: Int+                     , name    :: Text+                     , version :: Version+                     , tagline :: Text } deriving (Eq, Read, Show, Generic)++{-| '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 IndexSettings =+  IndexSettings { indexShards   :: ShardCount+                , indexReplicas :: ReplicaCount } deriving (Eq, Read, Show, Generic, Typeable)++{-| 'defaultIndexSettings' is an 'IndexSettings' with 3 shards and 2 replicas. -}+defaultIndexSettings :: IndexSettings+defaultIndexSettings =  IndexSettings (ShardCount 3) (ReplicaCount 2)+++{-| 'IndexOptimizationSettings' is used to configure index optimization. See+    <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-optimize.html>+    for more info.+-}+data IndexOptimizationSettings =+  IndexOptimizationSettings { maxNumSegments     :: Maybe Int+                            -- ^ Number of segments to optimize to. 1 will fully optimize the index. If omitted, the default behavior is to only optimize if the server deems it necessary.+                            , onlyExpungeDeletes :: Bool+                            -- ^ Should the optimize process only expunge segments with deletes in them? If the purpose of the optimization is to free disk space, this should be set to True.+                            , flushAfterOptimize :: Bool+                            -- ^ Should a flush be performed after the optimize.+                            } deriving (Eq, Show, Generic, Typeable)+++{-| 'defaultIndexOptimizationSettings' implements the default settings that+    ElasticSearch uses for index optimization. 'maxNumSegments' is Nothing,+    'onlyExpungeDeletes' is False, and flushAfterOptimize is True.+-}+defaultIndexOptimizationSettings :: IndexOptimizationSettings+defaultIndexOptimizationSettings = IndexOptimizationSettings Nothing False True++{-| '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>+-}+data UpdatableIndexSetting = 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+                           deriving (Eq, Show, Generic, Typeable)++data AllocationPolicy = 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+                      deriving (Eq, Read, Show, Generic, Typeable)++data ReplicaBounds = ReplicasBounded Int Int+                   | ReplicasLowerBounded Int+                   | ReplicasUnbounded+                   deriving (Eq, Read, Show, Generic, Typeable)++-- | 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+newtype Bytes = Bytes Int deriving (Eq, Read, Show, Generic, Typeable, Ord, ToJSON, FromJSON)++gigabytes :: Int -> Bytes+gigabytes n = megabytes (1000 * n)+++megabytes :: Int -> Bytes+megabytes n = kilobytes (1000 * n)+++kilobytes :: Int -> Bytes+kilobytes n = Bytes (1000 * n)+++data FSType = FSSimple+            | FSBuffered deriving (Eq, Read, Show, Generic, Typeable, Ord)++data InitialShardCount = QuorumShards+                       | QuorumMinus1Shards+                       | FullShards+                       | FullMinus1Shards+                       | ExplicitShards Int+                       deriving (Eq, Read, Show, Generic, Typeable)++data NodeAttrFilter = NodeAttrFilter { nodeAttrFilterName   :: NodeAttrName+                                     , nodeAttrFilterValues :: NonEmpty Text}+                                     deriving (Eq, Read, Show, Generic, Ord, Typeable)++newtype NodeAttrName = NodeAttrName Text deriving (Eq, Read, Show, Ord, Generic, Typeable)++data CompoundFormat = CompoundFileFormat Bool+                    | MergeSegmentVsTotalIndex Double+                    -- ^ percentage between 0 and 1 where 0 is false, 1 is true+                    deriving (Eq, Read, Show, Generic, Typeable)++newtype NominalDiffTimeJSON = NominalDiffTimeJSON { ndtJSON ::  NominalDiffTime }++data IndexSettingsSummary = IndexSettingsSummary { sSummaryIndexName     :: IndexName+                                                 , sSummaryFixedSettings :: IndexSettings+                                                 , sSummaryUpdateable    :: [UpdatableIndexSetting]}+                                                 deriving (Eq, Show, Generic, Typeable)++{-| 'Reply' and 'Method' are type synonyms from 'Network.HTTP.Types.Method.Method' -}+type Reply = Network.HTTP.Client.Response L.ByteString+type Method = NHTM.Method++{-| 'OpenCloseIndex' is a sum type for opening and closing indices.++   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>+-}+data OpenCloseIndex = OpenIndex | CloseIndex deriving (Eq, Read, Show, Generic, Typeable)++data FieldType = GeoPointType+               | GeoShapeType+               | FloatType+               | IntegerType+               | LongType+               | ShortType+               | ByteType deriving (Eq, Read, Show, Generic, Typeable)++data FieldDefinition =+  FieldDefinition { fieldType :: FieldType } deriving (Eq, Read, Show, Generic, Typeable)++{-| 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+-}+data IndexTemplate =+  IndexTemplate { templatePattern  :: TemplatePattern+                , templateSettings :: Maybe IndexSettings+                , templateMappings :: [Value]+                }++data MappingField =+  MappingField   { mappingFieldName :: FieldName+                 , fieldDefinition  :: FieldDefinition } deriving (Eq, Read, Show, Generic, Typeable)++{-| 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.+-}+data Mapping = Mapping { typeName      :: TypeName+                       , mappingFields :: [MappingField] } deriving (Eq, Read, Show, Generic, Typeable)++{-| '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>+-}+data BulkOperation =+    BulkIndex  IndexName MappingName DocId Value+  | BulkCreate IndexName MappingName DocId Value+  | BulkDelete IndexName MappingName DocId+  | BulkUpdate IndexName MappingName DocId Value deriving (Eq, Read, Show, Generic, Typeable)++{-| 'EsResult' describes the standard wrapper JSON document that you see in+    successful Elasticsearch lookups or lookups that couldn't find the document.+-}+data EsResult a = EsResult { _index      :: Text+                           , _type       :: Text+                           , _id         :: Text+                           , foundResult :: Maybe (EsResultFound a)} deriving (Eq, Read, Show, Generic, Typeable)++{-| 'EsResultFound' contains the document and its metadata inside of an+    'EsResult' when the document was successfully found.+-}+data EsResultFound a = EsResultFound {  _version :: DocVersion+                                     , _source   :: a } deriving (Eq, Read, Show, Generic, Typeable)++{-| '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.+-}+data EsError = EsError { errorStatus  :: Int+                       , errorMessage :: Text } deriving (Eq, Read, Show, Generic, Typeable)++{-| '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.+-}+data EsProtocolException = EsProtocolException { esProtoExBody :: L.ByteString }+                                               deriving (Eq, Read, Show, Generic, Typeable)++instance Exception EsProtocolException++data IndexAlias = IndexAlias { srcIndex   :: IndexName+                             , indexAlias :: IndexAliasName } deriving (Eq, Read, Show, Generic, Typeable)++newtype IndexAliasName = IndexAliasName { indexAliasName :: IndexName } deriving (Eq, Read, Show, Generic, ToJSON)++data IndexAliasAction = AddAlias IndexAlias IndexAliasCreate+                      | RemoveAlias IndexAlias deriving (Read, Show, Eq, Generic, Typeable)++data IndexAliasCreate = IndexAliasCreate { aliasCreateRouting :: Maybe AliasRouting+                                         , aliasCreateFilter  :: Maybe Filter}+                                         deriving (Read, Show, Eq, Generic, Typeable)++data AliasRouting = AllAliasRouting RoutingValue+                  | GranularAliasRouting (Maybe SearchAliasRouting) (Maybe IndexAliasRouting)+                  deriving (Read, Show, Eq, Generic, Typeable)++newtype SearchAliasRouting = SearchAliasRouting (NonEmpty RoutingValue) deriving (Read, Show, Eq, Generic, Typeable)++newtype IndexAliasRouting = IndexAliasRouting RoutingValue deriving (Read, Show, Eq, Generic, ToJSON, FromJSON, Typeable)++newtype RoutingValue = RoutingValue { routingValue :: Text } deriving (Read, Show, Eq, Generic, ToJSON, FromJSON, Typeable)++newtype IndexAliasesSummary = IndexAliasesSummary { indexAliasesSummary :: [IndexAliasSummary] } deriving (Read, Show, Eq, Generic, Typeable)++{-| 'IndexAliasSummary' is a summary of an index alias configured for a server. -}+data IndexAliasSummary = IndexAliasSummary { indexAliasSummaryAlias  :: IndexAlias+                                           , indexAliasSummaryCreate :: IndexAliasCreate} deriving (Read, Show, Eq, Generic, Typeable)++{-| 'DocVersion' is an integer version number for a document between 1+and 9.2e+18 used for <<https://www.elastic.co/guide/en/elasticsearch/guide/current/optimistic-concurrency-control.html optimistic concurrency control>>.+-}+newtype DocVersion = DocVersion {+      docVersionNumber :: Int+    } deriving (Eq, Read, Show, Generic, Ord, ToJSON)++-- | Smart constructor for in-range doc version+mkDocVersion :: Int -> Maybe DocVersion+mkDocVersion i+  | i >= (docVersionNumber minBound) && i <= (docVersionNumber maxBound) =+    Just $ DocVersion i+  | otherwise = Nothing+++{-| 'ExternalDocVersion' is a convenience wrapper if your code uses its+own version numbers instead of ones from ES.+-}+newtype ExternalDocVersion = ExternalDocVersion DocVersion+    deriving (Eq, Read, Show, Generic, Ord, Bounded, Enum, ToJSON)++{-| 'VersionControl' is specified when indexing documents as a+optimistic concurrency control.+-}+data VersionControl = 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.+                    deriving (Read, Show, Eq, Generic, Ord)++{-| 'DocumentParent' is used to specify a parent document.+-}+newtype DocumentParent = DocumentParent DocId+  deriving (Eq, Read, Show, Generic, Typeable)++{-| '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'+-}+data IndexDocumentSettings =+  IndexDocumentSettings { idsVersionControl :: VersionControl+                        , idsParent         :: Maybe DocumentParent+                        } deriving (Eq, Read, Show, Generic, Typeable)++{-| Reasonable default settings. Chooses no version control and no parent.+-}+defaultIndexDocumentSettings :: IndexDocumentSettings+defaultIndexDocumentSettings = IndexDocumentSettings NoVersionControl Nothing++{-| 'Sort' is a synonym for a list of 'SortSpec's. Sort behavior is order+    dependent with later sorts acting as tie-breakers for earlier sorts.+-}+type Sort = [SortSpec]++{-| 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.++<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>+-}+data SortSpec = DefaultSortSpec DefaultSort+              | GeoDistanceSortSpec SortOrder GeoPoint DistanceUnit deriving (Eq, Read, Show, Generic, Typeable)++{-| '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.++<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>+-}+data DefaultSort =+  DefaultSort { sortFieldName  :: FieldName+              , sortOrder      :: SortOrder+                                  -- default False+              , ignoreUnmapped :: Bool+              , sortMode       :: Maybe SortMode+              , missingSort    :: Maybe Missing+              , nestedFilter   :: Maybe Filter } deriving (Eq, Read, Show, Generic, Typeable)++{-| 'SortOrder' is 'Ascending' or 'Descending', as you might expect. These get+    encoded into "asc" or "desc" when turned into JSON.++<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>+-}+data SortOrder = Ascending+               | Descending deriving (Eq, Read, Show, Generic, Typeable)++{-| 'Missing' prescribes how to handle missing fields. A missing field can be+    sorted last, first, or using a custom value as a substitute.++<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#_missing_values>+-}+data Missing = LastMissing+             | FirstMissing+             | CustomMissing Text deriving (Eq, Read, Show, Generic, Typeable)++{-| 'SortMode' prescribes how to handle sorting array/multi-valued fields.++http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#_sort_mode_option+-}+data SortMode = SortMin+              | SortMax+              | SortSum+              | SortAvg deriving (Eq, Read, Show, Generic, Typeable)++{-| 'mkSort' defaults everything but the 'FieldName' and the 'SortOrder' so+    that you can concisely describe the usual kind of 'SortSpec's you want.+-}+mkSort :: FieldName -> SortOrder -> DefaultSort+mkSort fieldName sOrder = DefaultSort fieldName sOrder False Nothing Nothing Nothing++{-| 'Cache' is for telling ES whether it should cache a 'Filter' not.+    'Query's cannot be cached.+-}+type Cache   = Bool -- caching on/off+defaultCache :: Cache+defaultCache = False++{-| 'PrefixValue' is used in 'PrefixQuery' as the main query component.+-}+type PrefixValue = Text++{-| 'BooleanOperator' is the usual And/Or operators with an ES compatible+    JSON encoding baked in. Used all over the place.+-}+data BooleanOperator = And | Or deriving (Eq, Read, Show, Generic, Typeable)++{-| 'ShardCount' is part of 'IndexSettings'+-}+newtype ShardCount = ShardCount Int deriving (Eq, Read, Show, Generic, ToJSON, Typeable)++{-| 'ReplicaCount' is part of 'IndexSettings'+-}+newtype ReplicaCount = ReplicaCount Int deriving (Eq, Read, Show, Generic, ToJSON, Typeable)++{-| 'IndexName' is used to describe which index to query/create/delete+-}+newtype IndexName = IndexName Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)++{-| 'IndexSelection' is used for APIs which take a single index, a list of+    indexes, or the special @_all@ index.+-}+--TODO: this does not fully support <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/multi-index.html multi-index syntax>. It wouldn't be too hard to implement but you'd have to add the optional parameters (ignore_unavailable, allow_no_indices, expand_wildcards) to any APIs using it. Also would be a breaking API.+data IndexSelection = IndexList (NonEmpty IndexName)+                    | AllIndexes deriving (Eq, Generic, Show, Typeable)++{-| 'NodeSelection' is used for most cluster APIs. See <https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.html#cluster-nodes here> for more details.+-}+data NodeSelection = LocalNode+                   -- ^ Whatever node receives this request+                   | NodeList (NonEmpty NodeSelector)+                   | AllNodes deriving (Eq, Generic, Show, Typeable)+++-- | 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.+data NodeSelector = 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.+                  deriving (Eq, Generic, Show, Typeable)++{-| 'TemplateName' is used to describe which template to query/create/delete+-}+newtype TemplateName = TemplateName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'TemplatePattern' represents a pattern which is matched against index names+-}+newtype TemplatePattern = TemplatePattern Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'MappingName' is part of mappings which are how ES describes and schematizes+    the data in the indices.+-}+newtype MappingName = MappingName Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)++{-| '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.+-}+newtype DocId = DocId Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)++{-| 'QueryString' is used to wrap query text bodies, be they human written or not.+-}+newtype QueryString = QueryString Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)++{-| '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.+-}+newtype FieldName = FieldName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+++{-| 'Script' is often used in place of 'FieldName' to specify more+complex ways of extracting a value from a document.+-}+newtype Script = Script { scriptText :: Text } deriving (Eq, Read, Show, Generic, Typeable)++{-| 'CacheName' is used in 'RegexpFilter' for describing the+    'CacheKey' keyed caching behavior.+-}+newtype CacheName = CacheName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'CacheKey' is used in 'RegexpFilter' to key regex caching.+-}+newtype CacheKey =+  CacheKey Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Existence =+  Existence Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype NullValue =+  NullValue Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype CutoffFrequency =+  CutoffFrequency Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Analyzer =+  Analyzer Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MaxExpansions =+  MaxExpansions Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| '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.+-}+newtype Lenient =+  Lenient Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Tiebreaker =+  Tiebreaker Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Boost =+  Boost Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype BoostTerms =+  BoostTerms Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| '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 MinimumMatch =+  MinimumMatch Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype DisableCoord =+  DisableCoord Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype IgnoreTermFrequency =+  IgnoreTermFrequency Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MinimumTermFrequency =+  MinimumTermFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MaxQueryTerms =+  MaxQueryTerms Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Fuzziness =+  Fuzziness Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'PrefixLength' is the prefix length used in queries, defaults to 0. -}+newtype PrefixLength =+  PrefixLength Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype TypeName =+  TypeName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype PercentMatch =+  PercentMatch Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype StopWord =+  StopWord Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype QueryPath =+  QueryPath Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 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 AllowLeadingWildcard =+  AllowLeadingWildcard     Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype LowercaseExpanded =+  LowercaseExpanded        Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype EnablePositionIncrements =+  EnablePositionIncrements Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| By default, wildcard terms in a query are not analyzed.+    Setting 'AnalyzeWildcard' to true enables best-effort analysis.+-}+newtype AnalyzeWildcard = AnalyzeWildcard Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'GeneratePhraseQueries' defaults to false.+-}+newtype GeneratePhraseQueries =+  GeneratePhraseQueries Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'Locale' is used for string conversions - defaults to ROOT.+-}+newtype Locale        = Locale        Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MaxWordLength = MaxWordLength Int  deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MinWordLength = MinWordLength Int  deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'PhraseSlop' sets the default slop for phrases, 0 means exact+     phrase matches. Default is 0.+-}+newtype PhraseSlop      = PhraseSlop      Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MinDocFrequency = MinDocFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MaxDocFrequency = MaxDocFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++-- | Newtype wrapper to parse ES's concerning tendency to in some APIs return a floating point number of milliseconds since epoch ಠ_ಠ+newtype POSIXMS = POSIXMS { posixMS :: UTCTime }++{-| 'unpackId' is a silly convenience function that gets used once.+-}+unpackId :: DocId -> Text+unpackId (DocId docId) = docId++type TrackSortScores = Bool+newtype From = From Int deriving (Eq, Read, Show, Generic, ToJSON)+newtype Size = Size Int deriving (Eq, Read, Show, Generic, ToJSON)++data Search = Search { queryBody       :: Maybe Query+                     , filterBody      :: Maybe Filter+                     , sortBody        :: Maybe Sort+                     , aggBody         :: Maybe Aggregations+                     , highlight       :: Maybe Highlights+                       -- default False+                     , trackSortScores :: TrackSortScores+                     , from            :: From+                     , size            :: Size+                     , searchType      :: SearchType+                     , fields          :: Maybe [FieldName]+                     , source          :: Maybe Source } deriving (Eq, Read, Show, Generic, Typeable)++data SearchType = SearchTypeQueryThenFetch+                | SearchTypeDfsQueryThenFetch+                | SearchTypeCount+                | SearchTypeScan+                | SearchTypeQueryAndFetch+                | SearchTypeDfsQueryAndFetch+  deriving (Eq, Read, Show, Generic, Typeable)++data Source =+    NoSource+  | SourcePatterns PatternOrPatterns+  | SourceIncludeExclude Include Exclude+    deriving (Read, Show, Eq, Generic, Typeable)++data PatternOrPatterns = PopPattern   Pattern+                       | PopPatterns [Pattern] deriving (Eq, Read, Show, Generic, Typeable)++data Include = Include [Pattern] deriving (Eq, Read, Show, Generic, Typeable)+data Exclude = Exclude [Pattern] deriving (Eq, Read, Show, Generic, Typeable)++newtype Pattern = Pattern Text deriving (Eq, Read, Show, Generic, Typeable)++data Highlights = Highlights { globalsettings  :: Maybe HighlightSettings+                             , highlightFields :: [FieldHighlight]+                             } deriving (Read, Show, Eq, Generic, Typeable)++data FieldHighlight = FieldHighlight FieldName (Maybe HighlightSettings)+                      deriving (Read, Show, Eq, Generic, Typeable)+++data HighlightSettings = Plain PlainHighlight+                       | Postings PostingsHighlight+                       | FastVector FastVectorHighlight+                         deriving (Read, Show, Eq, Generic, Typeable)+data PlainHighlight =+    PlainHighlight { plainCommon  :: Maybe CommonHighlight+                   , plainNonPost :: Maybe NonPostings } deriving (Read, Show, Eq, Generic, Typeable)++ -- This requires that index_options are set to 'offset' in the mapping.+data PostingsHighlight = PostingsHighlight (Maybe CommonHighlight) deriving (Read, Show, Eq, Generic, Typeable)++-- This requires that term_vector is set to 'with_positions_offsets' in the mapping.+data FastVectorHighlight =+    FastVectorHighlight { fvCommon          :: Maybe CommonHighlight+                        , fvNonPostSettings :: Maybe NonPostings+                        , boundaryChars     :: Maybe Text+                        , boundaryMaxScan   :: Maybe Int+                        , fragmentOffset    :: Maybe Int+                        , matchedFields     :: [Text]+                        , phraseLimit       :: Maybe Int+                        } deriving (Read, Show, Eq, Generic, Typeable)++data CommonHighlight =+    CommonHighlight { order             :: Maybe Text+                    , forceSource       :: Maybe Bool+                    , tag               :: Maybe HighlightTag+                    , encoder           :: Maybe HighlightEncoder+                    , noMatchSize       :: Maybe Int+                    , highlightQuery    :: Maybe Query+                    , requireFieldMatch :: Maybe Bool+                    } deriving (Read, Show, Eq, Generic, Typeable)++-- Settings that are only applicable to FastVector and Plain highlighters.+data NonPostings =+    NonPostings { fragmentSize      :: Maybe Int+                , numberOfFragments :: Maybe Int} deriving (Read, Show, Eq, Generic, Typeable)++data HighlightEncoder = DefaultEncoder+                      | HTMLEncoder+                      deriving (Read, Show, Eq, Generic, Typeable)++-- NOTE: Should the tags use some kind of HTML type, rather than Text?+data HighlightTag = TagSchema Text+                  | CustomTags ([Text], [Text]) -- Only uses more than the first value in the lists if fvh+                  deriving (Read, Show, Eq, Generic, Typeable)+++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+  deriving (Eq, Read, Show, Generic, Typeable)++data RegexpQuery =+  RegexpQuery { regexpQueryField :: FieldName+              , regexpQuery      :: Regexp+              , regexpQueryFlags :: RegexpFlags+              , regexpQueryBoost :: Maybe Boost+              } deriving (Eq, Read, Show, Generic, Typeable)++data RangeQuery =+  RangeQuery { rangeQueryField :: FieldName+             , rangeQueryRange :: RangeValue+             , rangeQueryBoost :: Boost } deriving (Eq, Read, Show, Generic, Typeable)++mkRangeQuery :: FieldName -> RangeValue -> RangeQuery+mkRangeQuery f r = RangeQuery f r (Boost 1.0)++data SimpleQueryStringQuery =+  SimpleQueryStringQuery+    { simpleQueryStringQuery             :: QueryString+    , simpleQueryStringField             :: Maybe FieldOrFields+    , simpleQueryStringOperator          :: Maybe BooleanOperator+    , simpleQueryStringAnalyzer          :: Maybe Analyzer+    , simpleQueryStringFlags             :: Maybe (NonEmpty SimpleQueryFlag)+    , simpleQueryStringLowercaseExpanded :: Maybe LowercaseExpanded+    , simpleQueryStringLocale            :: Maybe Locale+    } deriving (Eq, Read, Show, Generic, Typeable)++data SimpleQueryFlag =+  SimpleQueryAll+  | SimpleQueryNone+  | SimpleQueryAnd+  | SimpleQueryOr+  | SimpleQueryPrefix+  | SimpleQueryPhrase+  | SimpleQueryPrecedence+  | SimpleQueryEscape+  | SimpleQueryWhitespace+  | SimpleQueryFuzzy+  | SimpleQueryNear+  | SimpleQuerySlop deriving (Eq, Read, Show, Generic, Typeable)++-- use_dis_max and tie_breaker when fields are plural?+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+  } deriving (Eq, Read, Show, Generic, Typeable)++mkQueryStringQuery :: QueryString -> QueryStringQuery+mkQueryStringQuery qs =+  QueryStringQuery qs Nothing Nothing+  Nothing Nothing Nothing Nothing+  Nothing Nothing Nothing Nothing+  Nothing Nothing Nothing Nothing+  Nothing Nothing++data FieldOrFields = FofField   FieldName+                   | FofFields (NonEmpty FieldName) deriving (Eq, Read, Show, Generic, Typeable)++data PrefixQuery =+  PrefixQuery+  { prefixQueryField       :: FieldName+  , prefixQueryPrefixValue :: Text+  , prefixQueryBoost       :: Maybe Boost } deriving (Eq, Read, Show, Generic, Typeable)++data NestedQuery =+  NestedQuery+  { nestedQueryPath      :: QueryPath+  , nestedQueryScoreType :: ScoreType+  , nestedQuery          :: Query } deriving (Eq, Read, Show, Generic, Typeable)++data MoreLikeThisFieldQuery =+  MoreLikeThisFieldQuery+  { moreLikeThisFieldText            :: Text+  , moreLikeThisFieldFields          :: FieldName+                                        -- default 0.3 (30%)+  , 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+  } deriving (Eq, Read, Show, Generic, Typeable)++data MoreLikeThisQuery =+  MoreLikeThisQuery+  { moreLikeThisText            :: Text+  , moreLikeThisFields          :: Maybe (NonEmpty FieldName)+    -- default 0.3 (30%)+  , 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+  } deriving (Eq, Read, Show, Generic, Typeable)++data IndicesQuery =+  IndicesQuery+  { indicesQueryIndices :: [IndexName]+  , indicesQuery        :: Query+    -- default "all"+  , indicesQueryNoMatch :: Maybe Query } deriving (Eq, Read, Show, Generic, Typeable)++data HasParentQuery =+  HasParentQuery+  { hasParentQueryType      :: TypeName+  , hasParentQuery          :: Query+  , hasParentQueryScoreType :: Maybe ScoreType } deriving (Eq, Read, Show, Generic, Typeable)++data HasChildQuery =+  HasChildQuery+  { hasChildQueryType      :: TypeName+  , hasChildQuery          :: Query+  , hasChildQueryScoreType :: Maybe ScoreType } deriving (Eq, Read, Show, Generic, Typeable)++data ScoreType =+  ScoreTypeMax+  | ScoreTypeSum+  | ScoreTypeAvg+  | ScoreTypeNone deriving (Eq, Read, Show, Generic, Typeable)++data FuzzyQuery =+  FuzzyQuery { fuzzyQueryField         :: FieldName+             , fuzzyQueryValue         :: Text+             , fuzzyQueryPrefixLength  :: PrefixLength+             , fuzzyQueryMaxExpansions :: MaxExpansions+             , fuzzyQueryFuzziness     :: Fuzziness+             , fuzzyQueryBoost         :: Maybe Boost+             } deriving (Eq, Read, Show, Generic, Typeable)++data FuzzyLikeFieldQuery =+  FuzzyLikeFieldQuery+  { fuzzyLikeField                    :: FieldName+    -- anaphora is good for the soul.+  , fuzzyLikeFieldText                :: Text+  , fuzzyLikeFieldMaxQueryTerms       :: MaxQueryTerms+  , fuzzyLikeFieldIgnoreTermFrequency :: IgnoreTermFrequency+  , fuzzyLikeFieldFuzziness           :: Fuzziness+  , fuzzyLikeFieldPrefixLength        :: PrefixLength+  , fuzzyLikeFieldBoost               :: Boost+  , fuzzyLikeFieldAnalyzer            :: Maybe Analyzer+  } deriving (Eq, Read, Show, Generic, Typeable)++data FuzzyLikeThisQuery =+  FuzzyLikeThisQuery+  { fuzzyLikeFields              :: [FieldName]+  , fuzzyLikeText                :: Text+  , fuzzyLikeMaxQueryTerms       :: MaxQueryTerms+  , fuzzyLikeIgnoreTermFrequency :: IgnoreTermFrequency+  , fuzzyLikeFuzziness           :: Fuzziness+  , fuzzyLikePrefixLength        :: PrefixLength+  , fuzzyLikeBoost               :: Boost+  , fuzzyLikeAnalyzer            :: Maybe Analyzer+  } deriving (Eq, Read, Show, Generic, Typeable)++data FilteredQuery =+  FilteredQuery+  { filteredQuery  :: Query+  , filteredFilter :: Filter } deriving (Eq, Read, Show, Generic, Typeable)++data DisMaxQuery =+  DisMaxQuery { disMaxQueries    :: [Query]+                -- default 0.0+              , disMaxTiebreaker :: Tiebreaker+              , disMaxBoost      :: Maybe Boost+              } deriving (Eq, Read, Show, Generic, Typeable)++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 } deriving (Eq, Read, Show, Generic, Typeable)++{-| 'mkMatchQuery' is a convenience function that defaults the less common parameters,+    enabling you to provide only the 'FieldName' and 'QueryString' to make a 'MatchQuery'+-}+mkMatchQuery :: FieldName -> QueryString -> MatchQuery+mkMatchQuery field query = MatchQuery field query Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing++data MatchQueryType =+  MatchPhrase+  | MatchPhrasePrefix deriving (Eq, Read, Show, Generic, Typeable)++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 } deriving (Eq, Read, Show, Generic, Typeable)++{-| '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'.+-}++mkMultiMatchQuery :: [FieldName] -> QueryString -> MultiMatchQuery+mkMultiMatchQuery matchFields query =+  MultiMatchQuery matchFields query+  Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing++data MultiMatchQueryType =+  MultiMatchBestFields+  | MultiMatchMostFields+  | MultiMatchCrossFields+  | MultiMatchPhrase+  | MultiMatchPhrasePrefix deriving (Eq, Read, Show, Generic, Typeable)++data BoolQuery =+  BoolQuery { boolQueryMustMatch          :: [Query]+            , boolQueryMustNotMatch       :: [Query]+            , boolQueryShouldMatch        :: [Query]+            , boolQueryMinimumShouldMatch :: Maybe MinimumMatch+            , boolQueryBoost              :: Maybe Boost+            , boolQueryDisableCoord       :: Maybe DisableCoord+            } deriving (Eq, Read, Show, Generic, Typeable)++mkBoolQuery :: [Query] -> [Query] -> [Query] -> BoolQuery+mkBoolQuery must mustNot should =+  BoolQuery must mustNot should Nothing Nothing Nothing++data BoostingQuery =+  BoostingQuery { positiveQuery :: Query+                , negativeQuery :: Query+                , negativeBoost :: Boost } deriving (Eq, Read, Show, Generic, Typeable)++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+                   } deriving (Eq, Read, Show, Generic, Typeable)++data CommonMinimumMatch =+    CommonMinimumMatchHighLow MinimumMatchHighLow+  | CommonMinimumMatch        MinimumMatch+  deriving (Eq, Read, Show, Generic, Typeable)++data MinimumMatchHighLow =+  MinimumMatchHighLow { lowFreq  :: MinimumMatch+                      , highFreq :: MinimumMatch } deriving (Eq, Read, Show, Generic, Typeable)++data Filter = AndFilter [Filter] Cache+            | OrFilter  [Filter] Cache+            | NotFilter  Filter  Cache+            | IdentityFilter+            | BoolFilter BoolMatch+            | ExistsFilter FieldName -- always cached+            | 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+              deriving (Eq, Read, Show, Generic, Typeable)++data ZeroTermsQuery = ZeroTermsNone+                    | ZeroTermsAll deriving (Eq, Read, Show, Generic, Typeable)++data RangeExecution = RangeExecutionIndex+                    | RangeExecutionFielddata deriving (Eq, Read, Show, Generic, Typeable)++newtype Regexp = Regexp Text deriving (Eq, Read, Show, Generic, Typeable, FromJSON)++data RegexpFlags = AllRegexpFlags+                 | NoRegexpFlags+                 | SomeRegexpFlags (NonEmpty RegexpFlag) deriving (Eq, Read, Show, Generic, Typeable)++data RegexpFlag = AnyString+                | Automaton+                | Complement+                | Empty+                | Intersection+                | Interval deriving (Eq, Read, Show, Generic, Typeable)++newtype LessThan = LessThan Double deriving (Eq, Read, Show, Generic, Typeable)+newtype LessThanEq = LessThanEq Double deriving (Eq, Read, Show, Generic, Typeable)+newtype GreaterThan = GreaterThan Double deriving (Eq, Read, Show, Generic, Typeable)+newtype GreaterThanEq = GreaterThanEq Double deriving (Eq, Read, Show, Generic, Typeable)++newtype LessThanD = LessThanD UTCTime deriving (Eq, Read, Show, Generic, Typeable)+newtype LessThanEqD = LessThanEqD UTCTime deriving (Eq, Read, Show, Generic, Typeable)+newtype GreaterThanD = GreaterThanD UTCTime deriving (Eq, Read, Show, Generic, Typeable)+newtype GreaterThanEqD = GreaterThanEqD UTCTime deriving (Eq, Read, Show, Generic, Typeable)++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+                deriving (Eq, Read, Show, Generic, Typeable)++rangeValueToPair :: RangeValue -> [Pair]+rangeValueToPair rv = case rv of+  RangeDateLte (LessThanEqD t)                       -> ["lte" .= t]+  RangeDateGte (GreaterThanEqD t)                    -> ["gte" .= t]+  RangeDateLt (LessThanD t)                          -> ["lt"  .= t]+  RangeDateGt (GreaterThanD t)                       -> ["gt"  .= t]+  RangeDateGteLte (GreaterThanEqD l) (LessThanEqD g) -> ["gte" .= l, "lte" .= g]+  RangeDateGtLte (GreaterThanD l) (LessThanEqD g)    -> ["gt"  .= l, "lte" .= g]+  RangeDateGteLt (GreaterThanEqD l) (LessThanD g)    -> ["gte" .= l, "lt"  .= g]+  RangeDateGtLt (GreaterThanD l) (LessThanD g)       -> ["gt"  .= l, "lt"  .= g]+  RangeDoubleLte (LessThanEq t)                      -> ["lte" .= t]+  RangeDoubleGte (GreaterThanEq t)                   -> ["gte" .= t]+  RangeDoubleLt (LessThan t)                         -> ["lt"  .= t]+  RangeDoubleGt (GreaterThan t)                      -> ["gt"  .= t]+  RangeDoubleGteLte (GreaterThanEq l) (LessThanEq g) -> ["gte" .= l, "lte" .= g]+  RangeDoubleGtLte (GreaterThan l) (LessThanEq g)    -> ["gt"  .= l, "lte" .= g]+  RangeDoubleGteLt (GreaterThanEq l) (LessThan g)    -> ["gte" .= l, "lt"  .= g]+  RangeDoubleGtLt (GreaterThan l) (LessThan g)       -> ["gt"  .= l, "lt"  .= g]++data Term = Term { termField :: Text+                 , termValue :: Text } deriving (Eq, Read, Show, Generic, Typeable)++data BoolMatch = MustMatch    Term  Cache+               | MustNotMatch Term  Cache+               | ShouldMatch [Term] Cache deriving (Eq, Read, Show, Generic, Typeable)++-- "memory" or "indexed"+data GeoFilterType = GeoFilterMemory+                   | GeoFilterIndexed deriving (Eq, Read, Show, Generic, Typeable)++data LatLon = LatLon { lat :: Double+                     , lon :: Double } deriving (Eq, Read, Show, Generic, Typeable)++data GeoBoundingBox =+  GeoBoundingBox { topLeft     :: LatLon+                 , bottomRight :: LatLon } deriving (Eq, Read, Show, Generic, Typeable)++data GeoBoundingBoxConstraint =+  GeoBoundingBoxConstraint { geoBBField        :: FieldName+                           , constraintBox     :: GeoBoundingBox+                           , bbConstraintcache :: Cache+                           , geoType           :: GeoFilterType+                           } deriving (Eq, Read, Show, Generic, Typeable)++data GeoPoint =+  GeoPoint { geoField :: FieldName+           , latLon   :: LatLon} deriving (Eq, Read, Show, Generic, Typeable)++data DistanceUnit = Miles+                  | Yards+                  | Feet+                  | Inches+                  | Kilometers+                  | Meters+                  | Centimeters+                  | Millimeters+                  | NauticalMiles deriving (Eq, Read, Show, Generic, Typeable)++data DistanceType = Arc+                  | SloppyArc -- doesn't exist <1.0+                  | Plane deriving (Eq, Read, Show, Generic, Typeable)++data OptimizeBbox = OptimizeGeoFilterType GeoFilterType+                  | NoOptimizeBbox deriving (Eq, Read, Show, Generic, Typeable)++data Distance =+  Distance { coefficient :: Double+           , unit        :: DistanceUnit } deriving (Eq, Read, Show, Generic, Typeable)++data DistanceRange =+  DistanceRange { distanceFrom :: Distance+                , distanceTo   :: Distance } deriving (Eq, Read, Show, Generic, Typeable)++data SearchResult a =+  SearchResult { took         :: Int+               , timedOut     :: Bool+               , shards       :: ShardResult+               , searchHits   :: SearchHits a+               , aggregations :: Maybe AggregationResults+               , scrollId     :: Maybe ScrollId } deriving (Eq, Read, Show, Generic, Typeable)++newtype ScrollId = ScrollId Text deriving (Eq, Read, Show, Generic, Ord, ToJSON, FromJSON)++type Score = Maybe Double++data SearchHits a =+  SearchHits { hitsTotal :: Int+             , maxScore  :: Score+             , hits      :: [Hit a] } deriving (Eq, Read, Show, Generic, Typeable)++instance Semigroup (SearchHits a) where+  (SearchHits ta ma ha) <> (SearchHits tb mb hb) = SearchHits (ta + tb) (max ma mb) (ha <> hb)++instance Monoid (SearchHits a) where+  mempty = SearchHits 0 Nothing mempty+  mappend = (<>)++data Hit a =+  Hit { hitIndex     :: IndexName+      , hitType      :: MappingName+      , hitDocId     :: DocId+      , hitScore     :: Score+      , hitSource    :: Maybe a+      , hitHighlight :: Maybe HitHighlight } deriving (Eq, Read, Show, Generic, Typeable)++data ShardResult =+  ShardResult { shardTotal       :: Int+              , shardsSuccessful :: Int+              , shardsFailed     :: Int } deriving (Eq, Read, Show, Generic, Typeable)++type HitHighlight = M.Map Text [Text]++showText :: Show a => a -> Text+showText = T.pack . show++readMay :: Read a => String -> Maybe a+readMay s = case reads s of+              (a, ""):_ -> Just a+              _         -> Nothing++parseReadText :: Read a => Text -> Parser a+parseReadText = maybe mzero return . readMay . T.unpack++type Aggregations = M.Map Text Aggregation++emptyAggregations :: Aggregations+emptyAggregations = M.empty++mkAggregations :: Text -> Aggregation -> Aggregations+mkAggregations name aggregation = M.insert name aggregation emptyAggregations++data TermOrder = TermOrder{ termSortField :: Text+                          , termSortOrder :: SortOrder } deriving (Eq, Read, Show, Generic, Typeable)++data TermInclusion = TermInclusion Text+                   | TermPattern Text Text deriving (Eq, Read, Show, Generic, Typeable)++data CollectionMode = BreadthFirst+                    | DepthFirst deriving (Eq, Read, Show, Generic, Typeable)++data ExecutionHint = Ordinals+                   | GlobalOrdinals+                   | GlobalOrdinalsHash+                   | GlobalOrdinalsLowCardinality+                   | Map deriving (Eq, Read, Show, Generic, Typeable)++data TimeInterval = Weeks+                  | Days+                  | Hours+                  | Minutes+                  | Seconds deriving Eq++data Interval = Year+              | Quarter+              | Month+              | Week+              | Day+              | Hour+              | Minute+              | Second+              | FractionalInterval Float TimeInterval deriving (Eq, Read, Show, Generic, Typeable)++data Aggregation = TermsAgg TermsAggregation+                 | CardinalityAgg CardinalityAggregation+                 | DateHistogramAgg DateHistogramAggregation+                 | ValueCountAgg ValueCountAggregation+                 | FilterAgg FilterAggregation+                 | DateRangeAgg DateRangeAggregation+                 | MissingAgg MissingAggregation+                 | TopHitsAgg TopHitsAggregation+  deriving (Eq, Read, Show, Generic, Typeable)++data TopHitsAggregation = TopHitsAggregation+  { taFrom :: Maybe From+  , taSize :: Maybe Size+  , taSort :: Maybe Sort+  } deriving (Eq, Read, Show)++data MissingAggregation = MissingAggregation+  { maField :: Text+  } deriving (Eq, Read, Show, Generic, Typeable)++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+                                    } deriving (Eq, Read, Show, Generic, Typeable)++data CardinalityAggregation = CardinalityAggregation { cardinalityField   :: FieldName,+                                                       precisionThreshold :: Maybe Int+                                                     } deriving (Eq, Read, Show, Generic, Typeable)++data DateHistogramAggregation = DateHistogramAggregation { dateField      :: FieldName+                                                         , dateInterval   :: Interval+                                                         , dateFormat     :: Maybe Text+                                                         -- pre and post deprecated in 1.5+                                                         , datePreZone    :: Maybe Text+                                                         , datePostZone   :: Maybe Text+                                                         , datePreOffset  :: Maybe Text+                                                         , datePostOffset :: Maybe Text+                                                         , dateAggs       :: Maybe Aggregations+                                                         } deriving (Eq, Read, Show, Generic, Typeable)+++data DateRangeAggregation = DateRangeAggregation { draField  :: FieldName+                                                 , draFormat :: Maybe Text+                                                 , draRanges :: NonEmpty DateRangeAggRange+                                                 } deriving (Eq, Read, Show, Generic, Typeable)++data DateRangeAggRange = DateRangeFrom DateMathExpr+                       | DateRangeTo DateMathExpr+                       | DateRangeFromAndTo DateMathExpr DateMathExpr deriving (Eq, Read, Show, Generic, Typeable)++-- | See <https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math> for more information.+data DateMathExpr = DateMathExpr DateMathAnchor [DateMathModifier] deriving (Eq, Read, Show, Generic, Typeable)+++-- | Starting point for a date range. This along with the 'DateMathModifiers' gets you the date ES will start from.+data DateMathAnchor = DMNow+                    | DMDate Day deriving (Eq, Read, Show, Generic, Typeable)++data DateMathModifier = AddTime Int DateMathUnit+                      | SubtractTime Int DateMathUnit+                      | RoundDownTo DateMathUnit deriving (Eq, Read, Show, Generic, Typeable)++data DateMathUnit = DMYear+                  | DMMonth+                  | DMWeek+                  | DMDay+                  | DMHour+                  | DMMinute+                  | DMSecond deriving (Eq, Read, Show, Generic, Typeable)++-- | See <https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-valuecount-aggregation.html> for more information.+data ValueCountAggregation = FieldValueCount FieldName+                           | ScriptValueCount Script deriving (Eq, Read, Show, Generic, Typeable)++-- | 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 FilterAggregation = FilterAggregation { faFilter :: Filter+                                           , faAggs   :: Maybe Aggregations} deriving (Eq, Read, Show, Generic, Typeable)++mkTermsAggregation :: Text -> TermsAggregation+mkTermsAggregation t = TermsAggregation (Left t) Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing++mkTermsScriptAggregation :: Text -> TermsAggregation+mkTermsScriptAggregation t = TermsAggregation (Right t) Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing++mkDateHistogram :: FieldName -> Interval -> DateHistogramAggregation+mkDateHistogram t i = DateHistogramAggregation t i Nothing Nothing Nothing Nothing Nothing Nothing++mkCardinalityAggregation :: FieldName -> CardinalityAggregation+mkCardinalityAggregation t = CardinalityAggregation t Nothing++instance ToJSON Version where+  toJSON Version {..} = object ["number" .= number+                               ,"build_hash" .= build_hash+                               ,"build_timestamp" .= build_timestamp+                               ,"build_snapshot" .= build_snapshot+                               ,"lucene_version" .= lucene_version]++instance FromJSON Version where+  parseJSON = withObject "Version" parse+    where parse o = Version+                    <$> o .: "number"+                    <*> o .: "build_hash"+                    <*> o .: "build_timestamp"+                    <*> o .: "build_snapshot"+                    <*> o .: "lucene_version"++instance ToJSON VersionNumber where+  toJSON = toJSON . Vers.showVersion . versionNumber++instance FromJSON VersionNumber where+  parseJSON = withText "VersionNumber" (parse . T.unpack)+    where+      parse s = case filter (null . snd)(RP.readP_to_S Vers.parseVersion s) of+                  [(v, _)] -> pure (VersionNumber v)+                  [] -> fail ("Invalid version string " ++ s)+                  xs -> fail ("Ambiguous version string " ++ s ++ " (" ++ intercalate ", " (Vers.showVersion . fst <$> xs) ++ ")")++instance ToJSON TermOrder where+  toJSON (TermOrder termSortField termSortOrder) = object [termSortField .= termSortOrder]++instance ToJSON TermInclusion where+  toJSON (TermInclusion x) = toJSON x+  toJSON (TermPattern pattern flags) = omitNulls [ "pattern" .= pattern,+                                                     "flags"   .= flags]++instance ToJSON CollectionMode where+  toJSON BreadthFirst = "breadth_first"+  toJSON DepthFirst   = "depth_first"++instance ToJSON ExecutionHint where+  toJSON Ordinals                     = "ordinals"+  toJSON GlobalOrdinals               = "global_ordinals"+  toJSON GlobalOrdinalsHash           = "global_ordinals_hash"+  toJSON GlobalOrdinalsLowCardinality = "global_ordinals_low_cardinality"+  toJSON Map                          = "map"++instance ToJSON Interval where+  toJSON Year = "year"+  toJSON Quarter = "quarter"+  toJSON Month = "month"+  toJSON Week = "week"+  toJSON Day = "day"+  toJSON Hour = "hour"+  toJSON Minute = "minute"+  toJSON Second = "second"+  toJSON (FractionalInterval fraction interval) = toJSON $ show fraction ++ show interval++instance Show TimeInterval where+  show Weeks   = "w"+  show Days    = "d"+  show Hours   = "h"+  show Minutes = "m"+  show Seconds = "s"++instance Read TimeInterval where+  readPrec = f =<< TR.get+    where+      f 'w' = return Weeks+      f 'd' = return Days+      f 'h' = return Hours+      f 'm' = return Minutes+      f 's' = return Seconds+      f  _  = fail "TimeInterval expected one of w, d, h, m, s"++instance ToJSON Aggregation where+  toJSON (TermsAgg (TermsAggregation term include exclude order minDocCount size shardSize collectMode executionHint termAggs)) =+    omitNulls ["terms" .= omitNulls [ toJSON' term,+                                      "include"        .= include,+                                      "exclude"        .= exclude,+                                      "order"          .= order,+                                      "min_doc_count"  .= minDocCount,+                                      "size"           .= size,+                                      "shard_size"     .= shardSize,+                                      "collect_mode"   .= collectMode,+                                      "execution_hint" .= executionHint+                                    ],+               "aggs"  .= termAggs ]+    where+      toJSON' x = case x of { Left y -> "field" .= y;  Right y -> "script" .= y }++  toJSON (CardinalityAgg (CardinalityAggregation field precisionThreshold)) =+    object ["cardinality" .= omitNulls [ "field"              .= field,+                                         "precisionThreshold" .= precisionThreshold+                                       ]+           ]++  toJSON (DateHistogramAgg (DateHistogramAggregation field interval format preZone postZone preOffset postOffset dateHistoAggs)) =+    omitNulls ["date_histogram" .= omitNulls [ "field"       .= field,+                                               "interval"    .= interval,+                                               "format"      .= format,+                                               "pre_zone"    .= preZone,+                                               "post_zone"   .= postZone,+                                               "pre_offset"  .= preOffset,+                                               "post_offset" .= postOffset+                                             ],+               "aggs"           .= dateHistoAggs ]+  toJSON (ValueCountAgg a) = object ["value_count" .= v]+    where v = case a of+                (FieldValueCount (FieldName n)) -> object ["field" .= n]+                (ScriptValueCount (Script s))   -> object ["script" .= s]+  toJSON (FilterAgg (FilterAggregation filt ags)) =+    omitNulls [ "filter" .= filt+              , "aggs" .= ags]+  toJSON (DateRangeAgg a) = object [ "date_range" .= a+                                   ]+  toJSON (MissingAgg (MissingAggregation{..})) =+    object ["missing" .= object ["field" .= maField]]++  toJSON (TopHitsAgg (TopHitsAggregation mfrom msize msort)) =+    omitNulls ["top_hits" .= omitNulls [ "size" .= msize+                                       , "from" .= mfrom+                                       , "sort" .= msort+                                       ]+              ]++instance ToJSON DateRangeAggregation where+  toJSON DateRangeAggregation {..} =+    omitNulls [ "field" .= draField+              , "format" .= draFormat+              , "ranges" .= toList draRanges+              ]++instance ToJSON DateRangeAggRange where+  toJSON (DateRangeFrom e)        = object [ "from" .= e ]+  toJSON (DateRangeTo e)          = object [ "to" .= e ]+  toJSON (DateRangeFromAndTo f t) = object [ "from" .= f, "to" .= t ]++instance ToJSON DateMathExpr where+  toJSON (DateMathExpr a mods) = String (fmtA a <> mconcat (fmtMod <$> mods))+    where fmtA DMNow         = "now"+          fmtA (DMDate date) = (T.pack $ showGregorian date) <> "||"+          fmtMod (AddTime n u)      = "+" <> showText n <> fmtU u+          fmtMod (SubtractTime n u) = "-" <> showText n <> fmtU u+          fmtMod (RoundDownTo u)    = "/" <> fmtU u+          fmtU DMYear   = "y"+          fmtU DMMonth  = "M"+          fmtU DMWeek   = "w"+          fmtU DMDay    = "d"+          fmtU DMHour   = "h"+          fmtU DMMinute = "m"+          fmtU DMSecond = "s"+++type AggregationResults = M.Map Text Value++class BucketAggregation a where+  key :: a -> BucketValue+  docCount :: a -> Int+  aggs :: a -> Maybe AggregationResults+++data Bucket a = Bucket { buckets :: [a]} deriving (Read, Show)++data BucketValue = TextValue Text+                 | ScientificValue Scientific+                 | BoolValue Bool deriving (Read, Show)++data MissingResult = MissingResult { missingDocCount :: Int } deriving (Show)++data TopHitResult a = TopHitResult { tarHits :: (SearchHits a)+                                   } deriving Show++data TermsResult = TermsResult { termKey       :: BucketValue+                               , termsDocCount :: Int+                               , termsAggs     :: Maybe AggregationResults } deriving (Read, Show)++data DateHistogramResult = DateHistogramResult { dateKey           :: Int+                                               , dateKeyStr        :: Maybe Text+                                               , dateDocCount      :: Int+                                               , dateHistogramAggs :: Maybe AggregationResults } deriving (Read, Show)++data DateRangeResult = DateRangeResult { dateRangeKey          :: Text+                                       , dateRangeFrom         :: Maybe UTCTime+                                       , dateRangeFromAsString :: Maybe Text+                                       , dateRangeTo           :: Maybe UTCTime+                                       , dateRangeToAsString   :: Maybe Text+                                       , dateRangeDocCount     :: Int+                                       , dateRangeAggs         :: Maybe AggregationResults } deriving (Read, Show, Eq, Generic, Typeable)++toTerms :: Text -> AggregationResults ->  Maybe (Bucket TermsResult)+toTerms = toAggResult++toDateHistogram :: Text -> AggregationResults -> Maybe (Bucket DateHistogramResult)+toDateHistogram = toAggResult++toMissing :: Text -> AggregationResults -> Maybe MissingResult+toMissing = toAggResult++toTopHits :: (FromJSON a) => Text -> AggregationResults -> Maybe (TopHitResult a)+toTopHits = toAggResult++toAggResult :: (FromJSON a) => Text -> AggregationResults -> Maybe a+toAggResult t a = M.lookup t a >>= deserialize+  where deserialize = parseMaybe parseJSON++instance BucketAggregation TermsResult where+  key = termKey+  docCount = termsDocCount+  aggs = termsAggs++instance BucketAggregation DateHistogramResult where+  key = TextValue . showText . dateKey+  docCount = dateDocCount+  aggs = dateHistogramAggs++instance BucketAggregation DateRangeResult where+  key = TextValue . dateRangeKey+  docCount = dateRangeDocCount+  aggs = dateRangeAggs++instance (FromJSON a) => FromJSON (Bucket a) where+  parseJSON (Object v) = Bucket <$>+                         v .: "buckets"+  parseJSON _ = mempty++instance FromJSON BucketValue where+  parseJSON (String t) = return $ TextValue t+  parseJSON (Number s) = return $ ScientificValue s+  parseJSON (Bool b)   = return $ BoolValue b+  parseJSON _          = mempty++instance FromJSON MissingResult where+  parseJSON = withObject "MissingResult" parse+    where parse v = MissingResult <$> v .: "doc_count"++instance FromJSON TermsResult where+  parseJSON (Object v) = TermsResult        <$>+                         v .:   "key"       <*>+                         v .:   "doc_count" <*>+                         (pure $ getNamedSubAgg v ["key", "doc_count"])+  parseJSON _ = mempty++instance FromJSON DateHistogramResult where+  parseJSON (Object v) = DateHistogramResult   <$>+                         v .:  "key"           <*>+                         v .:? "key_as_string" <*>+                         v .:  "doc_count"     <*>+                         (pure $ getNamedSubAgg v [ "key"+                                                  , "doc_count"+                                                  , "key_as_string"+                                                  ]+                         )+  parseJSON _ = mempty++instance FromJSON DateRangeResult where+  parseJSON = withObject "DateRangeResult" parse+    where parse v = DateRangeResult                 <$>+                    v .:  "key"                     <*>+                    (fmap posixMS <$> v .:? "from") <*>+                    v .:? "from_as_string"          <*>+                    (fmap posixMS <$> v .:? "to")   <*>+                    v .:? "to_as_string"            <*>+                    v .:  "doc_count"               <*>+                    (pure $ getNamedSubAgg v [ "key"+                                             , "from"+                                             , "from_as_string"+                                             , "to"+                                             , "to_as_string"+                                             , "doc_count"+                                             ]+                    )++instance FromJSON POSIXMS where+  parseJSON = withScientific "POSIXMS" (return . parse)+    where parse n = let n' = truncate n :: Integer+                    in POSIXMS (posixSecondsToUTCTime (fromInteger (n' `div` 1000)))++instance (FromJSON a) => FromJSON (TopHitResult a) where+  parseJSON (Object v) = TopHitResult <$>+                         v .: "hits"+  parseJSON _          = fail "Failure in FromJSON (TopHitResult a)"++instance Semigroup Filter where+  a <> b = AndFilter [a, b] defaultCache++instance Monoid Filter where+  mempty = IdentityFilter+  mappend = (<>)++instance Seminearring Filter where+  a <||> b = OrFilter [a, b] defaultCache++instance ToJSON Filter where+  toJSON (AndFilter filters cache) =+    object ["and" .=+            object [ "filters" .= fmap toJSON filters+                   , "_cache"  .= cache]]++  toJSON (OrFilter filters cache) =+    object ["or" .=+            object [ "filters" .= fmap toJSON filters+                   , "_cache"  .= cache]]++  toJSON (NotFilter notFilter cache) =+    object ["not" .=+            object ["filter"  .= notFilter+                   , "_cache" .= cache]]++  toJSON (IdentityFilter) =+    object ["match_all" .= object []]++  toJSON (TermFilter (Term termFilterField termFilterValue) cache) =+    object ["term" .= object base]+    where base = [termFilterField .= termFilterValue,+                  "_cache"        .= cache]++  toJSON (ExistsFilter (FieldName fieldName)) =+    object ["exists"  .= object+            ["field"  .= fieldName]]++  toJSON (BoolFilter boolMatch) =+    object ["bool"    .= boolMatch]++  toJSON (GeoBoundingBoxFilter bbConstraint) =+    object ["geo_bounding_box" .= bbConstraint]++  toJSON (GeoDistanceFilter (GeoPoint (FieldName distanceGeoField) geoDistLatLon)+          distance distanceType optimizeBbox cache) =+    object ["geo_distance" .=+            object ["distance" .= distance+                   , "distance_type" .= distanceType+                   , "optimize_bbox" .= optimizeBbox+                   , distanceGeoField .= geoDistLatLon+                   , "_cache" .= cache]]++  toJSON (GeoDistanceRangeFilter (GeoPoint (FieldName gddrField) drLatLon)+          (DistanceRange geoDistRangeDistFrom drDistanceTo)) =+    object ["geo_distance_range" .=+            object ["from" .= geoDistRangeDistFrom+                   , "to"  .= drDistanceTo+                   , gddrField .= drLatLon]]++  toJSON (GeoPolygonFilter (FieldName geoPolygonFilterField) latLons) =+    object ["geo_polygon" .=+            object [geoPolygonFilterField .=+                    object ["points" .= fmap toJSON latLons]]]++  toJSON (IdsFilter (MappingName mappingName) values) =+    object ["ids" .=+            object ["type" .= mappingName+                   , "values" .= fmap unpackId values]]++  toJSON (LimitFilter limit) =+    object ["limit" .= object ["value" .= limit]]++  toJSON (MissingFilter (FieldName fieldName) (Existence existence) (NullValue nullValue)) =+    object ["missing" .=+            object ["field"       .= fieldName+                   , "existence"  .= existence+                   , "null_value" .= nullValue]]++  toJSON (PrefixFilter (FieldName fieldName) fieldValue cache) =+    object ["prefix" .=+            object [fieldName .= fieldValue+                   , "_cache" .= cache]]++  toJSON (QueryFilter query False) =+    object ["query" .= toJSON query ]+  toJSON (QueryFilter query True) =+    object ["fquery" .=+            object [ "query"  .= toJSON query+                   , "_cache" .= True ]]++  toJSON (RangeFilter (FieldName fieldName) rangeValue rangeExecution cache) =+    object ["range" .=+            object [ fieldName .= object (rangeValueToPair rangeValue)+                   , "execution" .= rangeExecution+                   , "_cache" .= cache]]++  toJSON (RegexpFilter (FieldName fieldName)+          (Regexp regexText) flags (CacheName cacheName) cache (CacheKey cacheKey)) =+    object ["regexp" .=+            object [fieldName .=+                    object ["value"  .= regexText+                           , "flags" .= flags]+                   , "_name"      .= cacheName+                   , "_cache"     .= cache+                   , "_cache_key" .= cacheKey]]++instance FromJSON Filter where+  parseJSON = withObject "Filter" parse+    where parse o = andFilter `taggedWith` "and"+                <|> orFilter `taggedWith` "or"+                <|> notFilter `taggedWith` "not"+                <|> identityFilter `taggedWith` "match_all"+                <|> boolFilter `taggedWith` "bool"+                <|> existsFilter `taggedWith` "exists"+                <|> geoBoundingBoxFilter `taggedWith` "geo_bounding_box"+                <|> geoDistanceFilter `taggedWith` "geo_distance"+                <|> geoDistanceRangeFilter `taggedWith` "geo_distance_range"+                <|> geoPolygonFilter `taggedWith` "geo_polygon"+                <|> idsFilter `taggedWith` "ids"+                <|> limitFilter `taggedWith` "limit"+                <|> missingFilter `taggedWith` "missing"+                <|> prefixFilter `taggedWith` "prefix"+                <|> queryFilter `taggedWith` "query"+                <|> fqueryFilter `taggedWith` "fquery"+                <|> rangeFilter `taggedWith` "range"+                <|> regexpFilter `taggedWith` "regexp"+                <|> termFilter `taggedWith` "term"+            where taggedWith parser k = parser =<< o .: k+          andFilter o = AndFilter <$> o .: "filters"+                                  <*> o .:? "_cache" .!= defaultCache+          orFilter o = OrFilter <$> o .: "filters"+                                <*> o .:? "_cache" .!= defaultCache+          notFilter o = NotFilter <$> o .: "filter"+                                  <*> o .: "_cache" .!= defaultCache+          identityFilter :: Object -> Parser Filter+          identityFilter m+            | HM.null m = pure IdentityFilter+            | otherwise = fail ("Identityfilter expected empty object but got " <> show m)+          boolFilter = pure . BoolFilter+          existsFilter o = ExistsFilter <$> o .: "field"+          geoBoundingBoxFilter = pure . GeoBoundingBoxFilter+          geoDistanceFilter o = do+            case HM.toList (deleteSeveral ["distance", "distance_type", "optimize_bbox", "_cache"] o) of+              [(fn, v)] -> do+                gp <- GeoPoint (FieldName fn) <$> parseJSON v+                GeoDistanceFilter gp <$> o .: "distance"+                                     <*> o .: "distance_type"+                                     <*> o .: "optimize_bbox"+                                     <*> o .:? "_cache" .!= defaultCache+              _ -> fail "Could not find GeoDistanceFilter field name"+          geoDistanceRangeFilter o = do+            case HM.toList (deleteSeveral ["from", "to"] o) of+              [(fn, v)] -> do+                gp <- GeoPoint (FieldName fn) <$> parseJSON v+                rng <- DistanceRange <$> o .: "from" <*> o .: "to"+                return (GeoDistanceRangeFilter gp rng)+              _ -> fail "Could not find GeoDistanceRangeFilter field name"+          geoPolygonFilter = fieldTagged $ \fn o -> GeoPolygonFilter fn <$> o .: "points"+          idsFilter o = IdsFilter <$> o .: "type"+                                  <*> o .: "values"+          limitFilter o = LimitFilter <$> o .: "value"+          missingFilter o = MissingFilter <$> o .: "field"+                                          <*> o .: "existence"+                                          <*> o .: "null_value"+          prefixFilter o = case HM.toList (HM.delete "_cache" o) of+                             [(fn, String v)] -> PrefixFilter (FieldName fn) v <$> o .:? "_cache" .!= defaultCache+                             _ -> fail "Could not parse PrefixFilter"++          queryFilter q = pure (QueryFilter q False)+          fqueryFilter o = QueryFilter <$> o .: "query" <*> pure True+          rangeFilter o = case HM.toList (deleteSeveral ["execution", "_cache"] o) of+                            [(fn, v)] -> RangeFilter (FieldName fn)+                                         <$> parseJSON v+                                         <*> o .: "execution"+                                         <*> o .:? "_cache" .!= defaultCache+                            _ -> fail "Could not find field name for RangeFilter"+          regexpFilter o = case HM.toList (deleteSeveral ["_name", "_cache", "_cache_key"] o) of+                              [(fn, Object o')] -> RegexpFilter (FieldName fn)+                                                   <$> o' .: "value"+                                                   <*> o' .: "flags"+                                                   <*> o .: "_name"+                                                   <*> o .:? "_cache" .!= defaultCache+                                                   <*> o .: "_cache_key"+                              _ -> fail "Could not find field name for RegexpFilter"+          termFilter o = case HM.toList (HM.delete "_cache" o) of+                         [(termField, String termVal)] -> TermFilter (Term termField termVal)+                                                          <$> o .:? "_cache" .!= defaultCache+                         _ -> fail "Could not find term field for TermFilter"++fieldTagged :: Monad m => (FieldName -> Object -> m a) -> Object -> m a+fieldTagged f o = case HM.toList o of+                    [(k, Object o')] -> f (FieldName k) o'+                    _ -> fail "Expected object with 1 field-named key"++-- Try to get an AggregationResults when we don't know the+-- field name. We filter out the known keys to try to minimize the noise.+getNamedSubAgg :: Object -> [Text] -> Maybe AggregationResults+getNamedSubAgg o knownKeys = maggRes+  where unknownKeys = HM.filterWithKey (\k _ -> k `notElem` knownKeys) o+        maggRes+          | HM.null unknownKeys = Nothing+          | otherwise           = Just . M.fromList $ HM.toList unknownKeys++instance ToJSON GeoPoint where+  toJSON (GeoPoint (FieldName geoPointField) geoPointLatLon) =+    object [ geoPointField  .= geoPointLatLon ]+++instance ToJSON Query where+  toJSON (TermQuery (Term termQueryField termQueryValue) boost) =+    object [ "term" .=+             object [termQueryField .= object merged]]+    where+      base = [ "value" .= termQueryValue ]+      boosted = maybe [] (return . ("boost" .=)) boost+      merged = mappend base boosted++  toJSON (TermsQuery fieldName terms) =+    object [ "terms" .= object conjoined ]+    where conjoined = [fieldName .= terms]++  toJSON (IdsQuery idsQueryMappingName docIds) =+    object [ "ids" .= object conjoined ]+    where conjoined = [ "type"   .= idsQueryMappingName+                      , "values" .= fmap toJSON docIds ]++  toJSON (QueryQueryStringQuery qQueryStringQuery) =+    object [ "query_string" .= qQueryStringQuery ]++  toJSON (QueryMatchQuery matchQuery) =+    object [ "match" .= matchQuery ]++  toJSON (QueryMultiMatchQuery multiMatchQuery) =+      toJSON multiMatchQuery++  toJSON (QueryBoolQuery boolQuery) =+    object [ "bool" .= boolQuery ]++  toJSON (QueryBoostingQuery boostingQuery) =+    object [ "boosting" .= boostingQuery ]++  toJSON (QueryCommonTermsQuery commonTermsQuery) =+    object [ "common" .= commonTermsQuery ]++  toJSON (ConstantScoreFilter csFilter boost) =+    object ["constant_score" .= object ["filter" .= csFilter+                                       , "boost" .= boost]]++  toJSON (ConstantScoreQuery query boost) =+    object ["constant_score" .= object ["query" .= query+                                       , "boost" .= boost]]++  toJSON (QueryDisMaxQuery disMaxQuery) =+    object [ "dis_max" .= disMaxQuery ]++  toJSON (QueryFilteredQuery qFilteredQuery) =+    object [ "filtered" .= qFilteredQuery ]++  toJSON (QueryFuzzyLikeThisQuery fuzzyQuery) =+    object [ "fuzzy_like_this" .= fuzzyQuery ]++  toJSON (QueryFuzzyLikeFieldQuery fuzzyFieldQuery) =+    object [ "fuzzy_like_this_field" .= fuzzyFieldQuery ]++  toJSON (QueryFuzzyQuery fuzzyQuery) =+    object [ "fuzzy" .= fuzzyQuery ]++  toJSON (QueryHasChildQuery childQuery) =+    object [ "has_child" .= childQuery ]++  toJSON (QueryHasParentQuery parentQuery) =+    object [ "has_parent" .= parentQuery ]++  toJSON (QueryIndicesQuery qIndicesQuery) =+    object [ "indices" .= qIndicesQuery ]++  toJSON (MatchAllQuery boost) =+    object [ "match_all" .= omitNulls [ "boost" .= boost ] ]++  toJSON (QueryMoreLikeThisQuery query) =+    object [ "more_like_this" .= query ]++  toJSON (QueryMoreLikeThisFieldQuery query) =+    object [ "more_like_this_field" .= query ]++  toJSON (QueryNestedQuery query) =+    object [ "nested" .= query ]++  toJSON (QueryPrefixQuery query) =+    object [ "prefix" .= query ]++  toJSON (QueryRangeQuery query) =+    object [ "range"  .= query ]++  toJSON (QueryRegexpQuery query) =+    object [ "regexp" .= query ]++  toJSON (QuerySimpleQueryStringQuery query) =+    object [ "simple_query_string" .= query ]++instance FromJSON Query where+  parseJSON v = withObject "Query" parse v+    where parse o = termQuery `taggedWith` "term"+                <|> termsQuery `taggedWith` "terms"+                <|> idsQuery `taggedWith` "ids"+                <|> queryQueryStringQuery `taggedWith` "query_string"+                <|> queryMatchQuery `taggedWith` "match"+                <|> queryMultiMatchQuery+                <|> queryBoolQuery `taggedWith` "bool"+                <|> queryBoostingQuery `taggedWith` "boosting"+                <|> queryCommonTermsQuery `taggedWith` "common"+                <|> constantScoreFilter `taggedWith` "constant_score"+                <|> constantScoreQuery `taggedWith` "constant_score"+                <|> queryDisMaxQuery `taggedWith` "dis_max"+                <|> queryFilteredQuery `taggedWith` "filtered"+                <|> queryFuzzyLikeThisQuery `taggedWith` "fuzzy_like_this"+                <|> queryFuzzyLikeFieldQuery `taggedWith` "fuzzy_like_this_field"+                <|> queryFuzzyQuery `taggedWith` "fuzzy"+                <|> queryHasChildQuery `taggedWith` "has_child"+                <|> queryHasParentQuery `taggedWith` "has_parent"+                <|> queryIndicesQuery `taggedWith` "indices"+                <|> matchAllQuery `taggedWith` "match_all"+                <|> queryMoreLikeThisQuery `taggedWith` "more_like_this"+                <|> queryMoreLikeThisFieldQuery `taggedWith` "more_like_this_field"+                <|> queryNestedQuery `taggedWith` "nested"+                <|> queryPrefixQuery `taggedWith` "prefix"+                <|> queryRangeQuery `taggedWith` "range"+                <|> queryRegexpQuery `taggedWith` "regexp"+                <|> querySimpleQueryStringQuery `taggedWith` "simple_query_string"+            where taggedWith parser k = parser =<< o .: k+          termQuery = fieldTagged $ \(FieldName fn) o ->+                        TermQuery <$> (Term fn <$> o .: "value") <*> o .:? "boost"+          termsQuery o = case HM.toList o of+                           [(fn, vs)] -> do vals <- parseJSON vs+                                            case vals of+                                              x:xs -> return (TermsQuery fn (x :| xs))+                                              _ -> fail "Expected non empty list of values"+                           _ -> fail "Expected object with 1 field-named key"+          idsQuery o = IdsQuery <$> o .: "type"+                                <*> o .: "values"+          queryQueryStringQuery = pure . QueryQueryStringQuery+          queryMatchQuery = pure . QueryMatchQuery+          queryMultiMatchQuery = QueryMultiMatchQuery <$> parseJSON v+          queryBoolQuery = pure . QueryBoolQuery+          queryBoostingQuery = pure . QueryBoostingQuery+          queryCommonTermsQuery = pure . QueryCommonTermsQuery+          constantScoreFilter o = case HM.lookup "filter" o of+            Just x -> ConstantScoreFilter <$> parseJSON x+                                          <*> o .: "boost"+            _ -> fail "Does not appear to be a ConstantScoreFilter"+          constantScoreQuery o = case HM.lookup "query" o of+            Just x -> ConstantScoreQuery <$> parseJSON x+                                         <*> o .: "boost"+            _ -> fail "Does not appear to be a ConstantScoreQuery"+          queryDisMaxQuery = pure . QueryDisMaxQuery+          queryFilteredQuery = pure . QueryFilteredQuery+          queryFuzzyLikeThisQuery = pure . QueryFuzzyLikeThisQuery+          queryFuzzyLikeFieldQuery = pure . QueryFuzzyLikeFieldQuery+          queryFuzzyQuery = pure . QueryFuzzyQuery+          queryHasChildQuery = pure . QueryHasChildQuery+          queryHasParentQuery = pure . QueryHasParentQuery+          queryIndicesQuery = pure . QueryIndicesQuery+          matchAllQuery o = MatchAllQuery <$> o .:? "boost"+          queryMoreLikeThisQuery = pure . QueryMoreLikeThisQuery+          queryMoreLikeThisFieldQuery = pure . QueryMoreLikeThisFieldQuery+          queryNestedQuery = pure . QueryNestedQuery+          queryPrefixQuery = pure . QueryPrefixQuery+          queryRangeQuery = pure . QueryRangeQuery+          queryRegexpQuery = pure . QueryRegexpQuery+          querySimpleQueryStringQuery = pure . QuerySimpleQueryStringQuery+++omitNulls :: [(Text, Value)] -> Value+omitNulls = object . filter notNull where+  notNull (_, Null)    = False+  notNull (_, Array a) = (not . V.null) a+  notNull _            = True+++instance ToJSON SimpleQueryStringQuery where+  toJSON SimpleQueryStringQuery {..} =+    omitNulls (base ++ maybeAdd)+    where base = [ "query" .= simpleQueryStringQuery ]+          maybeAdd = [ "fields" .= simpleQueryStringField+                     , "default_operator" .= simpleQueryStringOperator+                     , "analyzer" .= simpleQueryStringAnalyzer+                     , "flags" .= simpleQueryStringFlags+                     , "lowercase_expanded_terms" .= simpleQueryStringLowercaseExpanded+                     , "locale" .= simpleQueryStringLocale ]++instance FromJSON SimpleQueryStringQuery where+  parseJSON = withObject "SimpleQueryStringQuery" parse+    where parse o = SimpleQueryStringQuery <$> o .: "query"+                                           <*> o .:? "fields"+                                           <*> o .:? "default_operator"+                                           <*> o .:? "analyzer"+                                           <*> (parseFlags <$> o .:? "flags")+                                           <*> o .:? "lowercase_expanded_terms"+                                           <*> o .:? "locale"+          parseFlags (Just (x:xs)) = Just (x :| xs)+          parseFlags _             = Nothing++instance ToJSON FieldOrFields where+  toJSON (FofField fieldName) =+    toJSON fieldName+  toJSON (FofFields fieldNames) =+    toJSON fieldNames++instance FromJSON FieldOrFields where+  parseJSON v = FofField  <$> parseJSON v+            <|> FofFields <$> (parseNEJSON =<< parseJSON v)++instance ToJSON SimpleQueryFlag where+  toJSON SimpleQueryAll        = "ALL"+  toJSON SimpleQueryNone       = "NONE"+  toJSON SimpleQueryAnd        = "AND"+  toJSON SimpleQueryOr         = "OR"+  toJSON SimpleQueryPrefix     = "PREFIX"+  toJSON SimpleQueryPhrase     = "PHRASE"+  toJSON SimpleQueryPrecedence = "PRECEDENCE"+  toJSON SimpleQueryEscape     = "ESCAPE"+  toJSON SimpleQueryWhitespace = "WHITESPACE"+  toJSON SimpleQueryFuzzy      = "FUZZY"+  toJSON SimpleQueryNear       = "NEAR"+  toJSON SimpleQuerySlop       = "SLOP"++instance FromJSON SimpleQueryFlag where+  parseJSON = withText "SimpleQueryFlag" parse+    where parse "ALL"        = pure SimpleQueryAll+          parse "NONE"       = pure SimpleQueryNone+          parse "AND"        = pure SimpleQueryAnd+          parse "OR"         = pure SimpleQueryOr+          parse "PREFIX"     = pure SimpleQueryPrefix+          parse "PHRASE"     = pure SimpleQueryPhrase+          parse "PRECEDENCE" = pure SimpleQueryPrecedence+          parse "ESCAPE"     = pure SimpleQueryEscape+          parse "WHITESPACE" = pure SimpleQueryWhitespace+          parse "FUZZY"      = pure SimpleQueryFuzzy+          parse "NEAR"       = pure SimpleQueryNear+          parse "SLOP"       = pure SimpleQuerySlop+          parse f            = fail ("Unexpected SimpleQueryFlag: " <> show f)++instance ToJSON RegexpQuery where+  toJSON (RegexpQuery (FieldName rqQueryField)+          (Regexp regexpQueryQuery) rqQueryFlags+          rqQueryBoost) =+   object [ rqQueryField .= omitNulls base ]+   where base = [ "value" .= regexpQueryQuery+                , "flags" .= rqQueryFlags+                , "boost" .= rqQueryBoost ]++instance FromJSON RegexpQuery where+  parseJSON = withObject "RegexpQuery" parse+    where parse = fieldTagged $ \fn o ->+                    RegexpQuery fn+                    <$> o .: "value"+                    <*> o .: "flags"+                    <*> o .:? "boost"++instance ToJSON QueryStringQuery where+  toJSON (QueryStringQuery qsQueryString+          qsDefaultField qsOperator+          qsAnalyzer qsAllowWildcard+          qsLowercaseExpanded  qsEnablePositionIncrements+          qsFuzzyMaxExpansions qsFuzziness+          qsFuzzyPrefixLength qsPhraseSlop+          qsBoost qsAnalyzeWildcard+          qsGeneratePhraseQueries qsMinimumShouldMatch+          qsLenient qsLocale) =+    omitNulls base+    where+      base = [ "query" .= qsQueryString+             , "default_field" .= qsDefaultField+             , "default_operator" .= qsOperator+             , "analyzer" .= qsAnalyzer+             , "allow_leading_wildcard" .= qsAllowWildcard+             , "lowercase_expanded_terms" .= qsLowercaseExpanded+             , "enable_position_increments" .= qsEnablePositionIncrements+             , "fuzzy_max_expansions" .= qsFuzzyMaxExpansions+             , "fuzziness" .= qsFuzziness+             , "fuzzy_prefix_length" .= qsFuzzyPrefixLength+             , "phrase_slop" .= qsPhraseSlop+             , "boost" .= qsBoost+             , "analyze_wildcard" .= qsAnalyzeWildcard+             , "auto_generate_phrase_queries" .= qsGeneratePhraseQueries+             , "minimum_should_match" .= qsMinimumShouldMatch+             , "lenient" .= qsLenient+             , "locale" .= qsLocale ]++instance FromJSON QueryStringQuery where+  parseJSON = withObject "QueryStringQuery" parse+    where parse o = QueryStringQuery+                    <$> o .: "query"+                    <*> o .:? "default_field"+                    <*> o .:? "default_operator"+                    <*> o .:? "analyzer"+                    <*> o .:? "allow_leading_wildcard"+                    <*> o .:? "lowercase_expanded_terms"+                    <*> o .:? "enable_position_increments"+                    <*> o .:? "fuzzy_max_expansions"+                    <*> o .:? "fuzziness"+                    <*> o .:? "fuzzy_prefix_length"+                    <*> o .:? "phrase_slop"+                    <*> o .:? "boost"+                    <*> o .:? "analyze_wildcard"+                    <*> o .:? "auto_generate_phrase_queries"+                    <*> o .:? "minimum_should_match"+                    <*> o .:? "lenient"+                    <*> o .:? "locale"++instance ToJSON RangeQuery where+  toJSON (RangeQuery (FieldName fieldName) range boost) =+    object [ fieldName .= object conjoined ]+    where conjoined = [ "boost" .= boost ] ++ (rangeValueToPair range)++instance FromJSON RangeQuery where+  parseJSON = withObject "RangeQuery" parse+    where parse = fieldTagged $ \fn o ->+                    RangeQuery fn+                    <$> parseJSON (Object o)+                    <*> o .: "boost"++instance FromJSON RangeValue where+  parseJSON = withObject "RangeValue" parse+    where parse o = parseDate o+                <|> parseDouble o+          parseDate o = do lt <- o .:? "lt"+                           lte <- o .:? "lte"+                           gt <- o .:? "gt"+                           gte <- o .:? "gte"+                           case (lt, lte, gt, gte) of+                             (Just a, _, Just b, _) -> return (RangeDateGtLt (GreaterThanD b) (LessThanD a))+                             (Just a, _, _, Just b)-> return (RangeDateGteLt (GreaterThanEqD b) (LessThanD a))+                             (_, Just a, Just b, _)-> return (RangeDateGtLte (GreaterThanD b) (LessThanEqD a))+                             (_, Just a, _, Just b)-> return (RangeDateGteLte (GreaterThanEqD b) (LessThanEqD a))+                             (_, _, Just a, _)-> return (RangeDateGt (GreaterThanD a))+                             (Just a, _, _, _)-> return (RangeDateLt (LessThanD a))+                             (_, _, _, Just a)-> return (RangeDateGte (GreaterThanEqD a))+                             (_, Just a, _, _)-> return (RangeDateLte (LessThanEqD a))+                             (Nothing, Nothing, Nothing, Nothing) -> mzero+          parseDouble o = do lt <- o .:? "lt"+                             lte <- o .:? "lte"+                             gt <- o .:? "gt"+                             gte <- o .:? "gte"+                             case (lt, lte, gt, gte) of+                               (Just a, _, Just b, _) -> return (RangeDoubleGtLt (GreaterThan b) (LessThan a))+                               (Just a, _, _, Just b)-> return (RangeDoubleGteLt (GreaterThanEq b) (LessThan a))+                               (_, Just a, Just b, _)-> return (RangeDoubleGtLte (GreaterThan b) (LessThanEq a))+                               (_, Just a, _, Just b)-> return (RangeDoubleGteLte (GreaterThanEq b) (LessThanEq a))+                               (_, _, Just a, _)-> return (RangeDoubleGt (GreaterThan a))+                               (Just a, _, _, _)-> return (RangeDoubleLt (LessThan a))+                               (_, _, _, Just a)-> return (RangeDoubleGte (GreaterThanEq a))+                               (_, Just a, _, _)-> return (RangeDoubleLte (LessThanEq a))+                               (Nothing, Nothing, Nothing, Nothing) -> mzero++instance ToJSON PrefixQuery where+  toJSON (PrefixQuery (FieldName fieldName) queryValue boost) =+    object [ fieldName .= omitNulls base ]+    where base = [ "value" .= queryValue+                 , "boost" .= boost ]++instance FromJSON PrefixQuery where+  parseJSON = withObject "PrefixQuery" parse+    where parse = fieldTagged $ \fn o ->+                    PrefixQuery fn+                    <$> o .: "value"+                    <*> o .:? "boost"++instance ToJSON NestedQuery where+  toJSON (NestedQuery nqPath nqScoreType nqQuery) =+    object [ "path"       .= nqPath+           , "score_mode" .= nqScoreType+           , "query"      .= nqQuery ]++instance FromJSON NestedQuery where+  parseJSON = withObject "NestedQuery" parse+    where parse o = NestedQuery+                    <$> o .: "path"+                    <*> o .: "score_mode"+                    <*> o .: "query"++instance ToJSON MoreLikeThisFieldQuery where+  toJSON (MoreLikeThisFieldQuery text (FieldName fieldName)+          percent mtf mqt stopwords mindf maxdf+          minwl maxwl boostTerms boost analyzer) =+    object [ fieldName .= omitNulls base ]+    where base = [ "like_text" .= text+                 , "percent_terms_to_match" .= percent+                 , "min_term_freq" .= mtf+                 , "max_query_terms" .= mqt+                 , "stop_words" .= stopwords+                 , "min_doc_freq" .= mindf+                 , "max_doc_freq" .= maxdf+                 , "min_word_length" .= minwl+                 , "max_word_length" .= maxwl+                 , "boost_terms" .= boostTerms+                 , "boost" .= boost+                 , "analyzer" .= analyzer ]++instance FromJSON MoreLikeThisFieldQuery where+  parseJSON = withObject "MoreLikeThisFieldQuery" parse+    where parse = fieldTagged $ \fn o ->+                    MoreLikeThisFieldQuery+                    <$> o .: "like_text"+                    <*> pure fn+                    <*> o .:? "percent_terms_to_match"+                    <*> o .:? "min_term_freq"+                    <*> o .:? "max_query_terms"+                    -- <*> (optionalNE =<< o .:? "stop_words")+                    <*> o .:? "stop_words"+                    <*> o .:? "min_doc_freq"+                    <*> o .:? "max_doc_freq"+                    <*> o .:? "min_word_length"+                    <*> o .:? "max_word_length"+                    <*> o .:? "boost_terms"+                    <*> o .:? "boost"+                    <*> o .:? "analyzer"+          -- optionalNE = maybe (pure Nothing) (fmap Just . parseNEJSON)++instance ToJSON MoreLikeThisQuery where+  toJSON (MoreLikeThisQuery text fields percent+          mtf mqt stopwords mindf maxdf+          minwl maxwl boostTerms boost analyzer) =+    omitNulls base+    where base = [ "like_text" .= text+                 , "fields" .= fields+                 , "percent_terms_to_match" .= percent+                 , "min_term_freq" .= mtf+                 , "max_query_terms" .= mqt+                 , "stop_words" .= stopwords+                 , "min_doc_freq" .= mindf+                 , "max_doc_freq" .= maxdf+                 , "min_word_length" .= minwl+                 , "max_word_length" .= maxwl+                 , "boost_terms" .= boostTerms+                 , "boost" .= boost+                 , "analyzer" .= analyzer ]++instance FromJSON MoreLikeThisQuery where+  parseJSON = withObject "MoreLikeThisQuery" parse+    where parse o = MoreLikeThisQuery+                    <$> o .: "like_text"+                    -- <*> (optionalNE =<< o .:? "fields")+                    <*> o .:? "fields"+                    <*> o .:? "percent_terms_to_match"+                    <*> o .:? "min_term_freq"+                    <*> o .:? "max_query_terms"+                    -- <*> (optionalNE =<< o .:? "stop_words")+                    <*> o .:? "stop_words"+                    <*> o .:? "min_doc_freq"+                    <*> o .:? "max_doc_freq"+                    <*> o .:? "min_word_length"+                    <*> o .:? "max_word_length"+                    <*> o .:? "boost_terms"+                    <*> o .:? "boost"+                    <*> o .:? "analyzer"+          -- optionalNE = maybe (pure Nothing) (fmap Just . parseNEJSON)++instance ToJSON IndicesQuery where+  toJSON (IndicesQuery indices query noMatch) =+    omitNulls [ "indices" .= indices+              , "no_match_query" .= noMatch+              , "query" .= query ]++instance FromJSON IndicesQuery where+  parseJSON = withObject "IndicesQuery" parse+    where parse o = IndicesQuery+                    <$> o .:? "indices" .!= []+                    <*> o .: "query"+                    <*> o .:? "no_match_query"++instance ToJSON HasParentQuery where+  toJSON (HasParentQuery queryType query scoreType) =+    omitNulls [ "parent_type" .= queryType+              , "score_type" .= scoreType+              , "query" .= query ]++instance FromJSON HasParentQuery where+  parseJSON = withObject "HasParentQuery" parse+    where parse o = HasParentQuery+                    <$> o .: "parent_type"+                    <*> o .: "query"+                    <*> o .:? "score_type"++instance ToJSON HasChildQuery where+  toJSON (HasChildQuery queryType query scoreType) =+    omitNulls [ "query" .= query+              , "score_type" .= scoreType+              , "type"  .= queryType ]++instance FromJSON HasChildQuery where+  parseJSON = withObject "HasChildQuery" parse+    where parse o = HasChildQuery+                    <$> o .: "type"+                    <*> o .: "query"+                    <*> o .:? "score_type"++instance ToJSON FuzzyQuery where+  toJSON (FuzzyQuery (FieldName fieldName) queryText+          prefixLength maxEx fuzziness boost) =+    object [ fieldName .= omitNulls base ]+    where base = [ "value"          .= queryText+                 , "fuzziness"      .= fuzziness+                 , "prefix_length"  .= prefixLength+                 , "boost" .= boost+                 , "max_expansions" .= maxEx ]++instance FromJSON FuzzyQuery where+  parseJSON = withObject "FuzzyQuery" parse+    where parse = fieldTagged $ \fn o ->+                    FuzzyQuery fn+                    <$> o .: "value"+                    <*> o .: "prefix_length"+                    <*> o .: "max_expansions"+                    <*> o .: "fuzziness"+                    <*> o .:? "boost"++instance ToJSON FuzzyLikeFieldQuery where+  toJSON (FuzzyLikeFieldQuery (FieldName fieldName)+          fieldText maxTerms ignoreFreq fuzziness prefixLength+          boost analyzer) =+    object [ fieldName .=+             omitNulls [ "like_text"       .= fieldText+                       , "max_query_terms" .= maxTerms+                       , "ignore_tf"       .= ignoreFreq+                       , "fuzziness"       .= fuzziness+                       , "prefix_length"   .= prefixLength+                       , "analyzer" .= analyzer+                       , "boost"           .= boost ]]++instance FromJSON FuzzyLikeFieldQuery where+  parseJSON = withObject "FuzzyLikeFieldQuery" parse+    where parse = fieldTagged $ \fn o ->+                    FuzzyLikeFieldQuery fn+                    <$> o .: "like_text"+                    <*> o .: "max_query_terms"+                    <*> o .: "ignore_tf"+                    <*> o .: "fuzziness"+                    <*> o .: "prefix_length"+                    <*> o .: "boost"+                    <*> o .:? "analyzer"++instance ToJSON FuzzyLikeThisQuery where+  toJSON (FuzzyLikeThisQuery fields text maxTerms+          ignoreFreq fuzziness prefixLength boost analyzer) =+    omitNulls base+    where base = [ "fields"          .= fields+                 , "like_text"       .= text+                 , "max_query_terms" .= maxTerms+                 , "ignore_tf"       .= ignoreFreq+                 , "fuzziness"       .= fuzziness+                 , "prefix_length"   .= prefixLength+                 , "analyzer"        .= analyzer+                 , "boost"           .= boost ]++instance FromJSON FuzzyLikeThisQuery where+  parseJSON = withObject "FuzzyLikeThisQuery" parse+    where parse o = FuzzyLikeThisQuery+                    <$> o .:? "fields" .!= []+                    <*> o .: "like_text"+                    <*> o .: "max_query_terms"+                    <*> o .: "ignore_tf"+                    <*> o .: "fuzziness"+                    <*> o .: "prefix_length"+                    <*> o .: "boost"+                    <*> o .:? "analyzer"++instance ToJSON FilteredQuery where+  toJSON (FilteredQuery query fFilter) =+    object [ "query"  .= query+           , "filter" .= fFilter ]++instance FromJSON FilteredQuery where+  parseJSON = withObject "FilteredQuery" parse+    where parse o = FilteredQuery+                    <$> o .: "query"+                    <*> o .: "filter"++instance ToJSON DisMaxQuery where+  toJSON (DisMaxQuery queries tiebreaker boost) =+    omitNulls base+    where base = [ "queries"     .= queries+                 , "boost"       .= boost+                 , "tie_breaker" .= tiebreaker ]++instance FromJSON DisMaxQuery where+  parseJSON = withObject "DisMaxQuery" parse+    where parse o = DisMaxQuery+                    <$> o .:? "queries" .!= []+                    <*> o .: "tie_breaker"+                    <*> o .:? "boost"++instance ToJSON CommonTermsQuery where+  toJSON (CommonTermsQuery (FieldName fieldName)+          (QueryString query) cf lfo hfo msm+          boost analyzer disableCoord) =+    object [fieldName .= omitNulls base ]+    where base = [ "query"              .= query+                 , "cutoff_frequency"   .= cf+                 , "low_freq_operator"  .= lfo+                 , "minimum_should_match" .= msm+                 , "boost" .= boost+                 , "analyzer" .= analyzer+                 , "disable_coord" .= disableCoord+                 , "high_freq_operator" .= hfo ]++instance FromJSON CommonTermsQuery where+  parseJSON = withObject "CommonTermsQuery" parse+    where parse = fieldTagged $ \fn o ->+                    CommonTermsQuery fn+                    <$> o .: "query"+                    <*> o .: "cutoff_frequency"+                    <*> o .: "low_freq_operator"+                    <*> o .: "high_freq_operator"+                    <*> o .:? "minimum_should_match"+                    <*> o .:? "boost"+                    <*> o .:? "analyzer"+                    <*> o .:? "disable_coord"++instance ToJSON CommonMinimumMatch where+  toJSON (CommonMinimumMatch mm) = toJSON mm+  toJSON (CommonMinimumMatchHighLow (MinimumMatchHighLow lowF highF)) =+    object [ "low_freq"  .= lowF+           , "high_freq" .= highF ]++instance FromJSON CommonMinimumMatch where+  parseJSON v = parseMinimum v+            <|> parseMinimumHighLow v+    where parseMinimum = fmap CommonMinimumMatch . parseJSON+          parseMinimumHighLow = fmap CommonMinimumMatchHighLow . withObject "CommonMinimumMatchHighLow" (\o ->+                                  MinimumMatchHighLow+                                  <$> o .: "low_freq"+                                  <*> o .: "high_freq")+++instance ToJSON BoostingQuery where+  toJSON (BoostingQuery bqPositiveQuery bqNegativeQuery bqNegativeBoost) =+    object [ "positive"       .= bqPositiveQuery+           , "negative"       .= bqNegativeQuery+           , "negative_boost" .= bqNegativeBoost ]++instance FromJSON BoostingQuery where+  parseJSON = withObject "BoostingQuery" parse+    where parse o = BoostingQuery+                    <$> o .: "positive"+                    <*> o .: "negative"+                    <*> o .: "negative_boost"++instance ToJSON BoolQuery where+  toJSON (BoolQuery mustM notM shouldM bqMin boost disableCoord) =+    omitNulls base+    where base = [ "must" .= mustM+                 , "must_not" .= notM+                 , "should" .= shouldM+                 , "minimum_should_match" .= bqMin+                 , "boost" .= boost+                 , "disable_coord" .= disableCoord ]++instance FromJSON BoolQuery where+  parseJSON = withObject "BoolQuery" parse+    where parse o = BoolQuery+                    <$> o .:? "must" .!= []+                    <*> o .:? "must_not" .!= []+                    <*> o .:? "should" .!= []+                    <*> o .:? "minimum_should_match"+                    <*> o .:? "boost"+                    <*> o .:? "disable_coord"++instance ToJSON MatchQuery where+  toJSON (MatchQuery (FieldName fieldName)+          (QueryString mqQueryString) booleanOperator+          zeroTermsQuery cutoffFrequency matchQueryType+          analyzer maxExpansions lenient boost) =+    object [ fieldName .= omitNulls base ]+    where base = [ "query" .= mqQueryString+                 , "operator" .= booleanOperator+                 , "zero_terms_query" .= zeroTermsQuery+                 , "cutoff_frequency" .= cutoffFrequency+                 , "type" .= matchQueryType+                 , "analyzer" .= analyzer+                 , "max_expansions" .= maxExpansions+                 , "lenient" .= lenient+                 , "boost" .= boost ]++instance FromJSON MatchQuery where+  parseJSON = withObject "MatchQuery" parse+    where parse = fieldTagged $ \fn o ->+                    MatchQuery fn+                    <$> o .:  "query"+                    <*> o .:  "operator"+                    <*> o .:  "zero_terms_query"+                    <*> o .:? "cutoff_frequency"+                    <*> o .:? "type"+                    <*> o .:? "analyzer"+                    <*> o .:? "max_expansions"+                    <*> o .:? "lenient"+                    <*> o .:? "boost"++instance ToJSON MultiMatchQuery where+  toJSON (MultiMatchQuery fields (QueryString query) boolOp+          ztQ tb mmqt cf analyzer maxEx lenient) =+    object ["multi_match" .= omitNulls base]+    where base = [ "fields" .= fmap toJSON fields+                 , "query" .= query+                 , "operator" .= boolOp+                 , "zero_terms_query" .= ztQ+                 , "tie_breaker" .= tb+                 , "type" .= mmqt+                 , "cutoff_frequency" .= cf+                 , "analyzer" .= analyzer+                 , "max_expansions" .= maxEx+                 , "lenient" .= lenient ]++instance FromJSON MultiMatchQuery where+  parseJSON = withObject "MultiMatchQuery" parse+    where parse raw = do o <- raw .: "multi_match"+                         MultiMatchQuery+                           <$> o .:? "fields" .!= []+                           <*> o .: "query"+                           <*> o .: "operator"+                           <*> o .: "zero_terms_query"+                           <*> o .:? "tie_breaker"+                           <*> o .:? "type"+                           <*> o .:? "cutoff_frequency"+                           <*> o .:? "analyzer"+                           <*> o .:? "max_expansions"+                           <*> o .:? "lenient"++instance ToJSON MultiMatchQueryType where+  toJSON MultiMatchBestFields   = "best_fields"+  toJSON MultiMatchMostFields   = "most_fields"+  toJSON MultiMatchCrossFields  = "cross_fields"+  toJSON MultiMatchPhrase       = "phrase"+  toJSON MultiMatchPhrasePrefix = "phrase_prefix"++instance FromJSON MultiMatchQueryType where+  parseJSON = withText "MultiMatchPhrasePrefix" parse+    where parse "best_fields"   = pure MultiMatchBestFields+          parse "most_fields"   = pure MultiMatchMostFields+          parse "cross_fields"  = pure MultiMatchCrossFields+          parse "phrase"        = pure MultiMatchPhrase+          parse "phrase_prefix" = pure MultiMatchPhrasePrefix+          parse t = fail ("Unexpected MultiMatchPhrasePrefix: " <> show t)++instance ToJSON BooleanOperator where+  toJSON And = String "and"+  toJSON Or  = String "or"++instance FromJSON BooleanOperator where+  parseJSON = withText "BooleanOperator" parse+    where parse "and" = pure And+          parse "or"  = pure Or+          parse o     = fail ("Unexpected BooleanOperator: " <> show o)++instance ToJSON ZeroTermsQuery where+  toJSON ZeroTermsNone = String "none"+  toJSON ZeroTermsAll  = String "all"++instance FromJSON ZeroTermsQuery where+  parseJSON = withText "ZeroTermsQuery" parse+    where parse "none" = pure ZeroTermsNone+          parse "all"  = pure ZeroTermsAll+          parse q      = fail ("Unexpected ZeroTermsQuery: " <> show q)++instance ToJSON MatchQueryType where+  toJSON MatchPhrase       = "phrase"+  toJSON MatchPhrasePrefix = "phrase_prefix"++instance FromJSON MatchQueryType where+  parseJSON = withText "MatchQueryType" parse+    where parse "phrase"        = pure MatchPhrase+          parse "phrase_prefix" = pure MatchPhrasePrefix+          parse t               = fail ("Unexpected MatchQueryType: " <> show t)++instance FromJSON Status where+  parseJSON (Object v) = Status <$>+                         v .:? "ok" <*>+                         (v .:? "status" .!= 200) <*>+                         v .: "name" <*>+                         v .: "version" <*>+                         v .: "tagline"+  parseJSON _          = empty+++instance ToJSON IndexSettings where+  toJSON (IndexSettings s r) = object ["settings" .=+                                 object ["index" .=+                                   object ["number_of_shards" .= s, "number_of_replicas" .= r]+                                 ]+                               ]++instance FromJSON IndexSettings where+  parseJSON = withObject "IndexSettings" parse+    where parse o = do s <- o .: "settings"+                       i <- s .: "index"+                       IndexSettings <$> i .: "number_of_shards"+                                     <*> i .: "number_of_replicas"++instance ToJSON UpdatableIndexSetting where+  toJSON (NumberOfReplicas x) = oPath ("index" :| ["number_of_replicas"]) x+  toJSON (AutoExpandReplicas x) = oPath ("index" :| ["auto_expand_replicas"]) x+  toJSON (RefreshInterval x) = oPath ("index" :| ["refresh_interval"]) (NominalDiffTimeJSON x)+  toJSON (IndexConcurrency x) = oPath ("index" :| ["concurrency"]) x+  toJSON (FailOnMergeFailure x) = oPath ("index" :| ["fail_on_merge_failure"]) x+  toJSON (TranslogFlushThresholdOps x) = oPath ("index" :| ["translog", "flush_threshold_ops"]) x+  toJSON (TranslogFlushThresholdSize x) = oPath ("index" :| ["translog", "flush_threshold_size"]) x+  toJSON (TranslogFlushThresholdPeriod x) = oPath ("index" :| ["translog", "flush_threshold_period"]) (NominalDiffTimeJSON x)+  toJSON (TranslogDisableFlush x) = oPath ("index" :| ["translog", "disable_flush"]) x+  toJSON (CacheFilterMaxSize x) = oPath ("index" :| ["cache", "filter", "max_size"]) x+  toJSON (CacheFilterExpire x) = oPath ("index" :| ["cache", "filter", "expire"]) (NominalDiffTimeJSON <$> x)+  toJSON (GatewaySnapshotInterval x) = oPath ("index" :| ["gateway", "snapshot_interval"]) (NominalDiffTimeJSON x)+  toJSON (RoutingAllocationInclude fs) = oPath ("index" :| ["routing", "allocation", "include"]) (attrFilterJSON fs)+  toJSON (RoutingAllocationExclude fs) = oPath ("index" :| ["routing", "allocation", "exclude"]) (attrFilterJSON fs)+  toJSON (RoutingAllocationRequire fs) = oPath ("index" :| ["routing", "allocation", "require"]) (attrFilterJSON fs)+  toJSON (RoutingAllocationEnable x) = oPath ("index" :| ["routing", "allocation", "enable"]) x+  toJSON (RoutingAllocationShardsPerNode x) = oPath ("index" :| ["routing", "allocation", "total_shards_per_node"]) x+  toJSON (RecoveryInitialShards x) = oPath ("index" :| ["recovery", "initial_shards"]) x+  toJSON (GCDeletes x) = oPath ("index" :| ["gc_deletes"]) (NominalDiffTimeJSON x)+  toJSON (TTLDisablePurge x) = oPath ("index" :| ["ttl", "disable_purge"]) x+  toJSON (TranslogFSType x) = oPath ("index" :| ["translog", "fs", "type"]) x+  toJSON (IndexCompoundFormat x) = oPath ("index" :| ["compound_format"]) x+  toJSON (IndexCompoundOnFlush x) = oPath ("index" :| ["compound_on_flush"]) x+  toJSON (WarmerEnabled x) = oPath ("index" :| ["warmer", "enabled"]) x+  toJSON (BlocksReadOnly x) = oPath ("blocks" :| ["read_only"]) x+  toJSON (BlocksRead x) = oPath ("blocks" :| ["read"]) x+  toJSON (BlocksWrite x) = oPath ("blocks" :| ["write"]) x+  toJSON (BlocksMetaData x) = oPath ("blocks" :| ["metadata"]) x++instance FromJSON UpdatableIndexSetting where+  parseJSON = withObject "UpdatableIndexSetting" parse+    where parse o = numberOfReplicas `taggedAt` ["index", "number_of_replicas"]+                <|> autoExpandReplicas `taggedAt` ["index", "auto_expand_replicas"]+                <|> refreshInterval `taggedAt` ["index", "refresh_interval"]+                <|> indexConcurrency `taggedAt` ["index", "concurrency"]+                <|> failOnMergeFailure `taggedAt` ["index", "fail_on_merge_failure"]+                <|> translogFlushThresholdOps `taggedAt` ["index", "translog", "flush_threshold_ops"]+                <|> translogFlushThresholdSize `taggedAt` ["index", "translog", "flush_threshold_size"]+                <|> translogFlushThresholdPeriod `taggedAt` ["index", "translog", "flush_threshold_period"]+                <|> translogDisableFlush `taggedAt` ["index", "translog", "disable_flush"]+                <|> cacheFilterMaxSize `taggedAt` ["index", "cache", "filter", "max_size"]+                <|> cacheFilterExpire `taggedAt` ["index", "cache", "filter", "expire"]+                <|> gatewaySnapshotInterval `taggedAt` ["index", "gateway", "snapshot_interval"]+                <|> routingAllocationInclude `taggedAt` ["index", "routing", "allocation", "include"]+                <|> routingAllocationExclude `taggedAt` ["index", "routing", "allocation", "exclude"]+                <|> routingAllocationRequire `taggedAt` ["index", "routing", "allocation", "require"]+                <|> routingAllocationEnable `taggedAt` ["index", "routing", "allocation", "enable"]+                <|> routingAllocationShardsPerNode `taggedAt` ["index", "routing", "allocation", "total_shards_per_node"]+                <|> recoveryInitialShards `taggedAt` ["index", "recovery", "initial_shards"]+                <|> gcDeletes `taggedAt` ["index", "gc_deletes"]+                <|> ttlDisablePurge `taggedAt` ["index", "ttl", "disable_purge"]+                <|> translogFSType `taggedAt` ["index", "translog", "fs", "type"]+                <|> compoundFormat `taggedAt` ["index", "compound_format"]+                <|> compoundOnFlush `taggedAt` ["index", "compound_on_flush"]+                <|> warmerEnabled `taggedAt` ["index", "warmer", "enabled"]+                <|> blocksReadOnly `taggedAt` ["blocks", "read_only"]+                <|> blocksRead `taggedAt` ["blocks", "read"]+                <|> blocksWrite `taggedAt` ["blocks", "write"]+                <|> blocksMetaData `taggedAt` ["blocks", "metadata"]+            where taggedAt f ks = taggedAt' f (Object o) ks+          taggedAt' f v [] = f =<< (parseJSON v <|> (parseJSON (unStringlyTypeJSON v)))+          taggedAt' f v (k:ks) = withObject "Object" (\o -> do v' <- o .: k+                                                               taggedAt' f v' ks) v+          numberOfReplicas               = pure . NumberOfReplicas+          autoExpandReplicas             = pure . AutoExpandReplicas+          refreshInterval                = pure . RefreshInterval . ndtJSON+          indexConcurrency               = pure . IndexConcurrency+          failOnMergeFailure             = pure . FailOnMergeFailure+          translogFlushThresholdOps      = pure . TranslogFlushThresholdOps+          translogFlushThresholdSize     = pure . TranslogFlushThresholdSize+          translogFlushThresholdPeriod   = pure . TranslogFlushThresholdPeriod . ndtJSON+          translogDisableFlush           = pure . TranslogDisableFlush+          cacheFilterMaxSize             = pure . CacheFilterMaxSize+          cacheFilterExpire              = pure . CacheFilterExpire . fmap ndtJSON+          gatewaySnapshotInterval        = pure . GatewaySnapshotInterval . ndtJSON+          routingAllocationInclude       = fmap RoutingAllocationInclude . parseAttrFilter+          routingAllocationExclude       = fmap RoutingAllocationExclude . parseAttrFilter+          routingAllocationRequire       = fmap RoutingAllocationRequire . parseAttrFilter+          routingAllocationEnable        = pure . RoutingAllocationEnable+          routingAllocationShardsPerNode = pure . RoutingAllocationShardsPerNode+          recoveryInitialShards          = pure . RecoveryInitialShards+          gcDeletes                      = pure . GCDeletes . ndtJSON+          ttlDisablePurge                = pure . TTLDisablePurge+          translogFSType                 = pure . TranslogFSType+          compoundFormat                 = pure . IndexCompoundFormat+          compoundOnFlush                = pure . IndexCompoundOnFlush+          warmerEnabled                  = pure . WarmerEnabled+          blocksReadOnly                 = pure . BlocksReadOnly+          blocksRead                     = pure . BlocksRead+          blocksWrite                    = pure . BlocksWrite+          blocksMetaData                 = pure . BlocksMetaData++instance FromJSON IndexSettingsSummary where+  parseJSON = withObject "IndexSettingsSummary" parse+    where parse o = case HM.toList o of+                      [(ixn, v@(Object o'))] -> IndexSettingsSummary (IndexName ixn)+                                                <$> parseJSON v+                                                <*> (fmap (filter (not . redundant)) . parseSettings =<< o' .: "settings")+                      _ -> fail "Expected single-key object with index name"+          redundant (NumberOfReplicas _) = True+          redundant _                    = False++-- | For some reason in several settings APIs, all leaf values get returned+-- as strings. This function attepmts to recover from this for all+-- non-recursive JSON types. If nothing can be done, the value is left alone.+unStringlyTypeJSON :: Value -> Value+unStringlyTypeJSON (String "true") = Bool True+unStringlyTypeJSON (String "false") = Bool False+unStringlyTypeJSON (String "null") = Null+unStringlyTypeJSON v@(String t) = case readMay (T.unpack t) of+                                  Just n  -> Number n+                                  Nothing -> v+unStringlyTypeJSON v = v+++parseSettings :: Object -> Parser [UpdatableIndexSetting]+parseSettings o = do+  o' <- o .: "index"+  -- slice the index object into singleton hashmaps and try to parse each+  parses <- forM (HM.toList o') $ \(k, v) -> do+    -- blocks are now nested into the "index" key, which is not how they're serialized+    let atRoot = Object (HM.singleton k v)+    let atIndex = Object (HM.singleton "index" atRoot)+    optional (parseJSON atRoot <|> parseJSON atIndex)+  return (catMaybes parses)++oPath :: ToJSON a => NonEmpty Text -> a -> Value+oPath (k :| []) v   = object [k .= v]+oPath (k:| (h:t)) v = object [k .= oPath (h :| t) v]++attrFilterJSON :: NonEmpty NodeAttrFilter -> Value+attrFilterJSON fs = object [ n .= T.intercalate "," (toList vs)+                           | NodeAttrFilter (NodeAttrName n) vs <- toList fs]++parseAttrFilter :: Value -> Parser (NonEmpty NodeAttrFilter)+parseAttrFilter = withObject "NonEmpty NodeAttrFilter" parse+  where parse o = case HM.toList o of+                    []   -> fail "Expected non-empty list of NodeAttrFilters"+                    x:xs -> DT.mapM (uncurry parse') (x :| xs)+        parse' n = withText "Text" $ \t ->+          case T.splitOn "," t of+            fv:fvs -> return (NodeAttrFilter (NodeAttrName n) (fv :| fvs))+            []     -> fail "Expected non-empty list of filter values"++instance ToJSON ReplicaBounds where+  toJSON (ReplicasBounded a b)    = String (showText a <> "-" <> showText b)+  toJSON (ReplicasLowerBounded a) = String (showText a <> "-all")+  toJSON ReplicasUnbounded        = Bool False++instance FromJSON ReplicaBounds where+  parseJSON v = withText "ReplicaBounds" parseText v+            <|> withBool "ReplicaBounds" parseBool v+    where parseText t = case T.splitOn "-" t of+                          [a, "all"] -> ReplicasLowerBounded <$> parseReadText a+                          [a, b] -> ReplicasBounded <$> parseReadText a+                                                    <*> parseReadText b+                          _ -> fail ("Could not parse ReplicaBounds: " <> show t)+          parseBool False = pure ReplicasUnbounded+          parseBool _ = fail "ReplicasUnbounded cannot be represented with True"++instance ToJSON AllocationPolicy where+  toJSON AllocAll          = String "all"+  toJSON AllocPrimaries    = String "primaries"+  toJSON AllocNewPrimaries = String "new_primaries"+  toJSON AllocNone         = String "none"++instance FromJSON AllocationPolicy where+  parseJSON = withText "AllocationPolicy" parse+    where parse "all" = pure AllocAll+          parse "primaries" = pure AllocPrimaries+          parse "new_primaries" = pure AllocNewPrimaries+          parse "none" = pure AllocNone+          parse t = fail ("Invlaid AllocationPolicy: " <> show t)++instance ToJSON InitialShardCount where+  toJSON QuorumShards       = String "quorum"+  toJSON QuorumMinus1Shards = String "quorum-1"+  toJSON FullShards         = String "full"+  toJSON FullMinus1Shards   = String "full-1"+  toJSON (ExplicitShards x) = toJSON x++instance FromJSON InitialShardCount where+  parseJSON v = withText "InitialShardCount" parseText v+            <|> ExplicitShards <$> parseJSON v+    where parseText "quorum"   = pure QuorumShards+          parseText "quorum-1" = pure QuorumMinus1Shards+          parseText "full"     = pure FullShards+          parseText "full-1"   = pure FullMinus1Shards+          parseText _          = mzero++instance ToJSON FSType where+  toJSON FSSimple   = "simple"+  toJSON FSBuffered = "buffered"++instance FromJSON FSType where+  parseJSON = withText "FSType" parse+    where parse "simple"   = pure FSSimple+          parse "buffered" = pure FSBuffered+          parse t          = fail ("Invalid FSType: " <> show t)++instance ToJSON CompoundFormat where+  toJSON (CompoundFileFormat x)       = Bool x+  toJSON (MergeSegmentVsTotalIndex x) = toJSON x++instance FromJSON CompoundFormat where+  parseJSON v = CompoundFileFormat <$> parseJSON v+            <|> MergeSegmentVsTotalIndex <$> parseJSON v++instance ToJSON NominalDiffTimeJSON where+  toJSON (NominalDiffTimeJSON t) = String (showText (round t :: Integer) <> "s")++instance FromJSON NominalDiffTimeJSON where+  parseJSON = withText "NominalDiffTime" parse+    where parse t = case T.takeEnd 1 t of+                      "s" -> NominalDiffTimeJSON . fromInteger <$> parseReadText (T.dropEnd 1 t)+                      _ -> fail "Invalid or missing NominalDiffTime unit (expected s)"++instance ToJSON IndexTemplate where+  toJSON (IndexTemplate p s m) = merge+    (object [ "template" .= p+            , "mappings" .= foldl' merge (object []) m+            ])+    (toJSON s)+   where+     merge (Object o1) (Object o2) = toJSON $ HM.union o1 o2+     merge o           Null        = o+     merge _           _           = undefined++instance (FromJSON a) => FromJSON (EsResult a) where+  parseJSON jsonVal@(Object v) = do+    found <- v .:? "found" .!= False+    fr <- if found+             then parseJSON jsonVal+             else return Nothing+    EsResult <$> v .:  "_index"   <*>+                 v .:  "_type"    <*>+                 v .:  "_id"      <*>+                 pure fr+  parseJSON _          = empty++instance (FromJSON a) => FromJSON (EsResultFound a) where+  parseJSON (Object v) = EsResultFound <$>+                         v .: "_version" <*>+                         v .: "_source"+  parseJSON _          = empty++instance FromJSON EsError where+  parseJSON (Object v) = EsError <$>+                         v .: "status" <*>+                         (v .: "error" <|> (v .: "error" >>= (.: "reason")))+  parseJSON _ = empty++instance FromJSON IndexAliasesSummary where+  parseJSON = withObject "IndexAliasesSummary" parse+    where parse o = IndexAliasesSummary . mconcat <$> mapM (uncurry go) (HM.toList o)+          go ixn = withObject "index aliases" $ \ia -> do+                     aliases <- ia .:? "aliases" .!= mempty+                     forM (HM.toList aliases) $ \(aName, v) -> do+                       let indexAlias = IndexAlias (IndexName ixn) (IndexAliasName (IndexName aName))+                       IndexAliasSummary indexAlias <$> parseJSON v+++instance ToJSON IndexAliasAction where+  toJSON (AddAlias ia opts) = object ["add" .= (iaObj <> optsObj)]+    where Object iaObj = toJSON ia+          Object optsObj = toJSON opts+  toJSON (RemoveAlias ia) = object ["remove" .= iaObj]+    where Object iaObj = toJSON ia++instance ToJSON IndexAlias where+  toJSON IndexAlias {..} = object ["index" .= srcIndex+                                  , "alias" .= indexAlias+                                  ]++instance ToJSON IndexAliasCreate where+  toJSON IndexAliasCreate {..} = Object (filterObj <> routingObj)+    where filterObj = maybe mempty (HM.singleton "filter" . toJSON) aliasCreateFilter+          Object routingObj = maybe (Object mempty) toJSON aliasCreateRouting++instance ToJSON AliasRouting where+  toJSON (AllAliasRouting v) = object ["routing" .= v]+  toJSON (GranularAliasRouting srch idx) = object (catMaybes prs)+    where prs = [("search_routing" .=) <$> srch+                ,("index_routing" .=) <$> idx]++instance FromJSON AliasRouting where+  parseJSON = withObject "AliasRouting" parse+    where parse o = parseAll o <|> parseGranular o+          parseAll o = AllAliasRouting <$> o .: "routing"+          parseGranular o = do+            sr <- o .:? "search_routing"+            ir <- o .:? "index_routing"+            if isNothing sr && isNothing ir+               then fail "Both search_routing and index_routing can't be blank"+               else return (GranularAliasRouting sr ir)++instance FromJSON IndexAliasCreate where+  parseJSON v = withObject "IndexAliasCreate" parse v+    where parse o = IndexAliasCreate <$> optional (parseJSON v)+                                     <*> o .:? "filter"++instance ToJSON SearchAliasRouting where+  toJSON (SearchAliasRouting rvs) = toJSON (T.intercalate "," (routingValue <$> toList rvs))++instance FromJSON SearchAliasRouting where+  parseJSON = withText "SearchAliasRouting" parse+    where parse t = SearchAliasRouting <$> parseNEJSON (String <$> T.splitOn "," t)++instance ToJSON Search where+  toJSON (Search query sFilter sort searchAggs highlight sTrackSortScores sFrom sSize _ sFields sSource) =+    omitNulls [ "query"        .= query+              , "filter"       .= sFilter+              , "sort"         .= sort+              , "aggregations" .= searchAggs+              , "highlight"    .= highlight+              , "from"         .= sFrom+              , "size"         .= sSize+              , "track_scores" .= sTrackSortScores+              , "fields"       .= sFields+              , "_source"      .= sSource]+++instance ToJSON Source where+    toJSON NoSource                         = toJSON False+    toJSON (SourcePatterns patterns)        = toJSON patterns+    toJSON (SourceIncludeExclude incl excl) = object [ "include" .= incl, "exclude" .= excl ]++instance ToJSON PatternOrPatterns where+  toJSON (PopPattern pattern)   = toJSON pattern+  toJSON (PopPatterns patterns) = toJSON patterns++instance ToJSON Include where+  toJSON (Include patterns) = toJSON patterns++instance ToJSON Exclude where+  toJSON (Exclude patterns) = toJSON patterns++instance ToJSON Pattern where+  toJSON (Pattern pattern) = toJSON pattern+++instance ToJSON FieldHighlight where+    toJSON (FieldHighlight (FieldName fName) (Just fSettings)) =+        object [ fName .= fSettings ]+    toJSON (FieldHighlight (FieldName fName) Nothing) =+        object [ fName .= emptyObject ]++instance ToJSON Highlights where+    toJSON (Highlights global fields) =+        omitNulls (("fields" .= fields)+                  : highlightSettingsPairs global)++instance ToJSON HighlightSettings where+    toJSON hs = omitNulls (highlightSettingsPairs (Just hs))++highlightSettingsPairs :: Maybe HighlightSettings -> [Pair]+highlightSettingsPairs Nothing = []+highlightSettingsPairs (Just (Plain plh)) = plainHighPairs (Just plh)+highlightSettingsPairs (Just (Postings ph)) = postHighPairs (Just ph)+highlightSettingsPairs (Just (FastVector fvh)) = fastVectorHighPairs (Just fvh)+++plainHighPairs :: Maybe PlainHighlight -> [Pair]+plainHighPairs Nothing = []+plainHighPairs (Just (PlainHighlight plCom plNonPost)) =+    [ "type" .= String "plain"]+    ++ commonHighlightPairs plCom+    ++ nonPostingsToPairs plNonPost++postHighPairs :: Maybe PostingsHighlight -> [Pair]+postHighPairs Nothing = []+postHighPairs (Just (PostingsHighlight pCom)) =+    ("type" .= String "postings")+    : commonHighlightPairs pCom++fastVectorHighPairs :: Maybe FastVectorHighlight -> [Pair]+fastVectorHighPairs Nothing = []+fastVectorHighPairs (Just+                     (FastVectorHighlight fvCom fvNonPostSettings fvBoundChars+                                          fvBoundMaxScan fvFragOff fvMatchedFields+                                          fvPhraseLim)) =+                        [ "type" .= String "fvh"+                        , "boundary_chars" .= fvBoundChars+                        , "boundary_max_scan" .= fvBoundMaxScan+                        , "fragment_offset" .= fvFragOff+                        , "matched_fields" .= fvMatchedFields+                        , "phraseLimit" .= fvPhraseLim]+                        ++ commonHighlightPairs fvCom+                        ++ nonPostingsToPairs fvNonPostSettings++deleteSeveral :: (Eq k, Hashable k) => [k] -> HM.HashMap k v -> HM.HashMap k v+deleteSeveral ks hm = foldr HM.delete hm ks++commonHighlightPairs :: Maybe CommonHighlight -> [Pair]+commonHighlightPairs Nothing = []+commonHighlightPairs (Just (CommonHighlight chScore chForceSource chTag chEncoder+                                      chNoMatchSize chHighlightQuery+                                      chRequireFieldMatch)) =+    [ "order" .= chScore+    , "force_source" .= chForceSource+    , "encoder" .= chEncoder+    , "no_match_size" .= chNoMatchSize+    , "highlight_query" .= chHighlightQuery+    , "require_fieldMatch" .= chRequireFieldMatch]+    ++ highlightTagToPairs chTag+++nonPostingsToPairs :: Maybe NonPostings -> [Pair]+nonPostingsToPairs Nothing = []+nonPostingsToPairs (Just (NonPostings npFragSize npNumOfFrags)) =+    [ "fragment_size" .= npFragSize+    , "number_of_fragments" .= npNumOfFrags]++parseNEJSON :: (FromJSON a) => [Value] -> Parser (NonEmpty a)+parseNEJSON []     = fail "Expected non-empty list"+parseNEJSON (x:xs) = DT.mapM parseJSON (x :| xs)+++instance ToJSON HighlightEncoder where+    toJSON DefaultEncoder = String "default"+    toJSON HTMLEncoder    = String "html"++highlightTagToPairs :: Maybe HighlightTag -> [Pair]+highlightTagToPairs (Just (TagSchema _))            = [ "scheme"    .=  String "default"]+highlightTagToPairs (Just (CustomTags (pre, post))) = [ "pre_tags"  .= pre+                                                      , "post_tags" .= post]+highlightTagToPairs Nothing = []++instance ToJSON SortSpec where+  toJSON (DefaultSortSpec+          (DefaultSort (FieldName dsSortFieldName) dsSortOrder dsIgnoreUnmapped+           dsSortMode dsMissingSort dsNestedFilter)) =+    object [dsSortFieldName .= omitNulls base] where+      base = [ "order" .= dsSortOrder+             , "ignore_unmapped" .= dsIgnoreUnmapped+             , "mode" .= dsSortMode+             , "missing" .= dsMissingSort+             , "nested_filter" .= dsNestedFilter ]++  toJSON (GeoDistanceSortSpec gdsSortOrder (GeoPoint (FieldName field) gdsLatLon) units) =+    object [ "unit" .= units+           , field .= gdsLatLon+           , "order" .= gdsSortOrder ]+++instance ToJSON SortOrder where+  toJSON Ascending  = String "asc"+  toJSON Descending = String "desc"+++instance ToJSON SortMode where+  toJSON SortMin = String "min"+  toJSON SortMax = String "max"+  toJSON SortSum = String "sum"+  toJSON SortAvg = String "avg"+++instance ToJSON Missing where+  toJSON LastMissing         = String "_last"+  toJSON FirstMissing        = String "_first"+  toJSON (CustomMissing txt) = String txt+++instance ToJSON ScoreType where+  toJSON ScoreTypeMax  = "max"+  toJSON ScoreTypeAvg  = "avg"+  toJSON ScoreTypeSum  = "sum"+  toJSON ScoreTypeNone = "none"++instance FromJSON ScoreType where+  parseJSON = withText "ScoreType" parse+    where parse "max"  = pure ScoreTypeMax+          parse "avg"  = pure ScoreTypeAvg+          parse "sum"  = pure ScoreTypeSum+          parse "none" = pure ScoreTypeNone+          parse t      = fail ("Unexpected ScoreType: " <> show t)++instance ToJSON Distance where+  toJSON (Distance dCoefficient dUnit) =+    String boltedTogether where+      coefText = showText dCoefficient+      (String unitText) = toJSON dUnit+      boltedTogether = mappend coefText unitText++instance FromJSON Distance where+  parseJSON = withText "Distance" parse+    where parse t = Distance <$> parseCoeff nT+                             <*> parseJSON (String unitT)+            where (nT, unitT) = T.span validForNumber t+                  -- may be a better way to do this+                  validForNumber '-' = True+                  validForNumber '.' = True+                  validForNumber 'e' = True+                  validForNumber c   = isNumber c+                  parseCoeff "" = fail "Empty string cannot be parsed as number"+                  parseCoeff s = return (read (T.unpack s))++instance ToJSON DistanceUnit where+  toJSON Miles         = String "mi"+  toJSON Yards         = String "yd"+  toJSON Feet          = String "ft"+  toJSON Inches        = String "in"+  toJSON Kilometers    = String "km"+  toJSON Meters        = String "m"+  toJSON Centimeters   = String "cm"+  toJSON Millimeters   = String "mm"+  toJSON NauticalMiles = String "nmi"+++instance FromJSON DistanceUnit where+  parseJSON = withText "DistanceUnit" parse+    where parse "mi"  = pure Miles+          parse "yd"  = pure Yards+          parse "ft"  = pure Feet+          parse "in"  = pure Inches+          parse "km"  = pure Kilometers+          parse "m"   = pure Meters+          parse "cm"  = pure Centimeters+          parse "mm"  = pure Millimeters+          parse "nmi" = pure NauticalMiles+          parse u     = fail ("Unrecognized DistanceUnit: " <> show u)++instance ToJSON DistanceType where+  toJSON Arc       = String "arc"+  toJSON SloppyArc = String "sloppy_arc"+  toJSON Plane     = String "plane"++instance FromJSON DistanceType where+  parseJSON = withText "DistanceType" parse+    where parse "arc"        = pure Arc+          parse "sloppy_arc" = pure SloppyArc+          parse "plane"      = pure Plane+          parse t            = fail ("Unrecognized DistanceType: " <> show t)+++instance ToJSON OptimizeBbox where+  toJSON NoOptimizeBbox              = String "none"+  toJSON (OptimizeGeoFilterType gft) = toJSON gft++instance FromJSON OptimizeBbox where+  parseJSON v = withText "NoOptimizeBbox" parseNoOptimize v+            <|> parseOptimize v+    where parseNoOptimize "none" = pure NoOptimizeBbox+          parseNoOptimize _      = mzero+          parseOptimize = fmap OptimizeGeoFilterType . parseJSON++instance ToJSON GeoBoundingBoxConstraint where+  toJSON (GeoBoundingBoxConstraint+          (FieldName gbbcGeoBBField) gbbcConstraintBox cache type') =+    object [gbbcGeoBBField .= gbbcConstraintBox+           , "_cache"  .= cache+           , "type" .= type']++instance FromJSON GeoBoundingBoxConstraint where+  parseJSON = withObject "GeoBoundingBoxConstraint" parse+    where parse o = case HM.toList (deleteSeveral ["type", "_cache"] o) of+                      [(fn, v)] -> GeoBoundingBoxConstraint (FieldName fn)+                                   <$> parseJSON v+                                   <*> o .:? "_cache" .!= defaultCache+                                   <*> o .: "type"+                      _ -> fail "Could not find field name for GeoBoundingBoxConstraint"++instance ToJSON GeoFilterType where+  toJSON GeoFilterMemory  = String "memory"+  toJSON GeoFilterIndexed = String "indexed"++instance FromJSON GeoFilterType where+  parseJSON = withText "GeoFilterType" parse+    where parse "memory"  = pure GeoFilterMemory+          parse "indexed" = pure GeoFilterIndexed+          parse t         = fail ("Unrecognized GeoFilterType: " <> show t)++instance ToJSON GeoBoundingBox where+  toJSON (GeoBoundingBox gbbTopLeft gbbBottomRight) =+    object ["top_left"      .= gbbTopLeft+           , "bottom_right" .= gbbBottomRight]++instance FromJSON GeoBoundingBox where+  parseJSON = withObject "GeoBoundingBox" parse+    where parse o = GeoBoundingBox+                    <$> o .: "top_left"+                    <*> o .: "bottom_right"++instance ToJSON LatLon where+  toJSON (LatLon lLat lLon) =+    object ["lat"  .= lLat+           , "lon" .= lLon]++instance FromJSON LatLon where+  parseJSON = withObject "LatLon" parse+    where parse o = LatLon <$> o .: "lat"+                           <*> o .: "lon"++-- index for smaller ranges, fielddata for longer ranges+instance ToJSON RangeExecution where+  toJSON RangeExecutionIndex     = "index"+  toJSON RangeExecutionFielddata = "fielddata"+++instance FromJSON RangeExecution where+  parseJSON = withText "RangeExecution" parse+    where parse "index"     = pure RangeExecutionIndex+          parse "fielddata" = pure RangeExecutionFielddata+          parse t           = error ("Unrecognized RangeExecution " <> show t)++instance ToJSON RegexpFlags where+  toJSON AllRegexpFlags              = String "ALL"+  toJSON NoRegexpFlags               = String "NONE"+  toJSON (SomeRegexpFlags (h :| fs)) = String $ T.intercalate "|" flagStrs+    where flagStrs             = map flagStr . nub $ h:fs+          flagStr AnyString    = "ANYSTRING"+          flagStr Automaton    = "AUTOMATON"+          flagStr Complement   = "COMPLEMENT"+          flagStr Empty        = "EMPTY"+          flagStr Intersection = "INTERSECTION"+          flagStr Interval     = "INTERVAL"++instance FromJSON RegexpFlags where+  parseJSON = withText "RegexpFlags" parse+    where parse "ALL" = pure AllRegexpFlags+          parse "NONE" = pure NoRegexpFlags+          parse t = SomeRegexpFlags <$> parseNEJSON (String <$> T.splitOn "|" t)++instance FromJSON RegexpFlag where+  parseJSON = withText "RegexpFlag" parse+    where parse "ANYSTRING"    = pure AnyString+          parse "AUTOMATON"    = pure Automaton+          parse "COMPLEMENT"   = pure Complement+          parse "EMPTY"        = pure Empty+          parse "INTERSECTION" = pure Intersection+          parse "INTERVAL"     = pure Interval+          parse f              = fail ("Unknown RegexpFlag: " <> show f)++instance ToJSON Term where+  toJSON (Term field value) = object ["term" .= object+                                      [field .= value]]++instance FromJSON Term where+  parseJSON = withObject "Term" parse+    where parse o = do termObj <- o .: "term"+                       case HM.toList termObj of+                         [(fn, v)] -> Term fn <$> parseJSON v+                         _ -> fail "Expected object with 1 field-named key"++instance ToJSON BoolMatch where+  toJSON (MustMatch    term  cache) = object ["must"     .= term,+                                              "_cache" .= cache]+  toJSON (MustNotMatch term  cache) = object ["must_not" .= term,+                                              "_cache" .= cache]+  toJSON (ShouldMatch  terms cache) = object ["should"   .= fmap toJSON terms,+                                              "_cache" .= cache]++instance FromJSON BoolMatch where+  parseJSON = withObject "BoolMatch" parse+    where parse o = mustMatch `taggedWith` "must"+                <|> mustNotMatch `taggedWith` "must_not"+                <|> shouldMatch `taggedWith` "should"+            where taggedWith parser k = parser =<< o .: k+                  mustMatch t = MustMatch t <$> o .:? "_cache" .!= defaultCache+                  mustNotMatch t = MustNotMatch t <$> o .:? "_cache" .!= defaultCache+                  shouldMatch t = ShouldMatch t <$> o .:? "_cache" .!= defaultCache++instance (FromJSON a) => FromJSON (SearchResult a) where+  parseJSON (Object v) = SearchResult <$>+                         v .:  "took"         <*>+                         v .:  "timed_out"    <*>+                         v .:  "_shards"      <*>+                         v .:  "hits"         <*>+                         v .:? "aggregations" <*>+                         v .:? "_scroll_id"+  parseJSON _          = empty++instance (FromJSON a) => FromJSON (SearchHits a) where+  parseJSON (Object v) = SearchHits <$>+                         v .: "total"     <*>+                         v .: "max_score" <*>+                         v .: "hits"+  parseJSON _          = empty++instance (FromJSON a) => FromJSON (Hit a) where+  parseJSON (Object v) = Hit <$>+                         v .:  "_index"   <*>+                         v .:  "_type"    <*>+                         v .:  "_id"      <*>+                         v .:  "_score"   <*>+                         v .:?  "_source" <*>+                         v .:? "highlight"+  parseJSON _          = empty++instance FromJSON ShardResult where+  parseJSON (Object v) = ShardResult       <$>+                         v .: "total"      <*>+                         v .: "successful" <*>+                         v .: "failed"+  parseJSON _          = empty+++instance FromJSON DocVersion where+  parseJSON v = do+    i <- parseJSON v+    maybe (fail "DocVersion out of range") return $ mkDocVersion i++-- This insanity is because ES *sometimes* returns Replica/Shard counts as strings+instance FromJSON ReplicaCount where+  parseJSON v = parseAsInt v+            <|> parseAsString v+    where parseAsInt = fmap ReplicaCount . parseJSON+          parseAsString = withText "ReplicaCount" (fmap ReplicaCount . parseReadText)++instance FromJSON ShardCount where+  parseJSON v = parseAsInt v+            <|> parseAsString v+    where parseAsInt = fmap ShardCount . parseJSON+          parseAsString = withText "ShardCount" (fmap ShardCount . parseReadText)++instance Bounded DocVersion where+  minBound = DocVersion 1+  maxBound = DocVersion 9200000000000000000 -- 9.2e+18++instance Enum DocVersion where+  succ x+    | x /= maxBound = DocVersion (succ $ docVersionNumber x)+    | otherwise     = succError "DocVersion"+  pred x+    | x /= minBound = DocVersion (pred $ docVersionNumber x)+    | otherwise     = predError "DocVersion"+  toEnum i =+    fromMaybe (error $ show i ++ " out of DocVersion range") $ mkDocVersion i+  fromEnum = docVersionNumber+  enumFrom = boundedEnumFrom+  enumFromThen = boundedEnumFromThen++-- | Username type used for HTTP Basic authentication. See 'basicAuthHook'.+newtype EsUsername = EsUsername { esUsername :: Text } deriving (Read, Show, Eq)++-- | Password type used for HTTP Basic authentication. See 'basicAuthHook'.+newtype EsPassword = EsPassword { esPassword :: Text } deriving (Read, Show, Eq)+++data SnapshotRepoSelection = SnapshotRepoList (NonEmpty SnapshotRepoPattern)+                           | AllSnapshotRepos deriving (Eq, Generic, Show, Typeable)+++-- | 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+data SnapshotRepoPattern = ExactRepo SnapshotRepoName+                         | RepoPattern Text+                         deriving (Eq, Generic, Show, Typeable)++-- | The unique name of a snapshot repository.+newtype SnapshotRepoName = SnapshotRepoName  { snapshotRepoName :: Text }+                         deriving (Eq, Ord, Generic, Show, Typeable, ToJSON, FromJSON)+++-- | 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+data GenericSnapshotRepo = GenericSnapshotRepo {+      gSnapshotRepoName     :: SnapshotRepoName+    , gSnapshotRepoType     :: SnapshotRepoType+    , gSnapshotRepoSettings :: GenericSnapshotRepoSettings+    } deriving (Eq, Generic, Show, Typeable)+++instance SnapshotRepo GenericSnapshotRepo where+  toGSnapshotRepo = id+  fromGSnapshotRepo = Right+++newtype SnapshotRepoType = SnapshotRepoType { snapshotRepoType :: Text }+                         deriving (Eq, Ord, Generic, Show, Typeable, ToJSON, FromJSON)+++-- | Opaque representation of snapshot repo settings. Instances of+-- 'SnapshotRepo' will produce this.+newtype GenericSnapshotRepoSettings = GenericSnapshotRepoSettings { gSnapshotRepoSettingsObject :: Object }+                                    deriving (Eq, Generic, Show, Typeable, ToJSON)+++ -- Regardless of whether you send strongly typed json, my version of+ -- ES sends back stringly typed json in the settings, e.g. booleans+ -- as strings, so we'll try to convert them.+instance FromJSON GenericSnapshotRepoSettings where+  parseJSON = fmap (GenericSnapshotRepoSettings . fmap unStringlyTypeJSON). parseJSON++-- | The result of running 'verifySnapshotRepo'.+newtype SnapshotVerification = SnapshotVerification { snapshotNodeVerifications :: [SnapshotNodeVerification] }+                             deriving (Eq, Generic, Show, Typeable)+++instance FromJSON SnapshotVerification where+  parseJSON = withObject "SnapshotVerification" parse+    where+      parse o = do+        o2 <- o .: "nodes"+        SnapshotVerification <$> mapM (uncurry parse') (HM.toList o2)+      parse' rawFullId = withObject "SnapshotNodeVerification" $ \o ->+        SnapshotNodeVerification (FullNodeId rawFullId) <$> o .: "name"+++-- | A node that has verified a snapshot+data SnapshotNodeVerification = SnapshotNodeVerification {+      snvFullId   :: FullNodeId+    , snvNodeName :: NodeName+    } deriving (Eq, Generic, Show, Typeable)+++-- | Unique, automatically-generated name assigned to nodes that are+-- usually returned in node-oriented APIs.+newtype FullNodeId = FullNodeId { fullNodeId :: Text }+                   deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)+++-- | A human-readable node name that is supplied by the user in the+-- node config or automatically generated by ElasticSearch.+newtype NodeName = NodeName { nodeName :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++newtype ClusterName = ClusterName { clusterName :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++data NodesInfo = NodesInfo {+      nodesInfo        :: [NodeInfo]+    , nodesClusterName :: ClusterName+    } deriving (Eq, Show, Generic, Typeable)++data NodesStats = NodesStats {+      nodesStats            :: [NodeStats]+    , nodesStatsClusterName :: ClusterName+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++data NodeBreakersStats = NodeBreakersStats {+      nodeStatsParentBreaker    :: NodeBreakerStats+    , nodeStatsRequestBreaker   :: NodeBreakerStats+    , nodeStatsFieldDataBreaker :: NodeBreakerStats+    } deriving (Eq, Show, Generic, Typeable)++data NodeBreakerStats = NodeBreakerStats {+      nodeBreakersTripped   :: Int+    , nodeBreakersOverhead  :: Double+    , nodeBreakersEstSize   :: Bytes+    , nodeBreakersLimitSize :: Bytes+    } deriving (Eq, Show, Generic, Typeable)++data NodeHTTPStats = NodeHTTPStats {+      nodeHTTPTotalOpened :: Int+    , nodeHTTPCurrentOpen :: Int+    } deriving (Eq, Show, Generic, Typeable)++data NodeTransportStats = NodeTransportStats {+      nodeTransportTXSize     :: Bytes+    , nodeTransportCount      :: Int+    , nodeTransportRXSize     :: Bytes+    , nodeTransportRXCount    :: Int+    , nodeTransportServerOpen :: Int+    } deriving (Eq, Show, Generic, Typeable)++data NodeFSStats = NodeFSStats {+      nodeFSDataPaths :: [NodeDataPathStats]+    , nodeFSTotal     :: NodeFSTotalStats+    , nodeFSTimestamp :: UTCTime+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++data NodeNetworkStats = NodeNetworkStats {+      nodeNetTCPOutRSTs      :: Int+    , nodeNetTCPInErrs       :: Int+    , nodeNetTCPAttemptFails :: Int+    , nodeNetTCPEstabResets  :: Int+    , nodeNetTCPRetransSegs  :: Int+    , nodeNetTCPOutSegs      :: Int+    , nodeNetTCPInSegs       :: Int+    , nodeNetTCPCurrEstab    :: Int+    , nodeNetTCPPassiveOpens :: Int+    , nodeNetTCPActiveOpens  :: Int+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++data NodeThreadPoolStats = NodeThreadPoolStats {+      nodeThreadPoolCompleted :: Int+    , nodeThreadPoolLargest   :: Int+    , nodeThreadPoolRejected  :: Int+    , nodeThreadPoolActive    :: Int+    , nodeThreadPoolQueue     :: Int+    , nodeThreadPoolThreads   :: Int+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++data JVMBufferPoolStats = JVMBufferPoolStats {+      jvmBufferPoolStatsTotalCapacity :: Bytes+    , jvmBufferPoolStatsUsed          :: Bytes+    , jvmBufferPoolStatsCount         :: Int+    } deriving (Eq, Show, Generic, Typeable)++data JVMGCStats = JVMGCStats {+      jvmGCStatsCollectionTime  :: NominalDiffTime+    , jvmGCStatsCollectionCount :: Int+    } deriving (Eq, Show, Generic, Typeable)++data JVMPoolStats = JVMPoolStats {+      jvmPoolStatsPeakMax  :: Bytes+    , jvmPoolStatsPeakUsed :: Bytes+    , jvmPoolStatsMax      :: Bytes+    , jvmPoolStatsUsed     :: Bytes+    } deriving (Eq, Show, Generic, Typeable)++data NodeProcessStats = NodeProcessStats {+      nodeProcessMemTotalVirtual :: Bytes+    , nodeProcessMemShare        :: Bytes+    , nodeProcessMemResident     :: Bytes+    , nodeProcessCPUTotal        :: NominalDiffTime+    , nodeProcessCPUUser         :: NominalDiffTime+    , nodeProcessCPUSys          :: NominalDiffTime+    , nodeProcessCPUPercent      :: Int+    , nodeProcessOpenFDs         :: Int+    , nodeProcessTimestamp       :: UTCTime+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++data LoadAvgs = LoadAvgs {+     loadAvg1Min  :: Double+   , loadAvg5Min  :: Double+   , loadAvg15Min :: Double+   } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++-- | A quirky address format used throughout ElasticSearch. An example+-- would be inet[/1.1.1.1:9200]. inet may be a placeholder for a+-- <https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN>.+newtype EsAddress = EsAddress { esAddress :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++-- | Typically a 7 character hex string.+newtype BuildHash = BuildHash { buildHash :: Text }+                 deriving (Eq, Ord, Generic, Read, Show, Typeable, FromJSON, ToJSON)++newtype PluginName = PluginName { pluginName :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++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+    -- ^ The members of the settings objects are not consistent,+    -- dependent on plugins, etc.+    } deriving (Eq, Show, Generic, Typeable)++data NodePluginInfo = NodePluginInfo {+      nodePluginSite        :: Bool+    -- ^ Is this a site plugin?+    , nodePluginJVM         :: Bool+    -- ^ Is this plugin running on the JVM+    , nodePluginDescription :: Text+    , nodePluginVersion     :: MaybeNA VersionNumber+    , nodePluginName        :: PluginName+    } deriving (Eq, Show, Generic, Typeable)++data NodeHTTPInfo = NodeHTTPInfo {+      nodeHTTPMaxContentLength :: Bytes+    , nodeHTTPTransportAddress :: BoundTransportAddress+    } deriving (Eq, Show, Generic, Typeable)++data NodeTransportInfo = NodeTransportInfo {+      nodeTransportProfiles :: [BoundTransportAddress]+    , nodeTransportAddress  :: BoundTransportAddress+    } deriving (Eq, Show, Generic, Typeable)++data BoundTransportAddress = BoundTransportAddress {+      publishAddress :: EsAddress+    , boundAddress   :: EsAddress+    } deriving (Eq, Show, Generic, Typeable)++data NodeNetworkInfo = NodeNetworkInfo {+      nodeNetworkPrimaryInterface :: NodeNetworkInterface+    , nodeNetworkRefreshInterval  :: NominalDiffTime+    } deriving (Eq, Show, Generic, Typeable)++newtype MacAddress = MacAddress { macAddress :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++newtype NetworkInterfaceName = NetworkInterfaceName { networkInterfaceName :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++data NodeNetworkInterface = NodeNetworkInterface {+      nodeNetIfaceMacAddress :: MacAddress+    , nodeNetIfaceName       :: NetworkInterfaceName+    , nodeNetIfaceAddress    :: Server+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++data NodeThreadPoolInfo = NodeThreadPoolInfo {+      nodeThreadPoolQueueSize :: ThreadPoolSize+    , nodeThreadPoolKeepalive :: Maybe NominalDiffTime+    , nodeThreadPoolMin       :: Maybe Int+    , nodeThreadPoolMax       :: Maybe Int+    , nodeThreadPoolType      :: ThreadPoolType+    } deriving (Eq, Show, Generic, Typeable)++data ThreadPoolSize = ThreadPoolBounded Int+                    | ThreadPoolUnbounded+                    deriving (Eq, Show, Generic, Typeable)++data ThreadPoolType = ThreadPoolScaling+                    | ThreadPoolFixed+                    | ThreadPoolCached+                    deriving (Eq, Show, Generic, Typeable)++data NodeJVMInfo = NodeJVMInfo {+      nodeJVMInfoMemoryPools             :: [JVMMemoryPool]+    , nodeJVMInfoMemoryPoolsGCCollectors :: [JVMGCCollector]+    , nodeJVMInfoMemoryInfo              :: JVMMemoryInfo+    , nodeJVMInfoStartTime               :: UTCTime+    , nodeJVMInfoVMVendor                :: Text+    , nodeJVMVMVersion                   :: VersionNumber+    -- ^ JVM doesn't seme to follow normal version conventions+    , nodeJVMVMName                      :: Text+    , nodeJVMVersion                     :: VersionNumber+    , nodeJVMPID                         :: PID+    } deriving (Eq, Show, Generic, Typeable)++-- | Handles quirks in the way JVM versions are rendered (1.7.0_101 -> 1.7.0.101)+newtype JVMVersion = JVMVersion { unJVMVersion :: VersionNumber }++data JVMMemoryInfo = JVMMemoryInfo {+      jvmMemoryInfoDirectMax   :: Bytes+    , jvmMemoryInfoNonHeapMax  :: Bytes+    , jvmMemoryInfoNonHeapInit :: Bytes+    , jvmMemoryInfoHeapMax     :: Bytes+    , jvmMemoryInfoHeapInit    :: Bytes+    } deriving (Eq, Show, Generic, Typeable)++newtype JVMMemoryPool = JVMMemoryPool {+      jvmMemoryPool :: Text+    } deriving (Eq, Show, Generic, Typeable, FromJSON)++newtype JVMGCCollector = JVMGCCollector {+      jvmGCCollector :: Text+    } deriving (Eq, Show, Generic, Typeable, FromJSON)++newtype PID = PID {+      pid :: Int+    } deriving (Eq, Show, Generic, Typeable, FromJSON)++data NodeOSInfo = NodeOSInfo {+      nodeOSSwap                :: Bytes+    , nodeOSMem                 :: Bytes+    , nodeOSCPUInfo             :: CPUInfo+    , nodeOSAvailableProcessors :: Int+    , nodeOSRefreshInterval     :: NominalDiffTime+    } deriving (Eq, Show, Generic, Typeable)++data CPUInfo = CPUInfo {+      cpuCacheSize      :: Bytes+    , cpuCoresPerSocket :: Int+    , cpuTotalSockets   :: Int+    , cpuTotalCores     :: Int+    , cpuMHZ            :: Int+    , cpuModel          :: Text+    , cpuVendor         :: Text+    } deriving (Eq, Show, Generic, Typeable)++data NodeProcessInfo = NodeProcessInfo {+      nodeProcessMLockAll           :: Bool+    -- ^ See <https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html>+    , nodeProcessMaxFileDescriptors :: Int+    , nodeProcessId                 :: PID+    , nodeProcessRefreshInterval    :: NominalDiffTime+    } deriving (Eq, Show, Generic, Typeable)++data SnapshotRepoUpdateSettings = SnapshotRepoUpdateSettings {+     repoUpdateVerify :: Bool+     -- ^ After creation/update, synchronously check that nodes can+     -- write to this repo. Defaults to True. You may use False if you+     -- need a faster response and plan on verifying manually later+     -- with 'verifySnapshotRepo'.+    } deriving (Eq, Show, Generic, Typeable)+++-- | Reasonable defaults for repo creation/update+--+-- * repoUpdateVerify True+defaultSnapshotRepoUpdateSettings :: SnapshotRepoUpdateSettings+defaultSnapshotRepoUpdateSettings = SnapshotRepoUpdateSettings True+++-- | A filesystem-based snapshot repo that ships with+-- ElasticSearch. This is an instance of 'SnapshotRepo' so it can be+-- used with 'updateSnapshotRepo'+data FsSnapshotRepo = FsSnapshotRepo {+      fsrName                   :: SnapshotRepoName+    , fsrLocation               :: FilePath+    , fsrCompressMetadata       :: Bool+    , fsrChunkSize              :: Maybe Bytes+    -- ^ Size by which to split large files during snapshotting.+    , fsrMaxRestoreBytesPerSec  :: Maybe Bytes+    -- ^ Throttle node restore rate. If not supplied, defaults to 40mb/sec+    , fsrMaxSnapshotBytesPerSec :: Maybe Bytes+    -- ^ Throttle node snapshot rate. If not supplied, defaults to 40mb/sec+    } deriving (Eq, Generic, Show, Typeable)+++instance SnapshotRepo FsSnapshotRepo where+  toGSnapshotRepo FsSnapshotRepo {..} =+    GenericSnapshotRepo fsrName fsRepoType (GenericSnapshotRepoSettings settings)+    where+      Object settings = object $ [ "location" .= fsrLocation+                                 , "compress" .= fsrCompressMetadata+                                 ] ++ optionalPairs+      optionalPairs = catMaybes [ ("chunk_size" .=) <$> fsrChunkSize+                                , ("max_restore_bytes_per_sec" .=) <$> fsrMaxRestoreBytesPerSec+                                , ("max_snapshot_bytes_per_sec" .=) <$> fsrMaxSnapshotBytesPerSec+                                ]+  fromGSnapshotRepo GenericSnapshotRepo {..}+    | gSnapshotRepoType == fsRepoType = do+      let o = gSnapshotRepoSettingsObject gSnapshotRepoSettings+      parseRepo $ do+        FsSnapshotRepo gSnapshotRepoName <$> o .: "location"+                                         <*> o .:? "compress" .!= False+                                         <*> o .:? "chunk_size"+                                         <*> o .:? "max_restore_bytes_per_sec"+                                         <*> o .:? "max_snapshot_bytes_per_sec"+    | otherwise = Left (RepoTypeMismatch fsRepoType gSnapshotRepoType)+++parseRepo :: Parser a -> Either SnapshotRepoConversionError a+parseRepo parser = case parseEither (const parser) () of+  Left e  -> Left (OtherRepoConversionError (T.pack e))+  Right a -> Right a+++fsRepoType :: SnapshotRepoType+fsRepoType = SnapshotRepoType "fs"++-- | Law: fromGSnapshotRepo (toGSnapshotRepo r) == Right r+class SnapshotRepo r where+  toGSnapshotRepo :: r -> GenericSnapshotRepo+  fromGSnapshotRepo :: GenericSnapshotRepo -> Either SnapshotRepoConversionError r+++data SnapshotRepoConversionError = RepoTypeMismatch SnapshotRepoType SnapshotRepoType+                                 -- ^ Expected type and actual type+                                 | OtherRepoConversionError Text+                                 deriving (Show, Eq, Generic, Typeable)+++instance Exception SnapshotRepoConversionError+++data SnapshotCreateSettings = SnapshotCreateSettings {+      snapWaitForCompletion  :: Bool+      -- ^ Should the API call return immediately after initializing+      -- the snapshot or wait until completed? Note that if this is+      -- enabled it could wait a long time, so you should adjust your+      -- 'ManagerSettings' accordingly to set long timeouts or+      -- explicitly handle timeouts.+    , snapIndices            :: Maybe IndexSelection+    -- ^ Nothing will snapshot all indices. Just [] is permissable and+    -- will essentially be a no-op snapshot.+    , snapIgnoreUnavailable  :: Bool+    -- ^ If set to True, any matched indices that don't exist will be+    -- ignored. Otherwise it will be an error and fail.+    , snapIncludeGlobalState :: Bool+    , snapPartial            :: Bool+    -- ^ If some indices failed to snapshot (e.g. if not all primary+    -- shards are available), should the process proceed?+    } deriving (Eq, Generic, Show, Typeable)+++-- | Reasonable defaults for snapshot creation+--+-- * snapWaitForCompletion False+-- * snapIndices Nothing+-- * snapIgnoreUnavailable False+-- * snapIncludeGlobalState True+-- * snapPartial False+defaultSnapshotCreateSettings :: SnapshotCreateSettings+defaultSnapshotCreateSettings = SnapshotCreateSettings {+      snapWaitForCompletion = False+    , snapIndices = Nothing+    , snapIgnoreUnavailable = False+    , snapIncludeGlobalState = True+    , snapPartial = False+    }+++data SnapshotSelection = SnapshotList (NonEmpty SnapshotPattern)+                       | AllSnapshots deriving (Eq, Generic, Show, Typeable)+++-- | 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 SnapshotPattern = ExactSnap SnapshotName+                     | SnapPattern Text+                     deriving (Eq, Generic, Show, Typeable)+++-- | General information about the state of a snapshot. Has some+-- redundancies with 'SnapshotStatus'+data SnapshotInfo = SnapshotInfo {+      snapInfoShards    :: ShardResult+    , snapInfoFailures  :: [SnapshotShardFailure]+    , snapInfoDuration  :: NominalDiffTime+    , snapInfoEndTime   :: UTCTime+    , snapInfoStartTime :: UTCTime+    , snapInfoState     :: SnapshotState+    , snapInfoIndices   :: [IndexName]+    , snapInfoName      :: SnapshotName+    } deriving (Eq, Generic, Show, Typeable)+++instance FromJSON SnapshotInfo where+  parseJSON = withObject "SnapshotInfo" parse+    where+      parse o = SnapshotInfo <$> o .: "shards"+                             <*> o .: "failures"+                             <*> (unMS <$> o .: "duration_in_millis")+                             <*> (posixMS <$> o .: "end_time_in_millis")+                             <*> (posixMS <$> o .: "start_time_in_millis")+                             <*> o .: "state"+                             <*> o .: "indices"+                             <*> o .: "snapshot"++data SnapshotShardFailure = SnapshotShardFailure {+      snapShardFailureIndex   :: IndexName+    , snapShardFailureNodeId  :: Maybe NodeName -- I'm not 100% sure this isn't actually 'FullNodeId'+    , snapShardFailureReason  :: Text+    , snapShardFailureShardId :: ShardId+    } deriving (Eq, Show, Generic, Typeable)+++instance FromJSON SnapshotShardFailure where+  parseJSON = withObject "SnapshotShardFailure" parse+    where+      parse o = SnapshotShardFailure <$> o .: "index"+                                     <*> o .:? "node_id"+                                     <*> o .: "reason"+                                     <*> o .: "shard_id"+++newtype ShardId = ShardId { shardId :: Int }+                deriving (Eq, Show, Generic, Typeable, FromJSON)++-- | Milliseconds+newtype MS = MS NominalDiffTime+++-- keeps the unexported constructor warnings at bay+unMS :: MS -> NominalDiffTime+unMS (MS t) = t+++instance FromJSON MS where+  parseJSON = withScientific "MS" (return . MS . parse)+    where+      parse n = fromInteger ((truncate n) * 1000)+++data SnapshotState = SnapshotInit+                   | SnapshotStarted+                   | SnapshotSuccess+                   | SnapshotFailed+                   | SnapshotAborted+                   | SnapshotMissing+                   | SnapshotWaiting+                   deriving (Show, Eq, Generic, Typeable)++instance FromJSON SnapshotState where+  parseJSON = withText "SnapshotState" parse+    where+      parse "INIT"    = return SnapshotInit+      parse "STARTED" = return SnapshotStarted+      parse "SUCCESS" = return SnapshotSuccess+      parse "FAILED"  = return SnapshotFailed+      parse "ABORTED" = return SnapshotAborted+      parse "MISSING" = return SnapshotMissing+      parse "WAITING" = return SnapshotWaiting+      parse t         = fail ("Invalid snapshot state " <> T.unpack t)+++newtype SnapshotName = SnapshotName { snapshotName :: Text }+                     deriving (Show, Eq, Ord, Generic, Typeable, ToJSON, FromJSON)+++data SnapshotRestoreSettings = SnapshotRestoreSettings {+      snapRestoreWaitForCompletion      :: Bool+      -- ^ Should the API call return immediately after initializing+      -- the restore or wait until completed? Note that if this is+      -- enabled, it could wait a long time, so you should adjust your+      -- 'ManagerSettings' accordingly to set long timeouts or+      -- explicitly handle timeouts.+    , snapRestoreIndices                :: Maybe IndexSelection+    -- ^ Nothing will restore all indices in the snapshot. Just [] is+    -- permissable and will essentially be a no-op restore.+    , snapRestoreIgnoreUnavailable      :: Bool+    -- ^ If set to True, any indices that do not exist will be ignored+    -- during snapshot rather than failing the restore.+    , snapRestoreIncludeGlobalState     :: Bool+    -- ^ If set to false, will ignore any global state in the snapshot+    -- and will not restore it.+    , snapRestoreRenamePattern          :: Maybe RestoreRenamePattern+    -- ^ A regex pattern for matching indices. Used with+    -- 'snapRestoreRenameReplacement', the restore can reference the+    -- matched index and create a new index name upon restore.+    , snapRestoreRenameReplacement      :: Maybe (NonEmpty RestoreRenameToken)+    -- ^ Expression of how index renames should be constructed.+    , snapRestorePartial                :: Bool+    -- ^ If some indices fail to restore, should the process proceed?+    , snapRestoreIncludeAliases         :: Bool+    -- ^ Should the restore also restore the aliases captured in the+    -- snapshot.+    , snapRestoreIndexSettingsOverrides :: Maybe RestoreIndexSettings+    -- ^ Settings to apply during the restore process. __NOTE:__ This+    -- option is not supported in ES < 1.5 and should be set to+    -- Nothing in that case.+    , snapRestoreIgnoreIndexSettings    :: Maybe (NonEmpty Text)+    -- ^ This type could be more rich but it isn't clear which+    -- settings are allowed to be ignored during restore, so we're+    -- going with including this feature in a basic form rather than+    -- omitting it. One example here would be+    -- "index.refresh_interval". Any setting specified here will+    -- revert back to the server default during the restore process.+    } deriving (Eq, Generic, Show, Typeable)++-- | Regex-stype pattern, e.g. "index_(.+)" to match index names+newtype RestoreRenamePattern = RestoreRenamePattern { rrPattern :: Text }+                             deriving (Show, Eq, Generic, Typeable, Ord, ToJSON)+++-- | 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+-- <https://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html docs> to find out more if you're into that sort of thing.+data RestoreRenameToken = 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+                        deriving (Show, Eq, Generic, Typeable)+++-- | A group number for regex matching. Only values from 1-9 are+-- supported. Construct with 'mkRRGroupRefNum'+newtype RRGroupRefNum = RRGroupRefNum { rrGroupRefNum :: Int }+                      deriving (Show, Eq, Generic, Typeable, Ord)++instance Bounded RRGroupRefNum where+  minBound = RRGroupRefNum 1+  maxBound = RRGroupRefNum 9+++-- | Only allows valid group number references (1-9).+mkRRGroupRefNum :: Int -> Maybe RRGroupRefNum+mkRRGroupRefNum i+  | i >= (rrGroupRefNum minBound) && i <= (rrGroupRefNum maxBound) =+    Just $ RRGroupRefNum i+  | otherwise = Nothing+++-- | 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+defaultSnapshotRestoreSettings :: SnapshotRestoreSettings+defaultSnapshotRestoreSettings = SnapshotRestoreSettings {+      snapRestoreWaitForCompletion = False+    , snapRestoreIndices = Nothing+    , snapRestoreIgnoreUnavailable  = False+    , snapRestoreIncludeGlobalState = True+    , snapRestoreRenamePattern = Nothing+    , snapRestoreRenameReplacement = Nothing+    , snapRestorePartial = False+    , snapRestoreIncludeAliases = True+    , snapRestoreIndexSettingsOverrides = Nothing+    , snapRestoreIgnoreIndexSettings = Nothing+    }+++-- | 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.+data RestoreIndexSettings = RestoreIndexSettings {+      restoreOverrideReplicas :: Maybe ReplicaCount+    } deriving (Show, Eq, Generic, Typeable)+++instance ToJSON RestoreIndexSettings where+  toJSON RestoreIndexSettings {..} = object prs+    where+      prs = catMaybes [("index.number_of_replicas" .=) <$> restoreOverrideReplicas]+++instance FromJSON NodesInfo where+  parseJSON = withObject "NodesInfo" parse+    where+      parse o = do+        nodes <- o .: "nodes"+        infos <- forM (HM.toList nodes) $ \(fullNID, v) -> do+          node <- parseJSON v+          parseNodeInfo (FullNodeId fullNID) node+        cn <- o .: "cluster_name"+        return (NodesInfo infos cn)++instance FromJSON NodesStats where+  parseJSON = withObject "NodesStats" parse+    where+      parse o = do+        nodes <- o .: "nodes"+        stats <- forM (HM.toList nodes) $ \(fullNID, v) -> do+          node <- parseJSON v+          parseNodeStats (FullNodeId fullNID) node+        cn <- o .: "cluster_name"+        return (NodesStats stats cn)++instance FromJSON NodeBreakerStats where+  parseJSON = withObject "NodeBreakerStats" parse+    where+      parse o = NodeBreakerStats <$> o .: "tripped"+                                 <*> o .: "overhead"+                                 <*> o .: "estimated_size_in_bytes"+                                 <*> o .: "limit_size_in_bytes"++instance FromJSON NodeHTTPStats where+  parseJSON = withObject "NodeHTTPStats" parse+    where+      parse o = NodeHTTPStats <$> o .: "total_opened"+                              <*> o .: "current_open"++instance FromJSON NodeTransportStats where+  parseJSON = withObject "NodeTransportStats" parse+    where+      parse o = NodeTransportStats <$> o .: "tx_size_in_bytes"+                                   <*> o .: "tx_count"+                                   <*> o .: "rx_size_in_bytes"+                                   <*> o .: "rx_count"+                                   <*> o .: "server_open"++instance FromJSON NodeFSStats where+  parseJSON = withObject "NodeFSStats" parse+    where+      parse o = NodeFSStats <$> o .: "data"+                            <*> o .: "total"+                            <*> (posixMS <$> o .: "timestamp")++instance FromJSON NodeDataPathStats where+  parseJSON = withObject "NodeDataPathStats" parse+    where+      parse o =+        NodeDataPathStats <$> (fmap unStringlyTypedDouble <$> o .:? "disk_service_time")+                          <*> (fmap unStringlyTypedDouble <$> o .:? "disk_queue")+                          <*> o .:? "disk_io_size_in_bytes"+                          <*> o .:? "disk_write_size_in_bytes"+                          <*> o .:? "disk_read_size_in_bytes"+                          <*> o .:? "disk_io_op"+                          <*> o .:? "disk_writes"+                          <*> o .:? "disk_reads"+                          <*> o .: "available_in_bytes"+                          <*> o .: "free_in_bytes"+                          <*> o .: "total_in_bytes"+                          <*> o .:? "type"+                          <*> o .: "dev"+                          <*> o .: "mount"+                          <*> o .: "path"++newtype StringlyTypedDouble = StringlyTypedDouble { unStringlyTypedDouble :: Double }+++instance FromJSON StringlyTypedDouble where+  parseJSON = fmap StringlyTypedDouble . parseJSON . unStringlyTypeJSON+++instance FromJSON NodeFSTotalStats where+  parseJSON = withObject "NodeFSTotalStats" parse+    where+      parse o = NodeFSTotalStats <$> (fmap unStringlyTypedDouble <$> o .:? "disk_service_time")+                                 <*> (fmap unStringlyTypedDouble <$> o .:? "disk_queue")+                                 <*> o .:? "disk_io_size_in_bytes"+                                 <*> o .:? "disk_write_size_in_bytes"+                                 <*> o .:? "disk_read_size_in_bytes"+                                 <*> o .:? "disk_io_op"+                                 <*> o .:? "disk_writes"+                                 <*> o .:? "disk_reads"+                                 <*> o .: "available_in_bytes"+                                 <*> o .: "free_in_bytes"+                                 <*> o .: "total_in_bytes"++instance FromJSON NodeNetworkStats where+  parseJSON = withObject "NodeNetworkStats" parse+    where+      parse o = do+        tcp <- o .: "tcp"+        NodeNetworkStats <$> tcp .: "out_rsts"+                         <*> tcp .: "in_errs"+                         <*> tcp .: "attempt_fails"+                         <*> tcp .: "estab_resets"+                         <*> tcp .: "retrans_segs"+                         <*> tcp .: "out_segs"+                         <*> tcp .: "in_segs"+                         <*> tcp .: "curr_estab"+                         <*> tcp .: "passive_opens"+                         <*> tcp .: "active_opens"++instance FromJSON NodeThreadPoolsStats where+  parseJSON = withObject "NodeThreadPoolsStats" parse+    where+      parse o = NodeThreadPoolsStats <$> o .: "snapshot"+                                     <*> o .: "bulk"+                                     <*> o .: "merge"+                                     <*> o .: "get"+                                     <*> o .: "management"+                                     <*> o .:? "fetch_shard_store"+                                     <*> o .: "optimize"+                                     <*> o .: "flush"+                                     <*> o .: "search"+                                     <*> o .: "warmer"+                                     <*> o .: "generic"+                                     <*> o .: "suggest"+                                     <*> o .: "refresh"+                                     <*> o .: "index"+                                     <*> o .:? "listener"+                                     <*> o .:? "fetch_shard_started"+                                     <*> o .: "percolate"+instance FromJSON NodeThreadPoolStats where+    parseJSON = withObject "NodeThreadPoolStats" parse+      where+        parse o = NodeThreadPoolStats <$> o .: "completed"+                                      <*> o .: "largest"+                                      <*> o .: "rejected"+                                      <*> o .: "active"+                                      <*> o .: "queue"+                                      <*> o .: "threads"++instance FromJSON NodeJVMStats where+  parseJSON = withObject "NodeJVMStats" parse+    where+      parse o = do+        bufferPools <- o .: "buffer_pools"+        mapped <- bufferPools .: "mapped"+        direct <- bufferPools .: "direct"+        gc <- o .: "gc"+        collectors <- gc .: "collectors"+        oldC <- collectors .: "old"+        youngC <- collectors .: "young"+        threads <- o .: "threads"+        mem <- o .: "mem"+        pools <- mem .: "pools"+        oldM <- pools .: "old"+        survivorM <- pools .: "survivor"+        youngM <- pools .: "young"+        NodeJVMStats <$> pure mapped+                     <*> pure direct+                     <*> pure oldC+                     <*> pure youngC+                     <*> threads .: "peak_count"+                     <*> threads .: "count"+                     <*> pure oldM+                     <*> pure survivorM+                     <*> pure youngM+                     <*> mem .: "non_heap_committed_in_bytes"+                     <*> mem .: "non_heap_used_in_bytes"+                     <*> mem .: "heap_max_in_bytes"+                     <*> mem .: "heap_committed_in_bytes"+                     <*> mem .: "heap_used_percent"+                     <*> mem .: "heap_used_in_bytes"+                     <*> (unMS <$> o .: "uptime_in_millis")+                     <*> (posixMS <$> o .: "timestamp")++instance FromJSON JVMBufferPoolStats where+  parseJSON = withObject "JVMBufferPoolStats" parse+    where+      parse o = JVMBufferPoolStats <$> o .: "total_capacity_in_bytes"+                                   <*> o .: "used_in_bytes"+                                   <*> o .: "count"++instance FromJSON JVMGCStats where+  parseJSON = withObject "JVMGCStats" parse+    where+      parse o = JVMGCStats <$> (unMS <$> o .: "collection_time_in_millis")+                           <*> o .: "collection_count"++instance FromJSON JVMPoolStats where+  parseJSON = withObject "JVMPoolStats" parse+    where+      parse o = JVMPoolStats <$> o .: "peak_max_in_bytes"+                             <*> o .: "peak_used_in_bytes"+                             <*> o .: "max_in_bytes"+                             <*> o .: "used_in_bytes"++instance FromJSON NodeProcessStats where+  parseJSON = withObject "NodeProcessStats" parse+    where+      parse o = do+        mem <- o .: "mem"+        cpu <- o .: "cpu"+        NodeProcessStats <$> mem .: "total_virtual_in_bytes"+                         <*> mem .: "share_in_bytes"+                         <*> mem .: "resident_in_bytes"+                         <*> (unMS <$> cpu .: "total_in_millis")+                         <*> (unMS <$> cpu .: "user_in_millis")+                         <*> (unMS <$> cpu .: "sys_in_millis")+                         <*> cpu .: "percent"+                         <*> o .: "open_file_descriptors"+                         <*> (posixMS <$> o .: "timestamp")++instance FromJSON NodeOSStats where+  parseJSON = withObject "NodeOSStats" parse+    where+      parse o = do+        swap <- o .: "swap"+        mem <- o .: "mem"+        cpu <- o .: "cpu"+        load <- o .:? "load_average"+        NodeOSStats <$> swap .: "free_in_bytes"+                    <*> swap .: "used_in_bytes"+                    <*> mem .: "actual_used_in_bytes"+                    <*> mem .: "actual_free_in_bytes"+                    <*> mem .: "used_percent"+                    <*> mem .: "free_percent"+                    <*> mem .: "used_in_bytes"+                    <*> mem .: "free_in_bytes"+                    <*> cpu .: "stolen"+                    <*> cpu .: "usage"+                    <*> cpu .: "idle"+                    <*> cpu .: "user"+                    <*> cpu .: "sys"+                    <*> pure load+                    <*> (unMS <$> o .: "uptime_in_millis")+                    <*> (posixMS <$> o .: "timestamp")++instance FromJSON LoadAvgs where+  parseJSON = withArray "LoadAvgs" parse+    where+      parse v = case V.toList v of+        [one, five, fifteen] -> LoadAvgs <$> parseJSON one+                                         <*> parseJSON five+                                         <*> parseJSON fifteen+        _                    -> fail "Expecting a triple of Doubles"++instance FromJSON NodeIndicesStats where+  parseJSON = withObject "NodeIndicesStats" parse+    where+      parse o = do+        let (.::) mv k = case mv of+              Just v  -> Just <$> v .: k+              Nothing -> pure Nothing+        mRecovery <- o .:? "recovery"+        mQueryCache <- o .:? "query_cache"+        suggest <- o .: "suggest"+        translog <- o .: "translog"+        segments <- o .: "segments"+        completion <- o .: "completion"+        percolate <- o .: "percolate"+        fielddata <- o .: "fielddata"+        idCache <- o .: "id_cache"+        filterCache <- o .: "filter_cache"+        warmer <- o .: "warmer"+        flush <- o .: "flush"+        refresh <- o .: "refresh"+        merges <- o .: "merges"+        search <- o .: "search"+        getStats <- o .: "get"+        indexing <- o .: "indexing"+        store <- o .: "store"+        docs <- o .: "docs"+        NodeIndicesStats <$> (fmap unMS <$> mRecovery .:: "throttle_time_in_millis")+                         <*> mRecovery .:: "current_as_target"+                         <*> mRecovery .:: "current_as_source"+                         <*> mQueryCache .:: "miss_count"+                         <*> mQueryCache .:: "hit_count"+                         <*> mQueryCache .:: "evictions"+                         <*> mQueryCache .:: "memory_size_in_bytes"+                         <*> suggest .: "current"+                         <*> (unMS <$> suggest .: "time_in_millis")+                         <*> suggest .: "total"+                         <*> translog .: "size_in_bytes"+                         <*> translog .: "operations"+                         <*> segments .:? "fixed_bit_set_memory_in_bytes"+                         <*> segments .: "version_map_memory_in_bytes"+                         <*> segments .:? "index_writer_max_memory_in_bytes"+                         <*> segments .: "index_writer_memory_in_bytes"+                         <*> segments .: "memory_in_bytes"+                         <*> segments .: "count"+                         <*> completion .: "size_in_bytes"+                         <*> percolate .: "queries"+                         <*> percolate .: "memory_size_in_bytes"+                         <*> percolate .: "current"+                         <*> (unMS <$> percolate .: "time_in_millis")+                         <*> percolate .: "total"+                         <*> fielddata .: "evictions"+                         <*> fielddata .: "memory_size_in_bytes"+                         <*> idCache .: "memory_size_in_bytes"+                         <*> filterCache .: "evictions"+                         <*> filterCache .: "memory_size_in_bytes"+                         <*> (unMS <$> warmer .: "total_time_in_millis")+                         <*> warmer .: "total"+                         <*> warmer .: "current"+                         <*> (unMS <$> flush .: "total_time_in_millis")+                         <*> flush .: "total"+                         <*> (unMS <$> refresh .: "total_time_in_millis")+                         <*> refresh .: "total"+                         <*> merges .: "total_size_in_bytes"+                         <*> merges .: "total_docs"+                         <*> (unMS <$> merges .: "total_time_in_millis")+                         <*> merges .: "total"+                         <*> merges .: "current_size_in_bytes"+                         <*> merges .: "current_docs"+                         <*> merges .: "current"+                         <*> search .: "fetch_current"+                         <*> (unMS <$> search .: "fetch_time_in_millis")+                         <*> search .: "fetch_total"+                         <*> search .: "query_current"+                         <*> (unMS <$> search .: "query_time_in_millis")+                         <*> search .: "query_total"+                         <*> search .: "open_contexts"+                         <*> getStats .: "current"+                         <*> (unMS <$> getStats .: "missing_time_in_millis")+                         <*> getStats .: "missing_total"+                         <*> (unMS <$> getStats .: "exists_time_in_millis")+                         <*> getStats .: "exists_total"+                         <*> (unMS <$> getStats .: "time_in_millis")+                         <*> getStats .: "total"+                         <*> (fmap unMS <$> indexing .:? "throttle_time_in_millis")+                         <*> indexing .:? "is_throttled"+                         <*> indexing .:? "noop_update_total"+                         <*> indexing .: "delete_current"+                         <*> (unMS <$> indexing .: "delete_time_in_millis")+                         <*> indexing .: "delete_total"+                         <*> indexing .: "index_current"+                         <*> (unMS <$> indexing .: "index_time_in_millis")+                         <*> indexing .: "index_total"+                         <*> (unMS <$> store .: "throttle_time_in_millis")+                         <*> store .: "size_in_bytes"+                         <*> docs .: "deleted"+                         <*> docs .: "count"++instance FromJSON NodeBreakersStats where+  parseJSON = withObject "NodeBreakersStats" parse+    where+      parse o = NodeBreakersStats <$> o .: "parent"+                                  <*> o .: "request"+                                  <*> o .: "fielddata"++parseNodeStats :: FullNodeId -> Object -> Parser NodeStats+parseNodeStats fnid o = do+  NodeStats <$> o .: "name"+            <*> pure fnid+            <*> o .:? "breakers"+            <*> o .: "http"+            <*> o .: "transport"+            <*> o .: "fs"+            <*> o .: "network"+            <*> o .: "thread_pool"+            <*> o .: "jvm"+            <*> o .: "process"+            <*> o .: "os"+            <*> o .: "indices"++parseNodeInfo :: FullNodeId -> Object -> Parser NodeInfo+parseNodeInfo nid o =+  NodeInfo <$> o .: "http_address"+           <*> o .: "build"+           <*> o .: "version"+           <*> o .: "ip"+           <*> o .: "host"+           <*> o .: "transport_address"+           <*> o .: "name"+           <*> pure nid+           <*> o .: "plugins"+           <*> o .: "http"+           <*> o .: "transport"+           <*> o .: "network"+           <*> o .: "thread_pool"+           <*> o .: "jvm"+           <*> o .: "process"+           <*> o .: "os"+           <*> o .: "settings"++instance FromJSON NodePluginInfo where+  parseJSON = withObject "NodePluginInfo" parse+    where+      parse o = NodePluginInfo <$> o .:  "site"+                               <*> o .:  "jvm"+                               <*> o .:  "description"+                               <*> o .: "version"+                               <*> o .:  "name"++instance FromJSON NodeHTTPInfo where+  parseJSON = withObject "NodeHTTPInfo" parse+    where+      parse o = NodeHTTPInfo <$> o .: "max_content_length_in_bytes"+                             <*> parseJSON (Object o)++instance FromJSON BoundTransportAddress where+  parseJSON = withObject "BoundTransportAddress" parse+    where+      parse o = BoundTransportAddress <$> o .: "publish_address"+                                      <*> o .: "bound_address"++instance FromJSON NodeOSInfo where+  parseJSON = withObject "NodeOSInfo" parse+    where+      parse o = do+        swap <- o .: "swap"+        mem <- o .: "mem"+        NodeOSInfo <$> swap .: "total_in_bytes"+                   <*> mem .: "total_in_bytes"+                   <*> o .: "cpu"+                   <*> o .: "available_processors"+                   <*> (unMS <$> o .: "refresh_interval_in_millis")+++instance FromJSON CPUInfo where+  parseJSON = withObject "CPUInfo" parse+    where+      parse o = CPUInfo <$> o .: "cache_size_in_bytes"+                        <*> o .: "cores_per_socket"+                        <*> o .: "total_sockets"+                        <*> o .: "total_cores"+                        <*> o .: "mhz"+                        <*> o .: "model"+                        <*> o .: "vendor"++instance FromJSON NodeProcessInfo where+  parseJSON = withObject "NodeProcessInfo" parse+    where+      parse o = NodeProcessInfo <$> o .: "mlockall"+                                <*> o .: "max_file_descriptors"+                                <*> o .: "id"+                                <*> (unMS <$> o .: "refresh_interval_in_millis")++instance FromJSON NodeJVMInfo where+  parseJSON = withObject "NodeJVMInfo" parse+    where+      parse o = NodeJVMInfo <$> o .: "memory_pools"+                            <*> o .: "gc_collectors"+                            <*> o .: "mem"+                            <*> (posixMS <$> o .: "start_time_in_millis")+                            <*> o .: "vm_vendor"+                            <*> o .: "vm_version"+                            <*> o .: "vm_name"+                            <*> (unJVMVersion <$> o .: "version")+                            <*> o .: "pid"++instance FromJSON JVMVersion where+  parseJSON (String t) =+    JVMVersion <$> parseJSON (String (T.replace "_" "." t))+  parseJSON v = JVMVersion <$> parseJSON v++instance FromJSON JVMMemoryInfo where+  parseJSON = withObject "JVMMemoryInfo" parse+    where+      parse o = JVMMemoryInfo <$> o .: "direct_max_in_bytes"+                              <*> o .: "non_heap_max_in_bytes"+                              <*> o .: "non_heap_init_in_bytes"+                              <*> o .: "heap_max_in_bytes"+                              <*> o .: "heap_init_in_bytes"++instance FromJSON NodeThreadPoolsInfo where+  parseJSON = withObject "NodeThreadPoolsInfo" parse+    where+      parse o = NodeThreadPoolsInfo <$> o .: "refresh"+                                    <*> o .: "management"+                                    <*> o .: "percolate"+                                    <*> o .:? "listener"+                                    <*> o .:? "fetch_shard_started"+                                    <*> o .: "search"+                                    <*> o .: "flush"+                                    <*> o .: "warmer"+                                    <*> o .: "optimize"+                                    <*> o .: "bulk"+                                    <*> o .: "suggest"+                                    <*> o .: "merge"+                                    <*> o .: "snapshot"+                                    <*> o .: "get"+                                    <*> o .:? "fetch_shard_store"+                                    <*> o .: "index"+                                    <*> o .: "generic"++instance FromJSON NodeThreadPoolInfo where+  parseJSON = withObject "NodeThreadPoolInfo" parse+    where+      parse o = do+        ka <- maybe (return Nothing) (fmap Just . parseStringInterval) =<< o .:? "keep_alive"+        NodeThreadPoolInfo <$> (parseJSON . unStringlyTypeJSON =<< o .: "queue_size")+                           <*> pure ka+                           <*> o .:? "min"+                           <*> o .:? "max"+                           <*> o .: "type"++parseStringInterval :: (Monad m) => String -> m NominalDiffTime+parseStringInterval s = case span isNumber s of+  ("", _) -> fail "Invalid interval"+  (nS, unitS) -> case (readMay nS, readMay unitS) of+    (Just n, Just unit) -> return (fromInteger (n * unitNDT unit))+    (Nothing, _)        -> fail "Invalid interval number"+    (_, Nothing)        -> fail "Invalid interval unit"+  where+    unitNDT Seconds = 1+    unitNDT Minutes = 60+    unitNDT Hours   = 60 * 60+    unitNDT Days    = 24 * 60 * 60+    unitNDT Weeks   = 7 * 24 * 60 * 60++instance FromJSON ThreadPoolSize where+  parseJSON v = parseAsNumber v <|> parseAsString v+    where+      parseAsNumber = parseAsInt <=< parseJSON+      parseAsInt (-1) = return ThreadPoolUnbounded+      parseAsInt n+        | n >= 0 = return (ThreadPoolBounded n)+        | otherwise = fail "Thread pool size must be >= -1."+      parseAsString = withText "ThreadPoolSize" $ \t ->+        case first (readMay . T.unpack) (T.span isNumber t) of+          (Just n, "k") -> return (ThreadPoolBounded (n * 1000))+          (Just n, "")  -> return (ThreadPoolBounded n)+          _             -> fail ("Invalid thread pool size " <> T.unpack t)++instance FromJSON ThreadPoolType where+  parseJSON = withText "ThreadPoolType" parse+    where+      parse "scaling" = return ThreadPoolScaling+      parse "fixed"   = return ThreadPoolFixed+      parse "cached"  = return ThreadPoolCached+      parse e         = fail ("Unexpected thread pool type" <> T.unpack e)++instance FromJSON NodeTransportInfo where+  parseJSON = withObject "NodeTransportInfo" parse+    where+      parse o = NodeTransportInfo <$> (maybe (return mempty) parseProfiles =<< o .:? "profiles")+                                  <*> parseJSON (Object o)+      parseProfiles (Object o)  | HM.null o = return []+      parseProfiles v@(Array _) = parseJSON v+      parseProfiles Null        = return []+      parseProfiles _           = fail "Could not parse profiles"++instance FromJSON NodeNetworkInfo where+  parseJSON = withObject "NodeNetworkInfo" parse+    where+      parse o = NodeNetworkInfo <$> o .: "primary_interface"+                                <*> (unMS <$> o .: "refresh_interval_in_millis")+++instance FromJSON NodeNetworkInterface where+  parseJSON = withObject "NodeNetworkInterface" parse+    where+      parse o = NodeNetworkInterface <$> o .: "mac_address"+                                     <*> o .: "name"+                                     <*> o .: "address"++newtype MaybeNA a = MaybeNA { unMaybeNA :: Maybe a }+  deriving (Show, Eq)++instance FromJSON a => FromJSON (MaybeNA a) where+  parseJSON (String "NA") = pure $ MaybeNA Nothing+  parseJSON o             = MaybeNA . Just <$> parseJSON o
+ src/Database/V1/Bloodhound/Types/Class.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}+module Database.V1.Bloodhound.Types.Class+       ( Seminearring(..) )+       where++#if !MIN_VERSION_base(4,8,0)+import Data.Monoid+#endif++class Monoid a => Seminearring a where+  -- 0, +, *+  (<||>) :: a -> a -> a+  (<&&>) :: a -> a -> a+  (<&&>) = mappend++infixr 5 <||>+infixr 5 <&&>
+ src/Database/V1/Bloodhound/Types/Internal.hs view
@@ -0,0 +1,57 @@+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}++-------------------------------------------------------------------------------+-- |+-- Module : Database.Bloodhound.Types.Internal+-- Copyright : (C) 2014 Chris Allen+-- License : BSD-style (see the file LICENSE)+-- Maintainer : Chris Allen <cma@bitemyapp.com>+-- Stability : provisional+-- Portability : DeriveGeneric, RecordWildCards+--+-- Internal data types for Bloodhound. These types may change without+-- notice so import at your own risk.+-------------------------------------------------------------------------------+module Database.V1.Bloodhound.Types.Internal+    ( BHEnv(..)+    , Server(..)+    , MonadBH(..)+    ) where+++import           Control.Applicative  as A+import           Control.Monad.Reader+import           Data.Aeson+import           Data.Text            (Text)+import           Data.Typeable        (Typeable)+import           GHC.Generics         (Generic)+import           Network.HTTP.Client++{-| Common environment for Elasticsearch calls. Connections will be+    pipelined according to the provided HTTP connection manager.+-}+data BHEnv = BHEnv { bhServer      :: Server+                   , bhManager     :: Manager+                   , bhRequestHook :: Request -> IO Request+                   -- ^ Low-level hook that is run before every request is sent. Used to implement custom authentication strategies. Defaults to 'return' with 'mkBHEnv'.+                   }++instance (Functor m, Applicative m, MonadIO m) => MonadBH (ReaderT BHEnv m) where+  getBHEnv = ask++{-| 'Server' is used with the client functions to point at the ES instance+-}+newtype Server = Server Text deriving (Eq, Show, Generic, Typeable, FromJSON)++{-| 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.+-}+class (Functor m, A.Applicative m, MonadIO m) => MonadBH m where+  getBHEnv :: m BHEnv+
+ src/Database/V5/Bloodhound.hs view
@@ -0,0 +1,10 @@+module Database.V5.Bloodhound+       ( -- module Data.Aeson.Types+       -- , +         module Database.V5.Bloodhound.Client+       , module Database.V5.Bloodhound.Types+       ) where++-- import Data.Aeson.Types+import Database.V5.Bloodhound.Client+import Database.V5.Bloodhound.Types
+ src/Database/V5/Bloodhound/Client.hs view
@@ -0,0 +1,1100 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards   #-}+{-# LANGUAGE TupleSections     #-}++-------------------------------------------------------------------------------+-- |+-- Module : Database.Bloodhound.Client+-- Copyright : (C) 2014 Chris Allen+-- License : BSD-style (see the file LICENSE)+-- Maintainer : Chris Allen <cma@bitemyapp.com+-- Stability : provisional+-- Portability : OverloadedStrings+--+-- Client side functions for talking to Elasticsearch servers.+--+-------------------------------------------------------------------------------++module Database.V5.Bloodhound.Client+       ( -- * Bloodhound client functions+         -- | The examples in this module assume the following code has been run.+         --   The :{ and :} will only work in GHCi. You'll only need the data types+         --   and typeclass instances for the functions that make use of them.++         -- $setup+         withBH+       -- ** Indices+       , createIndex+       , deleteIndex+       , updateIndexSettings+       , getIndexSettings+       , forceMergeIndex+       , indexExists+       , openIndex+       , closeIndex+       , listIndices+       , waitForYellowIndex+       -- *** Index Aliases+       , updateIndexAliases+       , getIndexAliases+       -- *** Index Templates+       , putTemplate+       , templateExists+       , deleteTemplate+       -- ** Mapping+       , putMapping+       -- ** Documents+       , indexDocument+       , updateDocument+       , getDocument+       , documentExists+       , deleteDocument+       -- ** Searching+       , searchAll+       , searchByIndex+       , searchByType+       , scanSearch+       , getInitialScroll+       , advanceScroll+       , refreshIndex+       , mkSearch+       , mkAggregateSearch+       , mkHighlightSearch+       , bulk+       , pageSearch+       , mkShardCount+       , mkReplicaCount+       , getStatus+       -- ** Snapshot/Restore+       -- *** Snapshot Repos+       , getSnapshotRepos+       , updateSnapshotRepo+       , verifySnapshotRepo+       , deleteSnapshotRepo+       -- *** Snapshots+       , createSnapshot+       , getSnapshots+       , deleteSnapshot+       -- *** Restoring Snapshots+       , restoreSnapshot+       -- ** Nodes+       , getNodesInfo+       , getNodesStats+       -- ** Request Utilities+       , encodeBulkOperations+       , encodeBulkOperation+       -- * Authentication+       , basicAuthHook+       -- * Reply-handling tools+       , isVersionConflict+       , isSuccess+       , isCreated+       , parseEsResponse+       )+       where++import qualified Blaze.ByteString.Builder     as BB+import           Control.Applicative          as A+import           Control.Monad+import           Control.Monad.Catch+import           Control.Monad.IO.Class+import           Data.Aeson+import           Data.ByteString.Lazy.Builder+import qualified Data.ByteString.Lazy.Char8   as L+import           Data.Foldable                (toList)+import qualified Data.HashMap.Strict          as HM+import           Data.Ix+import qualified Data.List                    as LS (filter, foldl')+import           Data.List.NonEmpty           (NonEmpty (..))+import           Data.Maybe                   (catMaybes, fromMaybe, isJust)+import           Data.Monoid+import           Data.Text                    (Text)+import qualified Data.Text                    as T+import qualified Data.Text.Encoding           as T+import           Data.Time.Clock+import qualified Data.Vector                  as V+import           Network.HTTP.Client+import qualified Network.HTTP.Types.Method    as NHTM+import qualified Network.HTTP.Types.Status    as NHTS+import qualified Network.HTTP.Types.URI       as NHTU+import qualified Network.URI                  as URI+import           Prelude                      hiding (filter, head)++import           Database.V5.Bloodhound.Types++-- $setup+-- >>> :set -XOverloadedStrings+-- >>> :set -XDeriveGeneric+-- >>> import Database.V5.Bloodhound+-- >>> let testServer = (Server "http://localhost:9200")+-- >>> let runBH' = withBH defaultManagerSettings testServer+-- >>> let testIndex = IndexName "twitter"+-- >>> let testMapping = MappingName "tweet"+-- >>> let defaultIndexSettings = IndexSettings (ShardCount 1) (ReplicaCount 0)+-- >>> data TweetMapping = TweetMapping deriving (Eq, Show)+-- >>> _ <- runBH' $ deleteIndex testIndex+-- >>> _ <- runBH' $ deleteIndex (IndexName "didimakeanindex")+-- >>> import GHC.Generics+-- >>> import           Data.Time.Calendar        (Day (..))+-- >>> import Data.Time.Clock (UTCTime (..), secondsToDiffTime)+-- >>> :{+--instance ToJSON TweetMapping where+--          toJSON TweetMapping =+--            object ["properties" .=+--              object ["location" .=+--                object ["type" .= ("geo_point" :: Text)]]]+--data Location = Location { lat :: Double+--                         , lon :: Double } deriving (Eq, Generic, Show)+--data Tweet = Tweet { user     :: Text+--                    , postDate :: UTCTime+--                    , message  :: Text+--                    , age      :: Int+--                    , location :: Location } deriving (Eq, Generic, Show)+--exampleTweet = Tweet { user     = "bitemyapp"+--                      , postDate = UTCTime+--                                   (ModifiedJulianDay 55000)+--                                   (secondsToDiffTime 10)+--                      , message  = "Use haskell!"+--                      , age      = 10000+--                      , location = Location 40.12 (-71.34) }+--instance ToJSON   Tweet where+--  toJSON = genericToJSON defaultOptions+--instance FromJSON Tweet where+--  parseJSON = genericParseJSON defaultOptions+--instance ToJSON   Location where+--  toJSON = genericToJSON defaultOptions+--instance FromJSON Location where+--  parseJSON = genericParseJSON defaultOptions+--data BulkTest = BulkTest { name :: Text } deriving (Eq, Generic, Show)+--instance FromJSON BulkTest where+--  parseJSON = genericParseJSON defaultOptions+--instance ToJSON BulkTest where+--  toJSON = genericToJSON defaultOptions+-- :}++-- | 'mkShardCount' is a straight-forward smart constructor for 'ShardCount'+--   which rejects 'Int' values below 1 and above 1000.+--+-- >>> mkShardCount 10+-- Just (ShardCount 10)+mkShardCount :: Int -> Maybe ShardCount+mkShardCount n+  | n < 1 = Nothing+  | n > 1000 = Nothing+  | otherwise = Just (ShardCount n)++-- | 'mkReplicaCount' is a straight-forward smart constructor for 'ReplicaCount'+--   which rejects 'Int' values below 0 and above 1000.+--+-- >>> mkReplicaCount 10+-- Just (ReplicaCount 10)+mkReplicaCount :: Int -> Maybe ReplicaCount+mkReplicaCount n+  | n < 0 = Nothing+  | n > 1000 = Nothing -- ...+  | otherwise = Just (ReplicaCount n)++emptyBody :: L.ByteString+emptyBody = L.pack ""++dispatch :: MonadBH m+         => Method+         -> Text+         -> Maybe L.ByteString+         -> m Reply+dispatch dMethod url body = do+  initReq <- liftIO $ parseUrl' url+  reqHook <- bhRequestHook A.<$> getBHEnv+  let reqBody = RequestBodyLBS $ fromMaybe emptyBody body+  req <- liftIO $ reqHook $ setRequestIgnoreStatus $ initReq { method = dMethod+                                                             , requestBody = reqBody }+  mgr <- bhManager <$> getBHEnv+  liftIO $ httpLbs req mgr++joinPath' :: [Text] -> Text+joinPath' = T.intercalate "/"++joinPath :: MonadBH m => [Text] -> m Text+joinPath ps = do+  Server s <- bhServer <$> getBHEnv+  return $ joinPath' (s:ps)++appendSearchTypeParam :: Text -> SearchType -> Text+appendSearchTypeParam originalUrl st = addQuery params originalUrl+  where stText = "search_type"+        params+          | st == SearchTypeDfsQueryThenFetch = [(stText, Just "dfs_query_then_fetch")]+        -- used to catch 'SearchTypeQueryThenFetch', which is also the default+          | otherwise                         = []++-- | Severely dumbed down query renderer. Assumes your data doesn't+-- need any encoding+addQuery :: [(Text, Maybe Text)] -> Text -> Text+addQuery q u = u <> rendered+  where+    rendered =+      T.decodeUtf8 $ BB.toByteString $ NHTU.renderQueryText prependQuestionMark q+    prependQuestionMark = True++bindM2 :: (Applicative m, Monad m) => (a -> b -> m c) -> m a -> m b -> m c+bindM2 f ma mb = join (f <$> ma <*> mb)++-- | Convenience function that sets up a manager and BHEnv and runs+-- the given set of bloodhound operations. Connections will be+-- pipelined automatically in accordance with the given manager+-- settings in IO. If you've got your own monad transformer stack, you+-- should use 'runBH' directly.+withBH :: ManagerSettings -> Server -> BH IO a -> IO a+withBH ms s f = do+  mgr <- newManager ms+  let env = mkBHEnv s mgr+  runBH env f++-- Shortcut functions for HTTP methods+delete :: MonadBH m => Text -> m Reply+delete = flip (dispatch NHTM.methodDelete) Nothing+get    :: MonadBH m => Text -> m Reply+get    = flip (dispatch NHTM.methodGet) Nothing+head   :: MonadBH m => Text -> m Reply+head   = flip (dispatch NHTM.methodHead) Nothing+put    :: MonadBH m => Text -> Maybe L.ByteString -> m Reply+put    = dispatch NHTM.methodPut+post   :: MonadBH m => Text -> Maybe L.ByteString -> m Reply+post   = dispatch NHTM.methodPost++-- indexDocument s ix name doc = put (root </> s </> ix </> name </> doc) (Just encode doc)+-- http://hackage.haskell.org/package/http-client-lens-0.1.0/docs/Network-HTTP-Client-Lens.html+-- https://github.com/supki/libjenkins/blob/master/src/Jenkins/Rest/Internal.hs++-- | 'getStatus' fetches the 'Status' of a 'Server'+--+-- >>> serverStatus <- runBH' getStatus+-- >>> fmap tagline (serverStatus)+-- Just "You Know, for Search"+getStatus :: MonadBH m => m (Maybe Status)+getStatus = do+  response <- get =<< url+  return $ decode (responseBody response)+  where url = joinPath []++-- | 'getSnapshotRepos' gets the definitions of a subset of the+-- defined snapshot repos.+getSnapshotRepos+    :: ( MonadBH m+       , MonadThrow m+       )+    => SnapshotRepoSelection+    -> m (Either EsError [GenericSnapshotRepo])+getSnapshotRepos sel = fmap (fmap unGSRs) . parseEsResponse =<< get =<< url+  where+    url = joinPath ["_snapshot", selectorSeg]+    selectorSeg = case sel of+                    AllSnapshotRepos -> "_all"+                    SnapshotRepoList (p :| ps) -> T.intercalate "," (renderPat <$> (p:ps))+    renderPat (RepoPattern t)                  = t+    renderPat (ExactRepo (SnapshotRepoName t)) = t+++-- | Wrapper to extract the list of 'GenericSnapshotRepo' in the+-- format they're returned in+newtype GSRs = GSRs { unGSRs :: [GenericSnapshotRepo] }+++instance FromJSON GSRs where+  parseJSON = withObject "Collection of GenericSnapshotRepo" parse+    where+      parse = fmap GSRs . mapM (uncurry go) . HM.toList+      go rawName = withObject "GenericSnapshotRepo" $ \o -> do+        GenericSnapshotRepo (SnapshotRepoName rawName) <$> o .: "type"+                                                       <*> o .: "settings"+++-- | Create or update a snapshot repo+updateSnapshotRepo+  :: ( MonadBH m+     , SnapshotRepo repo+     )+  => SnapshotRepoUpdateSettings+  -- ^ Use 'defaultSnapshotRepoUpdateSettings' if unsure+  -> repo+  -> m Reply+updateSnapshotRepo SnapshotRepoUpdateSettings {..} repo =+  bindM2 put url (return (Just body))+  where+    url = addQuery params <$> joinPath ["_snapshot", snapshotRepoName gSnapshotRepoName]+    params+      | repoUpdateVerify = []+      | otherwise        = [("verify", Just "false")]+    body = encode $ object [ "type" .= gSnapshotRepoType+                           , "settings" .= gSnapshotRepoSettings+                           ]+    GenericSnapshotRepo {..} = toGSnapshotRepo repo++++-- | Verify if a snapshot repo is working. __NOTE:__ this API did not+-- make it into ElasticSearch until 1.4. If you use an older version,+-- you will get an error here.+verifySnapshotRepo+    :: ( MonadBH m+       , MonadThrow m+       )+    => SnapshotRepoName+    -> m (Either EsError SnapshotVerification)+verifySnapshotRepo (SnapshotRepoName n) =+  parseEsResponse =<< bindM2 post url (return Nothing)+  where+    url = joinPath ["_snapshot", n, "_verify"]+++deleteSnapshotRepo :: MonadBH m => SnapshotRepoName -> m Reply+deleteSnapshotRepo (SnapshotRepoName n) = delete =<< url+  where+    url = joinPath ["_snapshot", n]+++-- | Create and start a snapshot+createSnapshot+    :: (MonadBH m)+    => SnapshotRepoName+    -> SnapshotName+    -> SnapshotCreateSettings+    -> m Reply+createSnapshot (SnapshotRepoName repoName)+               (SnapshotName snapName)+               SnapshotCreateSettings {..} =+  bindM2 put url (return (Just body))+  where+    url = addQuery params <$> joinPath ["_snapshot", repoName, snapName]+    params = [("wait_for_completion", Just (boolQP snapWaitForCompletion))]+    body = encode $ object prs+    prs = catMaybes [ ("indices" .=) . indexSelectionName <$> snapIndices+                    , Just ("ignore_unavailable" .= snapIgnoreUnavailable)+                    , Just ("ignore_global_state" .= snapIncludeGlobalState)+                    , Just ("partial" .= snapPartial)+                    ]+++indexSelectionName :: IndexSelection -> Text+indexSelectionName AllIndexes            = "_all"+indexSelectionName (IndexList (i :| is)) = T.intercalate "," (renderIndex <$> (i:is))+  where+    renderIndex (IndexName n) = n+++-- | Get info about known snapshots given a pattern and repo name.+getSnapshots+    :: ( MonadBH m+       , MonadThrow m+       )+    => SnapshotRepoName+    -> SnapshotSelection+    -> m (Either EsError [SnapshotInfo])+getSnapshots (SnapshotRepoName repoName) sel =+  fmap (fmap unSIs) . parseEsResponse =<< get =<< url+  where+    url = joinPath ["_snapshot", repoName, snapPath]+    snapPath = case sel of+      AllSnapshots -> "_all"+      SnapshotList (s :| ss) -> T.intercalate "," (renderPath <$> (s:ss))+    renderPath (SnapPattern t)              = t+    renderPath (ExactSnap (SnapshotName t)) = t+++newtype SIs = SIs { unSIs :: [SnapshotInfo] }+++instance FromJSON SIs where+  parseJSON = withObject "Collection of SnapshotInfo" parse+    where+      parse o = SIs <$> o .: "snapshots"+++-- | Delete a snapshot. Cancels if it is running.+deleteSnapshot :: MonadBH m => SnapshotRepoName -> SnapshotName -> m Reply+deleteSnapshot (SnapshotRepoName repoName) (SnapshotName snapName) =+  delete =<< url+  where+    url = joinPath ["_snapshot", repoName, snapName]+++-- | Restore a snapshot to the cluster See+-- <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/modules-snapshots.html#_restore>+-- for more details.+restoreSnapshot+    :: MonadBH m+    => SnapshotRepoName+    -> SnapshotName+    -> SnapshotRestoreSettings+    -- ^ Start with 'defaultSnapshotRestoreSettings' and customize+    -- from there for reasonable defaults.+    -> m Reply+restoreSnapshot (SnapshotRepoName repoName)+                (SnapshotName snapName)+                SnapshotRestoreSettings {..} = bindM2 post url (return (Just body))+  where+    url = addQuery params <$> joinPath ["_snapshot", repoName, snapName, "_restore"]+    params = [("wait_for_completion", Just (boolQP snapRestoreWaitForCompletion))]+    body = encode (object prs)+++    prs = catMaybes [ ("indices" .=) . indexSelectionName <$> snapRestoreIndices+                 , Just ("ignore_unavailable" .= snapRestoreIgnoreUnavailable)+                 , Just ("include_global_state" .= snapRestoreIncludeGlobalState)+                 , ("rename_pattern" .=) <$> snapRestoreRenamePattern+                 , ("rename_replacement" .=) . renderTokens <$> snapRestoreRenameReplacement+                 , Just ("include_aliases" .= snapRestoreIncludeAliases)+                 , ("index_settings" .= ) <$> snapRestoreIndexSettingsOverrides+                 , ("ignore_index_settings" .= ) <$> snapRestoreIgnoreIndexSettings+                 ]+    renderTokens (t :| ts) = mconcat (renderToken <$> (t:ts))+    renderToken (RRTLit t)      = t+    renderToken RRSubWholeMatch = "$0"+    renderToken (RRSubGroup g)  = T.pack (show (rrGroupRefNum g))+++getNodesInfo+    :: ( MonadBH m+       , MonadThrow m+       )+    => NodeSelection+    -> m (Either EsError NodesInfo)+getNodesInfo sel = parseEsResponse =<< get =<< url+  where+    url = joinPath ["_nodes", selectionSeg]+    selectionSeg = case sel of+      LocalNode -> "_local"+      NodeList (l :| ls) -> T.intercalate "," (selToSeg <$> (l:ls))+      AllNodes -> "_all"+    selToSeg (NodeByName (NodeName n))            = n+    selToSeg (NodeByFullNodeId (FullNodeId i))    = i+    selToSeg (NodeByHost (Server s))              = s+    selToSeg (NodeByAttribute (NodeAttrName a) v) = a <> ":" <> v++getNodesStats+    :: ( MonadBH m+       , MonadThrow m+       )+    => NodeSelection+    -> m (Either EsError NodesStats)+getNodesStats sel = parseEsResponse =<< get =<< url+  where+    url = joinPath ["_nodes", selectionSeg, "stats"]+    selectionSeg = case sel of+      LocalNode -> "_local"+      NodeList (l :| ls) -> T.intercalate "," (selToSeg <$> (l:ls))+      AllNodes -> "_all"+    selToSeg (NodeByName (NodeName n))            = n+    selToSeg (NodeByFullNodeId (FullNodeId i))    = i+    selToSeg (NodeByHost (Server s))              = s+    selToSeg (NodeByAttribute (NodeAttrName a) v) = a <> ":" <> v++-- | 'createIndex' will create an index given a 'Server', 'IndexSettings', and an 'IndexName'.+--+-- >>> response <- runBH' $ createIndex defaultIndexSettings (IndexName "didimakeanindex")+-- >>> respIsTwoHunna response+-- True+-- >>> runBH' $ indexExists (IndexName "didimakeanindex")+-- True+createIndex :: MonadBH m => IndexSettings -> IndexName -> m Reply+createIndex indexSettings (IndexName indexName) =+  bindM2 put url (return body)+  where url = joinPath [indexName]+        body = Just $ encode indexSettings+++-- | 'deleteIndex' will delete an index given a 'Server', and an 'IndexName'.+--+-- >>> _ <- runBH' $ createIndex defaultIndexSettings (IndexName "didimakeanindex")+-- >>> response <- runBH' $ deleteIndex (IndexName "didimakeanindex")+-- >>> respIsTwoHunna response+-- True+-- >>> runBH' $ indexExists (IndexName "didimakeanindex")+-- False+deleteIndex :: MonadBH m => IndexName -> m Reply+deleteIndex (IndexName indexName) =+  delete =<< joinPath [indexName]++-- | 'updateIndexSettings' will apply a non-empty list of setting updates to an index+--+-- >>> _ <- runBH' $ createIndex defaultIndexSettings (IndexName "unconfiguredindex")+-- >>> response <- runBH' $ updateIndexSettings (BlocksWrite False :| []) (IndexName "unconfiguredindex")+-- >>> respIsTwoHunna response+-- True+updateIndexSettings :: MonadBH m => NonEmpty UpdatableIndexSetting -> IndexName -> m Reply+updateIndexSettings updates (IndexName indexName) =+  bindM2 put url (return body)+  where url = joinPath [indexName, "_settings"]+        body = Just (encode jsonBody)+        jsonBody = Object (deepMerge [u | Object u <- toJSON <$> toList updates])+++getIndexSettings :: (MonadBH m, MonadThrow m) => IndexName+                 -> m (Either EsError IndexSettingsSummary)+getIndexSettings (IndexName indexName) = do+  parseEsResponse =<< get =<< url+  where url = joinPath [indexName, "_settings"]+++-- | 'forceMergeIndex' +-- +-- The force merge API allows to force merging of one or more indices through+-- an API. The merge relates to the number of segments a Lucene index holds+-- within each shard. The force merge operation allows to reduce the number of+-- segments by merging them.+--+-- This call will block until the merge is complete. If the http connection is+-- lost, the request will continue in the background, and any new requests will+-- block until the previous force merge is complete.++-- For more information see+-- <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html#indices-forcemerge>.+-- Nothing+-- worthwhile comes back in the reply body, so matching on the status+-- should suffice.+--+-- 'forceMergeIndex' with a maxNumSegments of 1 and onlyExpungeDeletes+-- to True is the main way to release disk space back to the OS being+-- held by deleted documents.+--+-- >>> let ixn = IndexName "unoptimizedindex"+-- >>> _ <- runBH' $ deleteIndex ixn >> createIndex defaultIndexSettings ixn+-- >>> response <- runBH' $ forceMergeIndex (IndexList (ixn :| [])) (defaultIndexOptimizationSettings { maxNumSegments = Just 1, onlyExpungeDeletes = True })+-- >>> respIsTwoHunna response+-- True+forceMergeIndex :: MonadBH m => IndexSelection -> ForceMergeIndexSettings -> m Reply+forceMergeIndex ixs ForceMergeIndexSettings {..} =+    bindM2 post url (return body)+  where url = addQuery params <$> joinPath [indexName, "_forcemerge"]+        params = catMaybes [ ("max_num_segments",) . Just . showText <$> maxNumSegments+                           , Just ("only_expunge_deletes", Just (boolQP onlyExpungeDeletes))+                           , Just ("flush", Just (boolQP flushAfterOptimize))+                           ]+        indexName = indexSelectionName ixs+        body = Nothing+++deepMerge :: [Object] -> Object+deepMerge = LS.foldl' go mempty+  where go acc = LS.foldl' go' acc . HM.toList+        go' acc (k, v) = HM.insertWith merge k v acc+        merge (Object a) (Object b) = Object (deepMerge [a, b])+        merge _ b = b+++statusCodeIs :: (Int, Int) -> Reply -> Bool+statusCodeIs r resp = inRange r $ NHTS.statusCode (responseStatus resp)++respIsTwoHunna :: Reply -> Bool+respIsTwoHunna = statusCodeIs (200, 299)++existentialQuery :: MonadBH m => Text -> m (Reply, Bool)+existentialQuery url = do+  reply <- head url+  return (reply, respIsTwoHunna reply)+++-- | Tries to parse a response body as the expected type @a@ and+-- failing that tries to parse it as an EsError. All well-formed, JSON+-- responses from elasticsearch should fall into these two+-- categories. If they don't, a 'EsProtocolException' will be+-- thrown. If you encounter this, please report the full body it+-- reports along with your ElasticSearch verison.+parseEsResponse :: (MonadThrow m, FromJSON a) => Reply+                -> m (Either EsError a)+parseEsResponse reply+  | respIsTwoHunna reply = case eitherDecode body of+                             Right a -> return (Right a)+                             Left _ -> tryParseError+  | otherwise = tryParseError+  where body = responseBody reply+        tryParseError = case eitherDecode body of+                          Right e -> return (Left e)+                          -- this case should not be possible+                          Left _ -> explode+        explode = throwM (EsProtocolException body)++-- | 'indexExists' enables you to check if an index exists. Returns 'Bool'+--   in IO+--+-- >>> exists <- runBH' $ indexExists testIndex+indexExists :: MonadBH m => IndexName -> m Bool+indexExists (IndexName indexName) = do+  (_, exists) <- existentialQuery =<< joinPath [indexName]+  return exists++-- | 'refreshIndex' will force a refresh on an index. You must+-- do this if you want to read what you wrote.+--+-- >>> _ <- runBH' $ createIndex defaultIndexSettings testIndex+-- >>> _ <- runBH' $ refreshIndex testIndex+refreshIndex :: MonadBH m => IndexName -> m Reply+refreshIndex (IndexName indexName) =+  bindM2 post url (return Nothing)+  where url = joinPath [indexName, "_refresh"]++-- | Block until the index becomes available for indexing+--   documents. This is useful for integration tests in which+--   indices are rapidly created and deleted.+waitForYellowIndex :: MonadBH m => IndexName -> m Reply+waitForYellowIndex (IndexName indexName) = get =<< url+  where url = addQuery q <$> joinPath ["_cluster","health",indexName]+        q = [("wait_for_status",Just "yellow"),("timeout",Just "10s")]++stringifyOCIndex :: OpenCloseIndex -> Text+stringifyOCIndex oci = case oci of+  OpenIndex  -> "_open"+  CloseIndex -> "_close"++openOrCloseIndexes :: MonadBH m => OpenCloseIndex -> IndexName -> m Reply+openOrCloseIndexes oci (IndexName indexName) =+  bindM2 post url (return Nothing)+  where ociString = stringifyOCIndex oci+        url = joinPath [indexName, ociString]++-- | 'openIndex' opens an index given a 'Server' and an 'IndexName'. Explained in further detail at+--   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>+--+-- >>> reply <- runBH' $ openIndex testIndex+openIndex :: MonadBH m => IndexName -> m Reply+openIndex = openOrCloseIndexes OpenIndex++-- | 'closeIndex' closes an index given a 'Server' and an 'IndexName'. Explained in further detail at+--   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>+--+-- >>> reply <- runBH' $ closeIndex testIndex+closeIndex :: MonadBH m => IndexName -> m Reply+closeIndex = openOrCloseIndexes CloseIndex++-- | 'listIndices' returns a list of all index names on a given 'Server'+listIndices :: (MonadThrow m, MonadBH m) => m [IndexName]+listIndices =+  parse . responseBody =<< get =<< url+  where+    url = joinPath ["_cat/indices?v"]+    -- parses the tabular format the indices api provides+    parse body = case T.lines (T.decodeUtf8 (L.toStrict body)) of+      (hdr:rows) -> let ks = T.words hdr+                        keyedRows = [ HM.fromList (zip ks (T.words row)) | row <- rows ]+                        names = catMaybes (HM.lookup "index" <$> keyedRows)+                    in return (IndexName <$> names)+      [] -> throwM (EsProtocolException body)++-- | 'updateIndexAliases' updates the server's index alias+-- table. Operations are atomic. Explained in further detail at+-- <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html>+--+-- >>> let src = IndexName "a-real-index"+-- >>> let aliasName = IndexName "an-alias"+-- >>> let iAlias = IndexAlias src (IndexAliasName aliasName)+-- >>> let aliasCreate = IndexAliasCreate Nothing Nothing+-- >>> _ <- runBH' $ deleteIndex src+-- >>> respIsTwoHunna <$> runBH' (createIndex defaultIndexSettings src)+-- True+-- >>> runBH' $ indexExists src+-- True+-- >>> respIsTwoHunna <$> runBH' (updateIndexAliases (AddAlias iAlias aliasCreate :| []))+-- True+-- >>> runBH' $ indexExists aliasName+-- True+updateIndexAliases :: MonadBH m => NonEmpty IndexAliasAction -> m Reply+updateIndexAliases actions = bindM2 post url (return body)+  where url = joinPath ["_aliases"]+        body = Just (encode bodyJSON)+        bodyJSON = object [ "actions" .= toList actions]++-- | Get all aliases configured on the server.+getIndexAliases :: (MonadBH m, MonadThrow m)+                => m (Either EsError IndexAliasesSummary)+getIndexAliases = parseEsResponse =<< get =<< url+  where url = joinPath ["_aliases"]++-- | 'putTemplate' creates a template given an 'IndexTemplate' and a 'TemplateName'.+--   Explained in further detail at+--   <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-templates.html>+--+--   >>> let idxTpl = IndexTemplate (TemplatePattern "tweet-*") (Just (IndexSettings (ShardCount 1) (ReplicaCount 1))) [toJSON TweetMapping]+--   >>> resp <- runBH' $ putTemplate idxTpl (TemplateName "tweet-tpl")+putTemplate :: MonadBH m => IndexTemplate -> TemplateName -> m Reply+putTemplate indexTemplate (TemplateName templateName) =+  bindM2 put url (return body)+  where url = joinPath ["_template", templateName]+        body = Just $ encode indexTemplate++-- | 'templateExists' checks to see if a template exists.+--+--   >>> exists <- runBH' $ templateExists (TemplateName "tweet-tpl")+templateExists :: MonadBH m => TemplateName -> m Bool+templateExists (TemplateName templateName) = do+  (_, exists) <- existentialQuery =<< joinPath ["_template", templateName]+  return exists++-- | 'deleteTemplate' is an HTTP DELETE and deletes a template.+--+--   >>> let idxTpl = IndexTemplate (TemplatePattern "tweet-*") (Just (IndexSettings (ShardCount 1) (ReplicaCount 1))) [toJSON TweetMapping]+--   >>> _ <- runBH' $ putTemplate idxTpl (TemplateName "tweet-tpl")+--   >>> resp <- runBH' $ deleteTemplate (TemplateName "tweet-tpl")+deleteTemplate :: MonadBH m => TemplateName -> m Reply+deleteTemplate (TemplateName templateName) =+  delete =<< joinPath ["_template", templateName]++-- | 'putMapping' is an HTTP PUT and has upsert semantics. Mappings are schemas+-- for documents in indexes.+--+-- >>> _ <- runBH' $ createIndex defaultIndexSettings testIndex+-- >>> resp <- runBH' $ putMapping testIndex testMapping TweetMapping+-- >>> print resp+-- Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("content-type","application/json; charset=UTF-8"),("content-encoding","gzip"),("transfer-encoding","chunked")], responseBody = "{\"acknowledged\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}+putMapping :: (MonadBH m, ToJSON a) => IndexName+                 -> MappingName -> a -> m Reply+putMapping (IndexName indexName) (MappingName mappingName) mapping =+  bindM2 put url (return body)+  where url = joinPath [indexName, "_mapping", mappingName]+        -- "_mapping" and mappingName above were originally transposed+        -- erroneously. The correct API call is: "/INDEX/_mapping/MAPPING_NAME"+        body = Just $ encode mapping++versionCtlParams :: IndexDocumentSettings -> [(Text, Maybe Text)]+versionCtlParams cfg =+  case idsVersionControl cfg of+    NoVersionControl -> []+    InternalVersion v -> versionParams v "internal"+    ExternalGT (ExternalDocVersion v) -> versionParams v "external_gt"+    ExternalGTE (ExternalDocVersion v) -> versionParams v "external_gte"+    ForceVersion (ExternalDocVersion v) -> versionParams v "force"+  where+    vt = showText . docVersionNumber+    versionParams v t = [ ("version", Just $ vt v)+                        , ("version_type", Just t)+                        ]++-- | 'indexDocument' is the primary way to save a single document in+--   Elasticsearch. The document itself is simply something we can+--   convert into a JSON 'Value'. The 'DocId' will function as the+--   primary key for the document.+--+-- >>> resp <- runBH' $ indexDocument testIndex testMapping defaultIndexDocumentSettings exampleTweet (DocId "1")+-- >>> print resp+-- Response {responseStatus = Status {statusCode = 201, statusMessage = "Created"}, responseVersion = HTTP/1.1, responseHeaders = [("Location","/twitter/tweet/1"),("content-type","application/json; charset=UTF-8"),("content-encoding","gzip"),("transfer-encoding","chunked")], responseBody = "{\"_index\":\"twitter\",\"_type\":\"tweet\",\"_id\":\"1\",\"_version\":1,\"result\":\"created\",\"_shards\":{\"total\":2,\"successful\":1,\"failed\":0},\"created\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}+indexDocument :: (ToJSON doc, MonadBH m) => IndexName -> MappingName+                 -> IndexDocumentSettings -> doc -> DocId -> m Reply+indexDocument (IndexName indexName)+  (MappingName mappingName) cfg document (DocId docId) =+  bindM2 put url (return body)+  where url = addQuery params <$> joinPath [indexName, mappingName, docId]+        parentParams = case idsParent cfg of+          Nothing -> []+          Just (DocumentParent (DocId p)) -> [ ("parent", Just p) ]+        params = versionCtlParams cfg ++ parentParams+        body = Just (encode document)++-- | 'updateDocument' provides a way to perform an partial update of a+-- an already indexed document.+updateDocument :: (ToJSON patch, MonadBH m) => IndexName -> MappingName+                  -> IndexDocumentSettings -> patch -> DocId -> m Reply+updateDocument (IndexName indexName)+  (MappingName mappingName) cfg patch (DocId docId) =+  bindM2 post url (return body)+  where url = addQuery (versionCtlParams cfg) <$>+              joinPath [indexName, mappingName, docId, "_update"]+        body = Just (encode $ object ["doc" .= toJSON patch])++-- | 'deleteDocument' is the primary way to delete a single document.+--+-- >>> _ <- runBH' $ deleteDocument testIndex testMapping (DocId "1")+deleteDocument :: MonadBH m => IndexName -> MappingName+                  -> DocId -> m Reply+deleteDocument (IndexName indexName)+  (MappingName mappingName) (DocId docId) =+  delete =<< joinPath [indexName, mappingName, docId]++-- | 'bulk' uses+--    <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html Elasticsearch's bulk API>+--    to perform bulk operations. The 'BulkOperation' data type encodes the+--    index\/update\/delete\/create operations. You pass a 'V.Vector' of 'BulkOperation's+--    and a 'Server' to 'bulk' in order to send those operations up to your Elasticsearch+--    server to be performed. I changed from [BulkOperation] to a Vector due to memory overhead.+--+-- >>> let stream = V.fromList [BulkIndex testIndex testMapping (DocId "2") (toJSON (BulkTest "blah"))]+-- >>> _ <- runBH' $ bulk stream+-- >>> _ <- runBH' $ refreshIndex testIndex+bulk :: MonadBH m => V.Vector BulkOperation -> m Reply+bulk bulkOps = bindM2 post url (return body)+  where url = joinPath ["_bulk"]+        body = Just $ encodeBulkOperations bulkOps++-- | 'encodeBulkOperations' is a convenience function for dumping a vector of 'BulkOperation'+--   into an 'L.ByteString'+--+-- >>> let bulkOps = V.fromList [BulkIndex testIndex testMapping (DocId "2") (toJSON (BulkTest "blah"))]+-- >>> encodeBulkOperations bulkOps+-- "\n{\"index\":{\"_type\":\"tweet\",\"_id\":\"2\",\"_index\":\"twitter\"}}\n{\"name\":\"blah\"}\n"+encodeBulkOperations :: V.Vector BulkOperation -> L.ByteString+encodeBulkOperations stream = collapsed where+  blobs = fmap encodeBulkOperation stream+  mashedTaters = mash (mempty :: Builder) blobs+  collapsed = toLazyByteString $ mappend mashedTaters (byteString "\n")++mash :: Builder -> V.Vector L.ByteString -> Builder+mash = V.foldl' (\b x -> b `mappend` (byteString "\n") `mappend` (lazyByteString x))++mkBulkStreamValue :: Text -> Text -> Text -> Text -> Value+mkBulkStreamValue operation indexName mappingName docId =+  object [operation .=+          object [ "_index" .= indexName+                 , "_type"  .= mappingName+                 , "_id"    .= docId]]++-- | 'encodeBulkOperation' is a convenience function for dumping a single 'BulkOperation'+--   into an 'L.ByteString'+--+-- >>> let bulkOp = BulkIndex testIndex testMapping (DocId "2") (toJSON (BulkTest "blah"))+-- >>> encodeBulkOperation bulkOp+-- "{\"index\":{\"_type\":\"tweet\",\"_id\":\"2\",\"_index\":\"twitter\"}}\n{\"name\":\"blah\"}"+encodeBulkOperation :: BulkOperation -> L.ByteString+encodeBulkOperation (BulkIndex (IndexName indexName)+                (MappingName mappingName)+                (DocId docId) value) = blob+    where metadata = mkBulkStreamValue "index" indexName mappingName docId+          blob = encode metadata `mappend` "\n" `mappend` encode value++encodeBulkOperation (BulkCreate (IndexName indexName)+                (MappingName mappingName)+                (DocId docId) value) = blob+    where metadata = mkBulkStreamValue "create" indexName mappingName docId+          blob = encode metadata `mappend` "\n" `mappend` encode value++encodeBulkOperation (BulkDelete (IndexName indexName)+                (MappingName mappingName)+                (DocId docId)) = blob+    where metadata = mkBulkStreamValue "delete" indexName mappingName docId+          blob = encode metadata++encodeBulkOperation (BulkUpdate (IndexName indexName)+                (MappingName mappingName)+                (DocId docId) value) = blob+    where metadata = mkBulkStreamValue "update" indexName mappingName docId+          doc = object ["doc" .= value]+          blob = encode metadata `mappend` "\n" `mappend` encode doc++-- | 'getDocument' is a straight-forward way to fetch a single document from+--   Elasticsearch using a 'Server', 'IndexName', 'MappingName', and a 'DocId'.+--   The 'DocId' is the primary key for your Elasticsearch document.+--+-- >>> yourDoc <- runBH' $ getDocument testIndex testMapping (DocId "1")+getDocument :: MonadBH m => IndexName -> MappingName+               -> DocId -> m Reply+getDocument (IndexName indexName)+  (MappingName mappingName) (DocId docId) =+  get =<< joinPath [indexName, mappingName, docId]++-- | 'documentExists' enables you to check if a document exists. Returns 'Bool'+--   in IO+--+-- >>> exists <- runBH' $ documentExists testIndex testMapping Nothing (DocId "1")+documentExists :: MonadBH m => IndexName -> MappingName+               -> Maybe DocumentParent -> DocId -> m Bool+documentExists (IndexName indexName) (MappingName mappingName)+               parent (DocId docId) = do+  (_, exists) <- existentialQuery =<< url+  return exists+  where url = addQuery params <$> joinPath [indexName, mappingName, docId]+        parentParam = fmap (\(DocumentParent (DocId p)) -> p) parent+        params = LS.filter (\(_, v) -> isJust v) [("parent", parentParam)]++dispatchSearch :: MonadBH m => Text -> Search -> m Reply+dispatchSearch url search = post url' (Just (encode search))+  where url' = appendSearchTypeParam url (searchType search)++-- | 'searchAll', given a 'Search', will perform that search against all indexes+--   on an Elasticsearch server. Try to avoid doing this if it can be helped.+--+-- >>> let query = TermQuery (Term "user" "bitemyapp") Nothing+-- >>> let search = mkSearch (Just query) Nothing+-- >>> reply <- runBH' $ searchAll search+searchAll :: MonadBH m => Search -> m Reply+searchAll = bindM2 dispatchSearch url . return+  where url = joinPath ["_search"]++-- | 'searchByIndex', given a 'Search' and an 'IndexName', will perform that search+--   against all mappings within an index on an Elasticsearch server.+--+-- >>> let query = TermQuery (Term "user" "bitemyapp") Nothing+-- >>> let search = mkSearch (Just query) Nothing+-- >>> reply <- runBH' $ searchByIndex testIndex search+searchByIndex :: MonadBH m => IndexName -> Search -> m Reply+searchByIndex (IndexName indexName) = bindM2 dispatchSearch url . return+  where url = joinPath [indexName, "_search"]++-- | 'searchByType', given a 'Search', 'IndexName', and 'MappingName', will perform that+--   search against a specific mapping within an index on an Elasticsearch server.+--+-- >>> let query = TermQuery (Term "user" "bitemyapp") Nothing+-- >>> let search = mkSearch (Just query) Nothing+-- >>> reply <- runBH' $ searchByType testIndex testMapping search+searchByType :: MonadBH m => IndexName -> MappingName -> Search+                -> m Reply+searchByType (IndexName indexName)+  (MappingName mappingName) = bindM2 dispatchSearch url . return+  where url = joinPath [indexName, mappingName, "_search"]++-- | For a given scearch, request a scroll for efficient streaming of+-- search results. Note that the search is put into 'SearchTypeScan'+-- mode and thus results will not be sorted. Combine this with+-- 'advanceScroll' to efficiently stream through the full result set+getInitialScroll :: +  (FromJSON a, MonadThrow m, MonadBH m) => IndexName -> +                                           MappingName -> +                                           Search -> +                                           m (Either EsError (SearchResult a))+getInitialScroll (IndexName indexName) (MappingName mappingName) search' = do+    let url = addQuery params <$> joinPath [indexName, mappingName, "_search"]+        params = [("scroll", Just "1m")]+        sorting = Just [DefaultSortSpec $ mkSort (FieldName "_doc") Descending]+        search = search' { sortBody = sorting }+    resp' <- bindM2 dispatchSearch url (return search)+    parseEsResponse resp'++scroll' :: (FromJSON a, MonadBH m, MonadThrow m) => Maybe ScrollId -> +                                                    m ([Hit a], Maybe ScrollId)+scroll' Nothing = return ([], Nothing)+scroll' (Just sid) = do+    res <- advanceScroll sid 60+    case res of+      Right SearchResult {..} -> return (hits searchHits, scrollId)+      Left _ -> return ([], Nothing)++-- | Use the given scroll to fetch the next page of documents. If there are no+-- further pages, 'SearchResult.searchHits.hits' will be '[]'.+advanceScroll+  :: ( FromJSON a+     , MonadBH m+     , MonadThrow m+     )+  => ScrollId+  -> NominalDiffTime+  -- ^ How long should the snapshot of data be kept around? This timeout is updated every time 'advanceScroll' is used, so don't feel the need to set it to the entire duration of your search processing. Note that durations < 1s will be rounded up. Also note that 'NominalDiffTime' is an instance of Num so literals like 60 will be interpreted as seconds. 60s is a reasonable default.+  -> m (Either EsError (SearchResult a))+advanceScroll (ScrollId sid) scroll = do+  url <- joinPath ["_search", "scroll"]+  resp <- post url (Just $ encode scrollObject)+  parseEsResponse resp+  where scrollTime = showText secs <> "s"+        secs :: Integer+        secs = round scroll+        +        scrollObject = object [ "scroll" .= scrollTime+                              , "scroll_id" .= sid+                              ]++simpleAccumulator :: +  (FromJSON a, MonadBH m, MonadThrow m) => +                                [Hit a] ->+                                ([Hit a], Maybe ScrollId) ->+                                m ([Hit a], Maybe ScrollId)+simpleAccumulator oldHits (newHits, Nothing) = return (oldHits ++ newHits, Nothing)+simpleAccumulator oldHits ([], _) = return (oldHits, Nothing)+simpleAccumulator oldHits (newHits, msid) = do+    (newHits', msid') <- scroll' msid+    simpleAccumulator (oldHits ++ newHits) (newHits', msid')++-- | 'scanSearch' uses the 'scroll' API of elastic,+-- for a given 'IndexName' and 'MappingName'. Note that this will+-- consume the entire search result set and will be doing O(n) list+-- appends so this may not be suitable for large result sets. In that+-- case, 'getInitialScroll' and 'advanceScroll' are good low level+-- tools. You should be able to hook them up trivially to conduit,+-- pipes, or your favorite streaming IO abstraction of choice. Note+-- that ordering on the search would destroy performance and thus is+-- ignored.+scanSearch :: (FromJSON a, MonadBH m, MonadThrow m) => IndexName+                                                    -> MappingName+                                                    -> Search+                                                    -> m [Hit a]+scanSearch indexName mappingName search = do+    initialSearchResult <- getInitialScroll indexName mappingName search+    let (hits', josh) = case initialSearchResult of+                          Right SearchResult {..} -> (hits searchHits, scrollId)+                          Left _ -> ([], Nothing)+    (totalHits, _) <- simpleAccumulator [] (hits', josh)+    return totalHits++-- | 'mkSearch' is a helper function for defaulting additional fields of a 'Search'+--   to Nothing in case you only care about your 'Query' and 'Filter'. Use record update+--   syntax if you want to add things like aggregations or highlights while still using+--   this helper function.+--+-- >>> let query = TermQuery (Term "user" "bitemyapp") Nothing+-- >>> mkSearch (Just query) Nothing+-- Search {queryBody = Just (TermQuery (Term {termField = "user", termValue = "bitemyapp"}) Nothing), filterBody = Nothing, sortBody = Nothing, aggBody = Nothing, highlight = Nothing, trackSortScores = False, from = From 0, size = Size 10, searchType = SearchTypeQueryThenFetch, fields = Nothing, source = Nothing}+mkSearch :: Maybe Query -> Maybe Filter -> Search+mkSearch query filter = Search query filter Nothing Nothing Nothing False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing++-- | 'mkAggregateSearch' is a helper function that defaults everything in a 'Search' except for+--   the 'Query' and the 'Aggregation'.+--+-- >>> let terms = TermsAgg $ (mkTermsAggregation "user") { termCollectMode = Just BreadthFirst }+-- >>> terms+-- TermsAgg (TermsAggregation {term = Left "user", termInclude = Nothing, termExclude = Nothing, termOrder = Nothing, termMinDocCount = Nothing, termSize = Nothing, termShardSize = Nothing, termCollectMode = Just BreadthFirst, termExecutionHint = Nothing, termAggs = Nothing})+-- >>> let myAggregation = mkAggregateSearch Nothing $ mkAggregations "users" terms+mkAggregateSearch :: Maybe Query -> Aggregations -> Search+mkAggregateSearch query mkSearchAggs = Search query Nothing Nothing (Just mkSearchAggs) Nothing False (From 0) (Size 0) SearchTypeQueryThenFetch Nothing Nothing++-- | 'mkHighlightSearch' is a helper function that defaults everything in a 'Search' except for+--   the 'Query' and the 'Aggregation'.+--+-- >>> let query = QueryMatchQuery $ mkMatchQuery (FieldName "_all") (QueryString "haskell")+-- >>> let testHighlight = Highlights Nothing [FieldHighlight (FieldName "message") Nothing]+-- >>> let search = mkHighlightSearch (Just query) testHighlight+mkHighlightSearch :: Maybe Query -> Highlights -> Search+mkHighlightSearch query searchHighlights = Search query Nothing Nothing Nothing (Just searchHighlights) False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing++-- | 'pageSearch' is a helper function that takes a search and assigns the from+--    and size fields for the search. The from parameter defines the offset+--    from the first result you want to fetch. The size parameter allows you to+--    configure the maximum amount of hits to be returned.+--+-- >>> let query = QueryMatchQuery $ mkMatchQuery (FieldName "_all") (QueryString "haskell")+-- >>> let search = mkSearch (Just query) Nothing+-- >>> search+-- Search {queryBody = Just (QueryMatchQuery (MatchQuery {matchQueryField = FieldName "_all", matchQueryQueryString = QueryString "haskell", matchQueryOperator = Or, matchQueryZeroTerms = ZeroTermsNone, matchQueryCutoffFrequency = Nothing, matchQueryMatchType = Nothing, matchQueryAnalyzer = Nothing, matchQueryMaxExpansions = Nothing, matchQueryLenient = Nothing, matchQueryBoost = Nothing})), filterBody = Nothing, sortBody = Nothing, aggBody = Nothing, highlight = Nothing, trackSortScores = False, from = From 0, size = Size 10, searchType = SearchTypeQueryThenFetch, fields = Nothing, source = Nothing}+-- >>> pageSearch (From 10) (Size 100) search+-- Search {queryBody = Just (QueryMatchQuery (MatchQuery {matchQueryField = FieldName "_all", matchQueryQueryString = QueryString "haskell", matchQueryOperator = Or, matchQueryZeroTerms = ZeroTermsNone, matchQueryCutoffFrequency = Nothing, matchQueryMatchType = Nothing, matchQueryAnalyzer = Nothing, matchQueryMaxExpansions = Nothing, matchQueryLenient = Nothing, matchQueryBoost = Nothing})), filterBody = Nothing, sortBody = Nothing, aggBody = Nothing, highlight = Nothing, trackSortScores = False, from = From 10, size = Size 100, searchType = SearchTypeQueryThenFetch, fields = Nothing, source = Nothing}+pageSearch :: From     -- ^ The result offset+           -> Size     -- ^ The number of results to return+           -> Search  -- ^ The current seach+           -> Search  -- ^ The paged search+pageSearch resultOffset pageSize search = search { from = resultOffset, size = pageSize }++parseUrl' :: MonadThrow m => Text -> m Request+parseUrl' t = parseRequest (URI.escapeURIString URI.isAllowedInURI (T.unpack t))++-- | Was there an optimistic concurrency control conflict when+-- indexing a document?+isVersionConflict :: Reply -> Bool+isVersionConflict = statusCheck (== 409)++isSuccess :: Reply -> Bool+isSuccess = statusCheck (inRange (200, 299))++isCreated :: Reply -> Bool+isCreated = statusCheck (== 201)++statusCheck :: (Int -> Bool) -> Reply -> Bool+statusCheck prd = prd . NHTS.statusCode . responseStatus++-- | This is a hook that can be set via the 'bhRequestHook' function+-- that will authenticate all requests using an HTTP Basic+-- Authentication header. Note that it is *strongly* recommended that+-- this option only be used over an SSL connection.+--+-- >> (mkBHEnv myServer myManager) { bhRequestHook = basicAuthHook (EsUsername "myuser") (EsPassword "mypass") }+basicAuthHook :: Monad m => EsUsername -> EsPassword -> Request -> m Request+basicAuthHook (EsUsername u) (EsPassword p) = return . applyBasicAuth u' p'+  where u' = T.encodeUtf8 u+        p' = T.encodeUtf8 p+++boolQP :: Bool -> Text+boolQP True  = "true"+boolQP False = "false"
+ src/Database/V5/Bloodhound/Types.hs view
@@ -0,0 +1,5033 @@+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleContexts           #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses      #-}+-- {-# LANGUAGE NoMonomorphismRestriction  #-}+{-# LANGUAGE NamedFieldPuns             #-}+{-# LANGUAGE OverloadedStrings          #-}+{-# LANGUAGE RecordWildCards            #-}+{-# LANGUAGE UndecidableInstances       #-}++-------------------------------------------------------------------------------+-- |+-- Module : Database.Bloodhound.Types+-- 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+--+-- 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.+-------------------------------------------------------------------------------++++module Database.V5.Bloodhound.Types+       ( defaultCache+       , defaultIndexSettings+       , defaultIndexDocumentSettings+       , mkSort+       , showText+       , unpackId+       , mkMatchQuery+       , mkMultiMatchQuery+       , mkBoolQuery+       , mkRangeQuery+       , mkQueryStringQuery+       , mkAggregations+       , mkTermsAggregation+       , mkTermsScriptAggregation+       , mkDateHistogram+       , mkCardinalityAggregation+       , mkDocVersion+       , docVersionNumber+       , toMissing+       , toTerms+       , toDateHistogram+       , toTopHits+       , omitNulls+       , BH(..)+       , runBH+       , BHEnv+       , bhServer+       , bhManager+       , bhRequestHook+       , mkBHEnv+       , MonadBH(..)+       , Version(..)+       , VersionNumber(..)+       , MaybeNA(..)+       , BuildHash(..)+       , Status(..)+       , Existence(..)+       , NullValue(..)+       , IndexSettings(..)+       , UpdatableIndexSetting(..)+       , IndexSettingsSummary(..)+       , AllocationPolicy(..)+       , ReplicaBounds(..)+       , Bytes(..)+       , gigabytes+       , megabytes+       , kilobytes+       , FSType(..)+       , InitialShardCount(..)+       , NodeAttrFilter(..)+       , NodeAttrName(..)+       , CompoundFormat(..)+       , IndexTemplate(..)+       , Server(..)+       , Reply+       , EsResult(..)+       , EsResultFound(..)+       , EsError(..)+       , EsProtocolException(..)+       , IndexAlias(..)+       , IndexAliasName(..)+       , IndexAliasAction(..)+       , IndexAliasCreate(..)+       , IndexAliasSummary(..)+       , IndexAliasesSummary(..)+       , AliasRouting(..)+       , SearchAliasRouting(..)+       , IndexAliasRouting(..)+       , RoutingValue(..)+       , DocVersion+       , ExternalDocVersion(..)+       , VersionControl(..)+       , DocumentParent(..)+       , IndexDocumentSettings(..)+       , Query(..)+       , Search(..)+       , SearchType(..)+       , SearchResult(..)+       , ScrollId(..)+       , SearchHits(..)+       , TrackSortScores+       , From(..)+       , Size(..)+       , Source(..)+       , PatternOrPatterns(..)+       , Include(..)+       , Exclude(..)+       , Pattern(..)+       , ShardResult(..)+       , Hit(..)+       , Filter(..)+       , Seminearring(..)+       , BoolMatch(..)+       , Term(..)+       , GeoPoint(..)+       , GeoBoundingBoxConstraint(..)+       , GeoBoundingBox(..)+       , GeoFilterType(..)+       , Distance(..)+       , DistanceUnit(..)+       , DistanceType(..)+       , DistanceRange(..)+       , OptimizeBbox(..)+       , LatLon(..)+       , RangeValue(..)+       , RangeExecution(..)+       , LessThan(..)+       , LessThanEq(..)+       , GreaterThan(..)+       , GreaterThanEq(..)+       , LessThanD(..)+       , LessThanEqD(..)+       , GreaterThanD(..)+       , GreaterThanEqD(..)+       , Regexp(..)+       , RegexpFlags(..)+       , RegexpFlag(..)+       , FieldName(..)+       , Script(..)+       , IndexName(..)+       , IndexSelection(..)+       , NodeSelection(..)+       , NodeSelector(..)+       , ForceMergeIndexSettings(..)+       , defaultForceMergeIndexSettings+       , TemplateName(..)+       , TemplatePattern(..)+       , MappingName(..)+       , DocId(..)+       , CacheName(..)+       , CacheKey(..)+       , BulkOperation(..)+       , ReplicaCount(..)+       , ShardCount(..)+       , Sort+       , SortMode(..)+       , SortOrder(..)+       , SortSpec(..)+       , DefaultSort(..)+       , Missing(..)+       , OpenCloseIndex(..)+       , Method+       , Boost(..)+       , MatchQuery(..)+       , MultiMatchQuery(..)+       , BoolQuery(..)+       , BoostingQuery(..)+       , CommonTermsQuery(..)+       , DisMaxQuery(..)+       , FuzzyLikeThisQuery(..)+       , FuzzyLikeFieldQuery(..)+       , FuzzyQuery(..)+       , HasChildQuery(..)+       , HasParentQuery(..)+       , IndicesQuery(..)+       , MoreLikeThisQuery(..)+       , MoreLikeThisFieldQuery(..)+       , NestedQuery(..)+       , PrefixQuery(..)+       , QueryStringQuery(..)+       , SimpleQueryStringQuery(..)+       , RangeQuery(..)+       , RegexpQuery(..)+       , QueryString(..)+       , BooleanOperator(..)+       , ZeroTermsQuery(..)+       , CutoffFrequency(..)+       , Analyzer(..)+       , MaxExpansions(..)+       , Lenient(..)+       , MatchQueryType(..)+       , MultiMatchQueryType(..)+       , Tiebreaker(..)+       , MinimumMatch(..)+       , DisableCoord(..)+       , CommonMinimumMatch(..)+       , MinimumMatchHighLow(..)+       , PrefixLength(..)+       , Fuzziness(..)+       , IgnoreTermFrequency(..)+       , MaxQueryTerms(..)+       , ScoreType(..)+       , Score+       , Cache+       , TypeName(..)+       , BoostTerms(..)+       , MaxWordLength(..)+       , MinWordLength(..)+       , MaxDocFrequency(..)+       , MinDocFrequency(..)+       , PhraseSlop(..)+       , StopWord(..)+       , QueryPath(..)+       , MinimumTermFrequency(..)+       , PercentMatch(..)+       , FieldDefinition(..)+       , MappingField(..)+       , Mapping(..)+       , AllowLeadingWildcard(..)+       , LowercaseExpanded(..)+       , GeneratePhraseQueries(..)+       , Locale(..)+       , AnalyzeWildcard(..)+       , EnablePositionIncrements(..)+       , SimpleQueryFlag(..)+       , FieldOrFields(..)+       , Monoid(..)+       , ToJSON(..)+       , Interval(..)+       , TimeInterval(..)+       , ExecutionHint(..)+       , CollectionMode(..)+       , TermOrder(..)+       , TermInclusion(..)+       , SnapshotRepoSelection(..)+       , GenericSnapshotRepo(..)+       , SnapshotRepo(..)+       , SnapshotRepoConversionError(..)+       , SnapshotRepoType(..)+       , GenericSnapshotRepoSettings(..)+       , SnapshotRepoUpdateSettings(..)+       , defaultSnapshotRepoUpdateSettings+       , SnapshotRepoName(..)+       , SnapshotRepoPattern(..)+       , SnapshotVerification(..)+       , SnapshotNodeVerification(..)+       , FullNodeId(..)+       , NodeName(..)+       , ClusterName(..)+       , NodesInfo(..)+       , NodesStats(..)+       , NodeStats(..)+       , NodeBreakersStats(..)+       , NodeBreakerStats(..)+       , NodeHTTPStats(..)+       , NodeTransportStats(..)+       , NodeFSStats(..)+       , NodeDataPathStats(..)+       , NodeFSTotalStats(..)+       , NodeNetworkStats(..)+       , NodeThreadPoolsStats(..)+       , NodeThreadPoolStats(..)+       , NodeJVMStats(..)+       , JVMBufferPoolStats(..)+       , JVMGCStats(..)+       , JVMPoolStats(..)+       , NodeProcessStats(..)+       , NodeOSStats(..)+       , LoadAvgs(..)+       , NodeIndicesStats(..)+       , EsAddress(..)+       , PluginName(..)+       , NodeInfo(..)+       , NodePluginInfo(..)+       , NodeHTTPInfo(..)+       , NodeTransportInfo(..)+       , BoundTransportAddress(..)+       , NodeNetworkInfo(..)+       , MacAddress(..)+       , NetworkInterfaceName(..)+       , NodeNetworkInterface(..)+       , NodeThreadPoolsInfo(..)+       , NodeThreadPoolInfo(..)+       , ThreadPoolSize(..)+       , ThreadPoolType(..)+       , NodeJVMInfo(..)+       , JVMMemoryPool(..)+       , JVMGCCollector(..)+       , JVMMemoryInfo(..)+       , PID(..)+       , NodeOSInfo(..)+       , CPUInfo(..)+       , NodeProcessInfo(..)+       , FsSnapshotRepo(..)+       , SnapshotCreateSettings(..)+       , defaultSnapshotCreateSettings+       , SnapshotSelection(..)+       , SnapshotPattern(..)+       , SnapshotInfo(..)+       , SnapshotShardFailure(..)+       , ShardId(..)+       , SnapshotName(..)+       , SnapshotState(..)+       , SnapshotRestoreSettings(..)+       , defaultSnapshotRestoreSettings+       , RestoreRenamePattern(..)+       , RestoreRenameToken(..)+       , RRGroupRefNum+       , rrGroupRefNum+       , mkRRGroupRefNum+       , RestoreIndexSettings(..)++       , Aggregation(..)+       , Aggregations+       , AggregationResults+       , BucketValue(..)+       , Bucket(..)+       , BucketAggregation(..)+       , TermsAggregation(..)+       , MissingAggregation(..)+       , ValueCountAggregation(..)+       , FilterAggregation(..)+       , CardinalityAggregation(..)+       , DateHistogramAggregation(..)+       , DateRangeAggregation(..)+       , DateRangeAggRange(..)+       , DateMathExpr(..)+       , DateMathAnchor(..)+       , DateMathModifier(..)+       , DateMathUnit(..)+       , TopHitsAggregation(..)++       , Highlights(..)+       , FieldHighlight(..)+       , HighlightSettings(..)+       , PlainHighlight(..)+       , PostingsHighlight(..)+       , FastVectorHighlight(..)+       , CommonHighlight(..)+       , NonPostings(..)+       , HighlightEncoder(..)+       , HighlightTag(..)+       , HitHighlight++       , MissingResult(..)+       , TermsResult(..)+       , DateHistogramResult(..)+       , DateRangeResult(..)+       , TopHitResult(..)++       , EsUsername(..)+       , EsPassword(..)+         ) where++import           Control.Applicative                   as A+import           Control.Arrow                         (first)+import           Control.Monad.Catch+import           Control.Monad.Except+import           Control.Monad.Reader                  (MonadReader (..),+                                                        ReaderT (..))+import           Control.Monad.State                   (MonadState)+import           Control.Monad.Writer                  (MonadWriter)+import           Data.Aeson+import           Data.Aeson.Types                      (Pair, Parser,+                                                        emptyObject,+                                                        parseEither, parseMaybe)+import qualified Data.ByteString.Lazy.Char8            as L+import           Data.Char+import           Data.Hashable                         (Hashable)+import qualified Data.HashMap.Strict                   as HM+import           Data.List                             (foldl', intercalate,+                                                        nub)+import           Data.List.NonEmpty                    (NonEmpty (..), toList)+import qualified Data.Map.Strict                       as M+import           Data.Maybe+import           Data.Scientific                       (Scientific)+import           Data.Semigroup+import           Data.Text                             (Text)+import qualified Data.Text                             as T+import           Data.Time.Calendar+import           Data.Time.Clock                       (NominalDiffTime,+                                                        UTCTime)+import           Data.Time.Clock.POSIX+import qualified Data.Traversable                      as DT+import           Data.Typeable                         (Typeable)+import qualified Data.Vector                           as V+import qualified Data.Version                          as Vers+import           GHC.Enum+import           GHC.Generics                          (Generic)+import           Network.HTTP.Client+import qualified Network.HTTP.Types.Method             as NHTM+import qualified Text.ParserCombinators.ReadP          as RP+import qualified Text.Read                             as TR++import           Database.V5.Bloodhound.Types.Class+import           Database.V5.Bloodhound.Types.Internal++-- $setup+-- >>> :set -XOverloadedStrings+-- >>> import Data.Aeson+-- >>> import Database.V5.Bloodhound+-- >>> let testServer = (Server "http://localhost:9200")+-- >>> let testIndex = IndexName "twitter"+-- >>> let testMapping = MappingName "tweet"+-- >>> let defaultIndexSettings = IndexSettings (ShardCount 3) (ReplicaCount 2)++-- defaultIndexSettings is exported by Database.Bloodhound as well+-- no trailing slashes in servers, library handles building the path.++-- | 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 }+mkBHEnv :: Server -> Manager -> BHEnv+mkBHEnv s m = BHEnv s m return++newtype BH m a = BH {+      unBH :: ReaderT BHEnv m a+    } deriving ( Functor+               , A.Applicative+               , Monad+               , MonadIO+               , MonadState s+               , MonadWriter w+               , MonadError e+               , Alternative+               , MonadPlus+               , MonadFix+               , MonadThrow+               , MonadCatch+               , MonadMask)++instance MonadTrans BH where+  lift = BH . lift++instance (MonadReader r m) => MonadReader r (BH m) where+    ask = lift ask+    local f (BH (ReaderT m)) = BH $ ReaderT $ \r ->+      local f (m r)++instance (Functor m, Applicative m, MonadIO m) => MonadBH (BH m) where+  getBHEnv = BH getBHEnv++runBH :: BHEnv -> BH m a -> m a+runBH e f = runReaderT (unBH f) e++{-| 'Version' is embedded in 'Status' -}+data Version = Version { number         :: VersionNumber+                       , build_hash     :: BuildHash+                       , build_date     :: UTCTime+                       , build_snapshot :: Bool+                       , lucene_version :: VersionNumber } deriving (Eq, Read, Show, Generic, Typeable)++-- | Traditional software versioning number+newtype VersionNumber = VersionNumber { versionNumber :: Vers.Version+                                      } deriving (Eq, Read, Show, Generic, Typeable, Ord)++{-| '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.++   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-status.html#indices-status>+-}++data Status = Status { name         :: Text+                     , cluster_name :: Text+                     , cluster_uuid :: Text+                     , version      :: Version+                     , tagline      :: Text } deriving (Eq, Read, Show, Generic)++{-| '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 IndexSettings =+  IndexSettings { indexShards   :: ShardCount+                , indexReplicas :: ReplicaCount } deriving (Eq, Read, Show, Generic, Typeable)++{-| 'defaultIndexSettings' is an 'IndexSettings' with 3 shards and 2 replicas. -}+defaultIndexSettings :: IndexSettings+defaultIndexSettings =  IndexSettings (ShardCount 3) (ReplicaCount 2)+++{-| 'ForceMergeIndexSettings' is used to configure index optimization. See+    <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html>+    for more info.+-}+data ForceMergeIndexSettings =+  ForceMergeIndexSettings { maxNumSegments       :: Maybe Int+                            -- ^ Number of segments to optimize to. 1 will fully optimize the index. If omitted, the default behavior is to only optimize if the server deems it necessary.+                            , onlyExpungeDeletes :: Bool+                            -- ^ Should the optimize process only expunge segments with deletes in them? If the purpose of the optimization is to free disk space, this should be set to True.+                            , flushAfterOptimize :: Bool+                            -- ^ Should a flush be performed after the optimize.+                            } deriving (Eq, Show, Generic, Typeable)+++{-| 'defaultForceMergeIndexSettings' implements the default settings that+    ElasticSearch uses for index optimization. 'maxNumSegments' is Nothing,+    'onlyExpungeDeletes' is False, and flushAfterOptimize is True.+-}+defaultForceMergeIndexSettings :: ForceMergeIndexSettings+defaultForceMergeIndexSettings = ForceMergeIndexSettings Nothing False True++{-| '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>+-}+data UpdatableIndexSetting = 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+                           deriving (Eq, Show, Generic, Typeable)++data AllocationPolicy = 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+                      deriving (Eq, Read, Show, Generic, Typeable)++data ReplicaBounds = ReplicasBounded Int Int+                   | ReplicasLowerBounded Int+                   | ReplicasUnbounded+                   deriving (Eq, Read, Show, Generic, Typeable)++-- | 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+newtype Bytes = Bytes Int deriving (Eq, Read, Show, Generic, Typeable, Ord, ToJSON, FromJSON)++gigabytes :: Int -> Bytes+gigabytes n = megabytes (1000 * n)+++megabytes :: Int -> Bytes+megabytes n = kilobytes (1000 * n)+++kilobytes :: Int -> Bytes+kilobytes n = Bytes (1000 * n)+++data FSType = FSSimple+            | FSBuffered deriving (Eq, Read, Show, Generic, Typeable, Ord)++data InitialShardCount = QuorumShards+                       | QuorumMinus1Shards+                       | FullShards+                       | FullMinus1Shards+                       | ExplicitShards Int+                       deriving (Eq, Read, Show, Generic, Typeable)++data NodeAttrFilter = NodeAttrFilter { nodeAttrFilterName   :: NodeAttrName+                                     , nodeAttrFilterValues :: NonEmpty Text}+                                     deriving (Eq, Read, Show, Generic, Ord, Typeable)++newtype NodeAttrName = NodeAttrName Text deriving (Eq, Read, Show, Ord, Generic, Typeable)++data CompoundFormat = CompoundFileFormat Bool+                    | MergeSegmentVsTotalIndex Double+                    -- ^ percentage between 0 and 1 where 0 is false, 1 is true+                    deriving (Eq, Read, Show, Generic, Typeable)++newtype NominalDiffTimeJSON = NominalDiffTimeJSON { ndtJSON ::  NominalDiffTime }++data IndexSettingsSummary = IndexSettingsSummary { sSummaryIndexName     :: IndexName+                                                 , sSummaryFixedSettings :: IndexSettings+                                                 , sSummaryUpdateable    :: [UpdatableIndexSetting]}+                                                 deriving (Eq, Show, Generic, Typeable)++{-| 'Reply' and 'Method' are type synonyms from 'Network.HTTP.Types.Method.Method' -}+type Reply = Network.HTTP.Client.Response L.ByteString+type Method = NHTM.Method++{-| 'OpenCloseIndex' is a sum type for opening and closing indices.++   <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>+-}+data OpenCloseIndex = OpenIndex | CloseIndex deriving (Eq, Read, Show, Generic, Typeable)++data FieldType = GeoPointType+               | GeoShapeType+               | FloatType+               | IntegerType+               | LongType+               | ShortType+               | ByteType deriving (Eq, Read, Show, Generic, Typeable)++data FieldDefinition =+  FieldDefinition { fieldType :: FieldType } deriving (Eq, Read, Show, Generic, Typeable)++{-| 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+-}+data IndexTemplate =+  IndexTemplate { templatePattern  :: TemplatePattern+                , templateSettings :: Maybe IndexSettings+                , templateMappings :: [Value]+                }++data MappingField =+  MappingField   { mappingFieldName :: FieldName+                 , fieldDefinition  :: FieldDefinition } deriving (Eq, Read, Show, Generic, Typeable)++{-| 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.+-}+data Mapping = Mapping { typeName      :: TypeName+                       , mappingFields :: [MappingField] } deriving (Eq, Read, Show, Generic, Typeable)++{-| '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>+-}+data BulkOperation =+    BulkIndex  IndexName MappingName DocId Value+  | BulkCreate IndexName MappingName DocId Value+  | BulkDelete IndexName MappingName DocId+  | BulkUpdate IndexName MappingName DocId Value deriving (Eq, Read, Show, Generic, Typeable)++{-| 'EsResult' describes the standard wrapper JSON document that you see in+    successful Elasticsearch lookups or lookups that couldn't find the document.+-}+data EsResult a = EsResult { _index      :: Text+                           , _type       :: Text+                           , _id         :: Text+                           , foundResult :: Maybe (EsResultFound a)} deriving (Eq, Read, Show, Generic, Typeable)++{-| 'EsResultFound' contains the document and its metadata inside of an+    'EsResult' when the document was successfully found.+-}+data EsResultFound a = EsResultFound {  _version :: DocVersion+                                     , _source   :: a } deriving (Eq, Read, Show, Generic, Typeable)++{-| '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.+-}+data EsError = EsError { errorStatus  :: Int+                       , errorMessage :: Text } deriving (Eq, Read, Show, Generic, Typeable)++{-| '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.+-}+data EsProtocolException = EsProtocolException { esProtoExBody :: L.ByteString }+                                               deriving (Eq, Read, Show, Generic, Typeable)++instance Exception EsProtocolException++data IndexAlias = IndexAlias { srcIndex   :: IndexName+                             , indexAlias :: IndexAliasName } deriving (Eq, Read, Show, Generic, Typeable)++newtype IndexAliasName = IndexAliasName { indexAliasName :: IndexName } deriving (Eq, Read, Show, Generic, ToJSON)++data IndexAliasAction = AddAlias IndexAlias IndexAliasCreate+                      | RemoveAlias IndexAlias deriving (Read, Show, Eq, Generic, Typeable)++data IndexAliasCreate = IndexAliasCreate { aliasCreateRouting :: Maybe AliasRouting+                                         , aliasCreateFilter  :: Maybe Filter}+                                         deriving (Read, Show, Eq, Generic, Typeable)++data AliasRouting = AllAliasRouting RoutingValue+                  | GranularAliasRouting (Maybe SearchAliasRouting) (Maybe IndexAliasRouting)+                  deriving (Read, Show, Eq, Generic, Typeable)++newtype SearchAliasRouting = SearchAliasRouting (NonEmpty RoutingValue) deriving (Read, Show, Eq, Generic, Typeable)++newtype IndexAliasRouting = IndexAliasRouting RoutingValue deriving (Read, Show, Eq, Generic, ToJSON, FromJSON, Typeable)++newtype RoutingValue = RoutingValue { routingValue :: Text } deriving (Read, Show, Eq, Generic, ToJSON, FromJSON, Typeable)++newtype IndexAliasesSummary = IndexAliasesSummary { indexAliasesSummary :: [IndexAliasSummary] } deriving (Read, Show, Eq, Generic, Typeable)++{-| 'IndexAliasSummary' is a summary of an index alias configured for a server. -}+data IndexAliasSummary = IndexAliasSummary { indexAliasSummaryAlias  :: IndexAlias+                                           , indexAliasSummaryCreate :: IndexAliasCreate} deriving (Read, Show, Eq, Generic, Typeable)++{-| 'DocVersion' is an integer version number for a document between 1+and 9.2e+18 used for <<https://www.elastic.co/guide/en/elasticsearch/guide/current/optimistic-concurrency-control.html optimistic concurrency control>>.+-}+newtype DocVersion = DocVersion {+      docVersionNumber :: Int+    } deriving (Eq, Read, Show, Generic, Ord, ToJSON)++-- | Smart constructor for in-range doc version+mkDocVersion :: Int -> Maybe DocVersion+mkDocVersion i+  | i >= (docVersionNumber minBound) && i <= (docVersionNumber maxBound) =+    Just $ DocVersion i+  | otherwise = Nothing+++{-| 'ExternalDocVersion' is a convenience wrapper if your code uses its+own version numbers instead of ones from ES.+-}+newtype ExternalDocVersion = ExternalDocVersion DocVersion+    deriving (Eq, Read, Show, Generic, Ord, Bounded, Enum, ToJSON)++{-| 'VersionControl' is specified when indexing documents as a+optimistic concurrency control.+-}+data VersionControl = 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.+                    deriving (Read, Show, Eq, Generic, Ord)++{-| 'DocumentParent' is used to specify a parent document.+-}+newtype DocumentParent = DocumentParent DocId+  deriving (Eq, Read, Show, Generic, Typeable)++{-| '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'+-}+data IndexDocumentSettings =+  IndexDocumentSettings { idsVersionControl :: VersionControl+                        , idsParent         :: Maybe DocumentParent+                        } deriving (Eq, Read, Show, Generic, Typeable)++{-| Reasonable default settings. Chooses no version control and no parent.+-}+defaultIndexDocumentSettings :: IndexDocumentSettings+defaultIndexDocumentSettings = IndexDocumentSettings NoVersionControl Nothing++{-| 'Sort' is a synonym for a list of 'SortSpec's. Sort behavior is order+    dependent with later sorts acting as tie-breakers for earlier sorts.+-}+type Sort = [SortSpec]++{-| 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.++<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>+-}+data SortSpec = DefaultSortSpec DefaultSort+              | GeoDistanceSortSpec SortOrder GeoPoint DistanceUnit deriving (Eq, Read, Show, Generic, Typeable)++{-| '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.++    The `ignoreUnmapped`, when `Just` field is used to set the elastic 'unmapped_type'++<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>+-}+data DefaultSort =+  DefaultSort { sortFieldName  :: FieldName+              , sortOrder      :: SortOrder+                                  -- default False+              , ignoreUnmapped :: Maybe Text+              , sortMode       :: Maybe SortMode+              , missingSort    :: Maybe Missing+              , nestedFilter   :: Maybe Filter } deriving (Eq, Read, Show, Generic, Typeable)++{-| 'SortOrder' is 'Ascending' or 'Descending', as you might expect. These get+    encoded into "asc" or "desc" when turned into JSON.++<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#search-request-sort>+-}+data SortOrder = Ascending+               | Descending deriving (Eq, Read, Show, Generic, Typeable)++{-| 'Missing' prescribes how to handle missing fields. A missing field can be+    sorted last, first, or using a custom value as a substitute.++<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#_missing_values>+-}+data Missing = LastMissing+             | FirstMissing+             | CustomMissing Text deriving (Eq, Read, Show, Generic, Typeable)++{-| 'SortMode' prescribes how to handle sorting array/multi-valued fields.++http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#_sort_mode_option+-}+data SortMode = SortMin+              | SortMax+              | SortSum+              | SortAvg deriving (Eq, Read, Show, Generic, Typeable)++{-| 'mkSort' defaults everything but the 'FieldName' and the 'SortOrder' so+    that you can concisely describe the usual kind of 'SortSpec's you want.+-}+mkSort :: FieldName -> SortOrder -> DefaultSort+mkSort fieldName sOrder = DefaultSort fieldName sOrder Nothing Nothing Nothing Nothing++{-| 'Cache' is for telling ES whether it should cache a 'Filter' not.+    'Query's cannot be cached.+-}+type Cache   = Bool -- caching on/off+defaultCache :: Cache+defaultCache = False++{-| 'PrefixValue' is used in 'PrefixQuery' as the main query component.+-}+type PrefixValue = Text++{-| 'BooleanOperator' is the usual And/Or operators with an ES compatible+    JSON encoding baked in. Used all over the place.+-}+data BooleanOperator = And | Or deriving (Eq, Read, Show, Generic, Typeable)++{-| 'ShardCount' is part of 'IndexSettings'+-}+newtype ShardCount = ShardCount Int deriving (Eq, Read, Show, Generic, ToJSON, Typeable)++{-| 'ReplicaCount' is part of 'IndexSettings'+-}+newtype ReplicaCount = ReplicaCount Int deriving (Eq, Read, Show, Generic, ToJSON, Typeable)++{-| 'IndexName' is used to describe which index to query/create/delete+-}+newtype IndexName = IndexName Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)++{-| 'IndexSelection' is used for APIs which take a single index, a list of+    indexes, or the special @_all@ index.+-}+--TODO: this does not fully support <https://www.elastic.co/guide/en/elasticsearch/reference/1.7/multi-index.html multi-index syntax>. It wouldn't be too hard to implement but you'd have to add the optional parameters (ignore_unavailable, allow_no_indices, expand_wildcards) to any APIs using it. Also would be a breaking API.+data IndexSelection = IndexList (NonEmpty IndexName)+                    | AllIndexes deriving (Eq, Generic, Show, Typeable)++{-| 'NodeSelection' is used for most cluster APIs. See <https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.html#cluster-nodes here> for more details.+-}+data NodeSelection = LocalNode+                   -- ^ Whatever node receives this request+                   | NodeList (NonEmpty NodeSelector)+                   | AllNodes deriving (Eq, Generic, Show, Typeable)+++-- | 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.+data NodeSelector = 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.+                  deriving (Eq, Generic, Show, Typeable)++{-| 'TemplateName' is used to describe which template to query/create/delete+-}+newtype TemplateName = TemplateName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'TemplatePattern' represents a pattern which is matched against index names+-}+newtype TemplatePattern = TemplatePattern Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'MappingName' is part of mappings which are how ES describes and schematizes+    the data in the indices.+-}+newtype MappingName = MappingName Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)++{-| '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.+-}+newtype DocId = DocId Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)++{-| 'QueryString' is used to wrap query text bodies, be they human written or not.+-}+newtype QueryString = QueryString Text deriving (Eq, Generic, Read, Show, ToJSON, FromJSON, Typeable)++{-| '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.+-}+newtype FieldName = FieldName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+++{-| 'Script' is often used in place of 'FieldName' to specify more+complex ways of extracting a value from a document.+-}+newtype Script = Script { scriptText :: Text } deriving (Eq, Read, Show, Generic, Typeable)++{-| 'CacheName' is used in 'RegexpFilter' for describing the+    'CacheKey' keyed caching behavior.+-}+newtype CacheName = CacheName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'CacheKey' is used in 'RegexpFilter' to key regex caching.+-}+newtype CacheKey =+  CacheKey Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Existence =+  Existence Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype NullValue =+  NullValue Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype CutoffFrequency =+  CutoffFrequency Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Analyzer =+  Analyzer Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MaxExpansions =+  MaxExpansions Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| '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.+-}+newtype Lenient =+  Lenient Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Tiebreaker =+  Tiebreaker Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Boost =+  Boost Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype BoostTerms =+  BoostTerms Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| '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 MinimumMatch =+  MinimumMatch Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype DisableCoord =+  DisableCoord Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype IgnoreTermFrequency =+  IgnoreTermFrequency Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MinimumTermFrequency =+  MinimumTermFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MaxQueryTerms =+  MaxQueryTerms Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype Fuzziness =+  Fuzziness Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'PrefixLength' is the prefix length used in queries, defaults to 0. -}+newtype PrefixLength =+  PrefixLength Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype TypeName =+  TypeName Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype PercentMatch =+  PercentMatch Double deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype StopWord =+  StopWord Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype QueryPath =+  QueryPath Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 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 AllowLeadingWildcard =+  AllowLeadingWildcard     Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype LowercaseExpanded =+  LowercaseExpanded        Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype EnablePositionIncrements =+  EnablePositionIncrements Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| By default, wildcard terms in a query are not analyzed.+    Setting 'AnalyzeWildcard' to true enables best-effort analysis.+-}+newtype AnalyzeWildcard = AnalyzeWildcard Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'GeneratePhraseQueries' defaults to false.+-}+newtype GeneratePhraseQueries =+  GeneratePhraseQueries Bool deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'Locale' is used for string conversions - defaults to ROOT.+-}+newtype Locale        = Locale        Text deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MaxWordLength = MaxWordLength Int  deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MinWordLength = MinWordLength Int  deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++{-| 'PhraseSlop' sets the default slop for phrases, 0 means exact+     phrase matches. Default is 0.+-}+newtype PhraseSlop      = PhraseSlop      Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MinDocFrequency = MinDocFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)+newtype MaxDocFrequency = MaxDocFrequency Int deriving (Eq, Read, Show, Generic, ToJSON, FromJSON, Typeable)++-- | Newtype wrapper to parse ES's concerning tendency to in some APIs return a floating point number of milliseconds since epoch ಠ_ಠ+newtype POSIXMS = POSIXMS { posixMS :: UTCTime }++{-| 'unpackId' is a silly convenience function that gets used once.+-}+unpackId :: DocId -> Text+unpackId (DocId docId) = docId++type TrackSortScores = Bool+newtype From = From Int deriving (Eq, Read, Show, Generic, ToJSON)+newtype Size = Size Int deriving (Eq, Read, Show, Generic, ToJSON)++data Search = Search { queryBody       :: Maybe Query+                     , filterBody      :: Maybe Filter+                     , sortBody        :: Maybe Sort+                     , aggBody         :: Maybe Aggregations+                     , highlight       :: Maybe Highlights+                       -- default False+                     , trackSortScores :: TrackSortScores+                     , from            :: From+                     , size            :: Size+                     , searchType      :: SearchType+                     , fields          :: Maybe [FieldName]+                     , source          :: Maybe Source } deriving (Eq, Read, Show, Generic, Typeable)++data SearchType = SearchTypeQueryThenFetch+                | SearchTypeDfsQueryThenFetch+  deriving (Eq, Read, Show, Generic, Typeable)++data Source =+    NoSource+  | SourcePatterns PatternOrPatterns+  | SourceIncludeExclude Include Exclude+    deriving (Read, Show, Eq, Generic, Typeable)++data PatternOrPatterns = PopPattern   Pattern+                       | PopPatterns [Pattern] deriving (Eq, Read, Show, Generic, Typeable)++data Include = Include [Pattern] deriving (Eq, Read, Show, Generic, Typeable)+data Exclude = Exclude [Pattern] deriving (Eq, Read, Show, Generic, Typeable)++newtype Pattern = Pattern Text deriving (Eq, Read, Show, Generic, Typeable)++data Highlights = Highlights { globalsettings  :: Maybe HighlightSettings+                             , highlightFields :: [FieldHighlight]+                             } deriving (Read, Show, Eq, Generic, Typeable)++data FieldHighlight = FieldHighlight FieldName (Maybe HighlightSettings)+                      deriving (Read, Show, Eq, Generic, Typeable)+++data HighlightSettings = Plain PlainHighlight+                       | Postings PostingsHighlight+                       | FastVector FastVectorHighlight+                         deriving (Read, Show, Eq, Generic, Typeable)+data PlainHighlight =+    PlainHighlight { plainCommon  :: Maybe CommonHighlight+                   , plainNonPost :: Maybe NonPostings } deriving (Read, Show, Eq, Generic, Typeable)++ -- This requires that index_options are set to 'offset' in the mapping.+data PostingsHighlight = PostingsHighlight (Maybe CommonHighlight) deriving (Read, Show, Eq, Generic, Typeable)++-- This requires that term_vector is set to 'with_positions_offsets' in the mapping.+data FastVectorHighlight =+    FastVectorHighlight { fvCommon          :: Maybe CommonHighlight+                        , fvNonPostSettings :: Maybe NonPostings+                        , boundaryChars     :: Maybe Text+                        , boundaryMaxScan   :: Maybe Int+                        , fragmentOffset    :: Maybe Int+                        , matchedFields     :: [Text]+                        , phraseLimit       :: Maybe Int+                        } deriving (Read, Show, Eq, Generic, Typeable)++data CommonHighlight =+    CommonHighlight { order             :: Maybe Text+                    , forceSource       :: Maybe Bool+                    , tag               :: Maybe HighlightTag+                    , encoder           :: Maybe HighlightEncoder+                    , noMatchSize       :: Maybe Int+                    , highlightQuery    :: Maybe Query+                    , requireFieldMatch :: Maybe Bool+                    } deriving (Read, Show, Eq, Generic, Typeable)++-- Settings that are only applicable to FastVector and Plain highlighters.+data NonPostings =+    NonPostings { fragmentSize      :: Maybe Int+                , numberOfFragments :: Maybe Int} deriving (Read, Show, Eq, Generic, Typeable)++data HighlightEncoder = DefaultEncoder+                      | HTMLEncoder+                      deriving (Read, Show, Eq, Generic, Typeable)++-- NOTE: Should the tags use some kind of HTML type, rather than Text?+data HighlightTag = TagSchema Text+                  | CustomTags ([Text], [Text]) -- Only uses more than the first value in the lists if fvh+                  deriving (Read, Show, Eq, Generic, Typeable)+++data Query =+  TermQuery                     Term (Maybe Boost)+  | TermsQuery                  Text (NonEmpty Text)+  | QueryMatchQuery             MatchQuery+  | QueryMultiMatchQuery        MultiMatchQuery+  | QueryBoolQuery              BoolQuery+  | QueryBoostingQuery          BoostingQuery+  | QueryCommonTermsQuery       CommonTermsQuery+  | ConstantScoreQuery          Query Boost+  | QueryDisMaxQuery            DisMaxQuery+  | 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+  | QueryExistsQuery            FieldName+  | QueryMatchNoneQuery+  deriving (Eq, Read, Show, Generic, Typeable)++-- | As of Elastic 2.0, 'Filters' are just 'Queries' housed in a Bool Query, and+-- flagged in a different context.+newtype Filter = Filter { unFilter :: Query }+  deriving (Eq, Read, Show, Generic, Typeable)++instance ToJSON Filter where+  toJSON = toJSON . unFilter++instance FromJSON Filter where+  parseJSON v = Filter <$> parseJSON v++data RegexpQuery =+  RegexpQuery { regexpQueryField :: FieldName+              , regexpQuery      :: Regexp+              , regexpQueryFlags :: RegexpFlags+              , regexpQueryBoost :: Maybe Boost+              } deriving (Eq, Read, Show, Generic, Typeable)++data RangeQuery =+  RangeQuery { rangeQueryField :: FieldName+             , rangeQueryRange :: RangeValue+             , rangeQueryBoost :: Boost } deriving (Eq, Read, Show, Generic, Typeable)++mkRangeQuery :: FieldName -> RangeValue -> RangeQuery+mkRangeQuery f r = RangeQuery f r (Boost 1.0)++data SimpleQueryStringQuery =+  SimpleQueryStringQuery+    { simpleQueryStringQuery             :: QueryString+    , simpleQueryStringField             :: Maybe FieldOrFields+    , simpleQueryStringOperator          :: Maybe BooleanOperator+    , simpleQueryStringAnalyzer          :: Maybe Analyzer+    , simpleQueryStringFlags             :: Maybe (NonEmpty SimpleQueryFlag)+    , simpleQueryStringLowercaseExpanded :: Maybe LowercaseExpanded+    , simpleQueryStringLocale            :: Maybe Locale+    } deriving (Eq, Read, Show, Generic, Typeable)++data SimpleQueryFlag =+  SimpleQueryAll+  | SimpleQueryNone+  | SimpleQueryAnd+  | SimpleQueryOr+  | SimpleQueryPrefix+  | SimpleQueryPhrase+  | SimpleQueryPrecedence+  | SimpleQueryEscape+  | SimpleQueryWhitespace+  | SimpleQueryFuzzy+  | SimpleQueryNear+  | SimpleQuerySlop deriving (Eq, Read, Show, Generic, Typeable)++-- use_dis_max and tie_breaker when fields are plural?+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+  } deriving (Eq, Read, Show, Generic, Typeable)++mkQueryStringQuery :: QueryString -> QueryStringQuery+mkQueryStringQuery qs =+  QueryStringQuery qs Nothing Nothing+  Nothing Nothing Nothing Nothing+  Nothing Nothing Nothing Nothing+  Nothing Nothing Nothing Nothing+  Nothing Nothing++data FieldOrFields = FofField   FieldName+                   | FofFields (NonEmpty FieldName) deriving (Eq, Read, Show, Generic, Typeable)++data PrefixQuery =+  PrefixQuery+  { prefixQueryField       :: FieldName+  , prefixQueryPrefixValue :: Text+  , prefixQueryBoost       :: Maybe Boost } deriving (Eq, Read, Show, Generic, Typeable)++data NestedQuery =+  NestedQuery+  { nestedQueryPath      :: QueryPath+  , nestedQueryScoreType :: ScoreType+  , nestedQuery          :: Query } deriving (Eq, Read, Show, Generic, Typeable)++data MoreLikeThisFieldQuery =+  MoreLikeThisFieldQuery+  { moreLikeThisFieldText            :: Text+  , moreLikeThisFieldFields          :: FieldName+                                        -- default 0.3 (30%)+  , 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+  } deriving (Eq, Read, Show, Generic, Typeable)++data MoreLikeThisQuery =+  MoreLikeThisQuery+  { moreLikeThisText            :: Text+  , moreLikeThisFields          :: Maybe (NonEmpty FieldName)+    -- default 0.3 (30%)+  , 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+  } deriving (Eq, Read, Show, Generic, Typeable)++data IndicesQuery =+  IndicesQuery+  { indicesQueryIndices :: [IndexName]+  , indicesQuery        :: Query+    -- default "all"+  , indicesQueryNoMatch :: Maybe Query } deriving (Eq, Read, Show, Generic, Typeable)++data HasParentQuery =+  HasParentQuery+  { hasParentQueryType      :: TypeName+  , hasParentQuery          :: Query+  , hasParentQueryScoreType :: Maybe ScoreType } deriving (Eq, Read, Show, Generic, Typeable)++data HasChildQuery =+  HasChildQuery+  { hasChildQueryType      :: TypeName+  , hasChildQuery          :: Query+  , hasChildQueryScoreType :: Maybe ScoreType } deriving (Eq, Read, Show, Generic, Typeable)++data ScoreType =+  ScoreTypeMax+  | ScoreTypeSum+  | ScoreTypeAvg+  | ScoreTypeNone deriving (Eq, Read, Show, Generic, Typeable)++data FuzzyQuery =+  FuzzyQuery { fuzzyQueryField         :: FieldName+             , fuzzyQueryValue         :: Text+             , fuzzyQueryPrefixLength  :: PrefixLength+             , fuzzyQueryMaxExpansions :: MaxExpansions+             , fuzzyQueryFuzziness     :: Fuzziness+             , fuzzyQueryBoost         :: Maybe Boost+             } deriving (Eq, Read, Show, Generic, Typeable)++data FuzzyLikeFieldQuery =+  FuzzyLikeFieldQuery+  { fuzzyLikeField                    :: FieldName+    -- anaphora is good for the soul.+  , fuzzyLikeFieldText                :: Text+  , fuzzyLikeFieldMaxQueryTerms       :: MaxQueryTerms+  , fuzzyLikeFieldIgnoreTermFrequency :: IgnoreTermFrequency+  , fuzzyLikeFieldFuzziness           :: Fuzziness+  , fuzzyLikeFieldPrefixLength        :: PrefixLength+  , fuzzyLikeFieldBoost               :: Boost+  , fuzzyLikeFieldAnalyzer            :: Maybe Analyzer+  } deriving (Eq, Read, Show, Generic, Typeable)++data FuzzyLikeThisQuery =+  FuzzyLikeThisQuery+  { fuzzyLikeFields              :: [FieldName]+  , fuzzyLikeText                :: Text+  , fuzzyLikeMaxQueryTerms       :: MaxQueryTerms+  , fuzzyLikeIgnoreTermFrequency :: IgnoreTermFrequency+  , fuzzyLikeFuzziness           :: Fuzziness+  , fuzzyLikePrefixLength        :: PrefixLength+  , fuzzyLikeBoost               :: Boost+  , fuzzyLikeAnalyzer            :: Maybe Analyzer+  } deriving (Eq, Read, Show, Generic, Typeable)++data DisMaxQuery =+  DisMaxQuery { disMaxQueries    :: [Query]+                -- default 0.0+              , disMaxTiebreaker :: Tiebreaker+              , disMaxBoost      :: Maybe Boost+              } deriving (Eq, Read, Show, Generic, Typeable)++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 } deriving (Eq, Read, Show, Generic, Typeable)++{-| 'mkMatchQuery' is a convenience function that defaults the less common parameters,+    enabling you to provide only the 'FieldName' and 'QueryString' to make a 'MatchQuery'+-}+mkMatchQuery :: FieldName -> QueryString -> MatchQuery+mkMatchQuery field query = MatchQuery field query Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing++data MatchQueryType =+  MatchPhrase+  | MatchPhrasePrefix deriving (Eq, Read, Show, Generic, Typeable)++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 } deriving (Eq, Read, Show, Generic, Typeable)++{-| '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'.+-}++mkMultiMatchQuery :: [FieldName] -> QueryString -> MultiMatchQuery+mkMultiMatchQuery matchFields query =+  MultiMatchQuery matchFields query+  Or ZeroTermsNone Nothing Nothing Nothing Nothing Nothing Nothing++data MultiMatchQueryType =+  MultiMatchBestFields+  | MultiMatchMostFields+  | MultiMatchCrossFields+  | MultiMatchPhrase+  | MultiMatchPhrasePrefix deriving (Eq, Read, Show, Generic, Typeable)++data BoolQuery =+  BoolQuery { boolQueryMustMatch          :: [Query]+            , boolQueryFilter             :: [Filter]+            , boolQueryMustNotMatch       :: [Query]+            , boolQueryShouldMatch        :: [Query]+            , boolQueryMinimumShouldMatch :: Maybe MinimumMatch+            , boolQueryBoost              :: Maybe Boost+            , boolQueryDisableCoord       :: Maybe DisableCoord+            } deriving (Eq, Read, Show, Generic, Typeable)++mkBoolQuery :: [Query] -> [Filter] -> [Query] -> [Query] -> BoolQuery+mkBoolQuery must filt mustNot should =+  BoolQuery must filt mustNot should Nothing Nothing Nothing++data BoostingQuery =+  BoostingQuery { positiveQuery :: Query+                , negativeQuery :: Query+                , negativeBoost :: Boost } deriving (Eq, Read, Show, Generic, Typeable)++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+                   } deriving (Eq, Read, Show, Generic, Typeable)++data CommonMinimumMatch =+    CommonMinimumMatchHighLow MinimumMatchHighLow+  | CommonMinimumMatch        MinimumMatch+  deriving (Eq, Read, Show, Generic, Typeable)++data MinimumMatchHighLow =+  MinimumMatchHighLow { lowFreq  :: MinimumMatch+                      , highFreq :: MinimumMatch } deriving (Eq, Read, Show, Generic, Typeable)++data ZeroTermsQuery = ZeroTermsNone+                    | ZeroTermsAll deriving (Eq, Read, Show, Generic, Typeable)++data RangeExecution = RangeExecutionIndex+                    | RangeExecutionFielddata deriving (Eq, Read, Show, Generic, Typeable)++newtype Regexp = Regexp Text deriving (Eq, Read, Show, Generic, Typeable, FromJSON)++data RegexpFlags = AllRegexpFlags+                 | NoRegexpFlags+                 | SomeRegexpFlags (NonEmpty RegexpFlag) deriving (Eq, Read, Show, Generic, Typeable)++data RegexpFlag = AnyString+                | Automaton+                | Complement+                | Empty+                | Intersection+                | Interval deriving (Eq, Read, Show, Generic, Typeable)++newtype LessThan = LessThan Double deriving (Eq, Read, Show, Generic, Typeable)+newtype LessThanEq = LessThanEq Double deriving (Eq, Read, Show, Generic, Typeable)+newtype GreaterThan = GreaterThan Double deriving (Eq, Read, Show, Generic, Typeable)+newtype GreaterThanEq = GreaterThanEq Double deriving (Eq, Read, Show, Generic, Typeable)++newtype LessThanD = LessThanD UTCTime deriving (Eq, Read, Show, Generic, Typeable)+newtype LessThanEqD = LessThanEqD UTCTime deriving (Eq, Read, Show, Generic, Typeable)+newtype GreaterThanD = GreaterThanD UTCTime deriving (Eq, Read, Show, Generic, Typeable)+newtype GreaterThanEqD = GreaterThanEqD UTCTime deriving (Eq, Read, Show, Generic, Typeable)++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+                deriving (Eq, Read, Show, Generic, Typeable)++rangeValueToPair :: RangeValue -> [Pair]+rangeValueToPair rv = case rv of+  RangeDateLte (LessThanEqD t)                       -> ["lte" .= t]+  RangeDateGte (GreaterThanEqD t)                    -> ["gte" .= t]+  RangeDateLt (LessThanD t)                          -> ["lt"  .= t]+  RangeDateGt (GreaterThanD t)                       -> ["gt"  .= t]+  RangeDateGteLte (GreaterThanEqD l) (LessThanEqD g) -> ["gte" .= l, "lte" .= g]+  RangeDateGtLte (GreaterThanD l) (LessThanEqD g)    -> ["gt"  .= l, "lte" .= g]+  RangeDateGteLt (GreaterThanEqD l) (LessThanD g)    -> ["gte" .= l, "lt"  .= g]+  RangeDateGtLt (GreaterThanD l) (LessThanD g)       -> ["gt"  .= l, "lt"  .= g]+  RangeDoubleLte (LessThanEq t)                      -> ["lte" .= t]+  RangeDoubleGte (GreaterThanEq t)                   -> ["gte" .= t]+  RangeDoubleLt (LessThan t)                         -> ["lt"  .= t]+  RangeDoubleGt (GreaterThan t)                      -> ["gt"  .= t]+  RangeDoubleGteLte (GreaterThanEq l) (LessThanEq g) -> ["gte" .= l, "lte" .= g]+  RangeDoubleGtLte (GreaterThan l) (LessThanEq g)    -> ["gt"  .= l, "lte" .= g]+  RangeDoubleGteLt (GreaterThanEq l) (LessThan g)    -> ["gte" .= l, "lt"  .= g]+  RangeDoubleGtLt (GreaterThan l) (LessThan g)       -> ["gt"  .= l, "lt"  .= g]++data Term = Term { termField :: Text+                 , termValue :: Text } deriving (Eq, Read, Show, Generic, Typeable)++data BoolMatch = MustMatch    Term  Cache+               | MustNotMatch Term  Cache+               | ShouldMatch [Term] Cache deriving (Eq, Read, Show, Generic, Typeable)++-- "memory" or "indexed"+data GeoFilterType = GeoFilterMemory+                   | GeoFilterIndexed deriving (Eq, Read, Show, Generic, Typeable)++data LatLon = LatLon { lat :: Double+                     , lon :: Double } deriving (Eq, Read, Show, Generic, Typeable)++data GeoBoundingBox =+  GeoBoundingBox { topLeft     :: LatLon+                 , bottomRight :: LatLon } deriving (Eq, Read, Show, Generic, Typeable)++data GeoBoundingBoxConstraint =+  GeoBoundingBoxConstraint { geoBBField        :: FieldName+                           , constraintBox     :: GeoBoundingBox+                           , bbConstraintcache :: Cache+                           , geoType           :: GeoFilterType+                           } deriving (Eq, Read, Show, Generic, Typeable)++data GeoPoint =+  GeoPoint { geoField :: FieldName+           , latLon   :: LatLon} deriving (Eq, Read, Show, Generic, Typeable)++data DistanceUnit = Miles+                  | Yards+                  | Feet+                  | Inches+                  | Kilometers+                  | Meters+                  | Centimeters+                  | Millimeters+                  | NauticalMiles deriving (Eq, Read, Show, Generic, Typeable)++data DistanceType = Arc+                  | SloppyArc -- doesn't exist <1.0+                  | Plane deriving (Eq, Read, Show, Generic, Typeable)++data OptimizeBbox = OptimizeGeoFilterType GeoFilterType+                  | NoOptimizeBbox deriving (Eq, Read, Show, Generic, Typeable)++data Distance =+  Distance { coefficient :: Double+           , unit        :: DistanceUnit } deriving (Eq, Read, Show, Generic, Typeable)++data DistanceRange =+  DistanceRange { distanceFrom :: Distance+                , distanceTo   :: Distance } deriving (Eq, Read, Show, Generic, Typeable)++data SearchResult a =+  SearchResult { took         :: Int+               , timedOut     :: Bool+               , shards       :: ShardResult+               , searchHits   :: SearchHits a+               , aggregations :: Maybe AggregationResults+               , scrollId     :: Maybe ScrollId } deriving (Eq, Read, Show, Generic, Typeable)++newtype ScrollId = ScrollId Text deriving (Eq, Read, Show, Generic, Ord, ToJSON, FromJSON)++type Score = Maybe Double++data SearchHits a =+  SearchHits { hitsTotal :: Int+             , maxScore  :: Score+             , hits      :: [Hit a] } deriving (Eq, Read, Show, Generic, Typeable)++instance Semigroup (SearchHits a) where+  (SearchHits ta ma ha) <> (SearchHits tb mb hb) = SearchHits (ta + tb) (max ma mb) (ha <> hb)++instance Monoid (SearchHits a) where+  mempty = SearchHits 0 Nothing mempty+  mappend = (<>)++data Hit a =+  Hit { hitIndex     :: IndexName+      , hitType      :: MappingName+      , hitDocId     :: DocId+      , hitScore     :: Score+      , hitSource    :: Maybe a+      , hitHighlight :: Maybe HitHighlight } deriving (Eq, Read, Show, Generic, Typeable)++data ShardResult =+  ShardResult { shardTotal       :: Int+              , shardsSuccessful :: Int+              , shardsFailed     :: Int } deriving (Eq, Read, Show, Generic, Typeable)++type HitHighlight = M.Map Text [Text]++showText :: Show a => a -> Text+showText = T.pack . show++readMay :: Read a => String -> Maybe a+readMay s = case reads s of+              (a, ""):_ -> Just a+              _         -> Nothing++parseReadText :: Read a => Text -> Parser a+parseReadText = maybe mzero return . readMay . T.unpack++type Aggregations = M.Map Text Aggregation++emptyAggregations :: Aggregations+emptyAggregations = M.empty++mkAggregations :: Text -> Aggregation -> Aggregations+mkAggregations name aggregation = M.insert name aggregation emptyAggregations++data TermOrder = TermOrder{ termSortField :: Text+                          , termSortOrder :: SortOrder } deriving (Eq, Read, Show, Generic, Typeable)++data TermInclusion = TermInclusion Text+                   | TermPattern Text Text deriving (Eq, Read, Show, Generic, Typeable)++data CollectionMode = BreadthFirst+                    | DepthFirst deriving (Eq, Read, Show, Generic, Typeable)++data ExecutionHint = Ordinals+                   | GlobalOrdinals+                   | GlobalOrdinalsHash+                   | GlobalOrdinalsLowCardinality+                   | Map deriving (Eq, Read, Show, Generic, Typeable)++data TimeInterval = Weeks+                  | Days+                  | Hours+                  | Minutes+                  | Seconds deriving Eq++data Interval = Year+              | Quarter+              | Month+              | Week+              | Day+              | Hour+              | Minute+              | Second deriving (Eq, Read, Show, Generic, Typeable)++data Aggregation = TermsAgg TermsAggregation+                 | CardinalityAgg CardinalityAggregation+                 | DateHistogramAgg DateHistogramAggregation+                 | ValueCountAgg ValueCountAggregation+                 | FilterAgg FilterAggregation+                 | DateRangeAgg DateRangeAggregation+                 | MissingAgg MissingAggregation+                 | TopHitsAgg TopHitsAggregation+  deriving (Eq, Read, Show, Generic, Typeable)++data TopHitsAggregation = TopHitsAggregation+  { taFrom :: Maybe From+  , taSize :: Maybe Size+  , taSort :: Maybe Sort+  } deriving (Eq, Read, Show)++data MissingAggregation = MissingAggregation+  { maField :: Text+  } deriving (Eq, Read, Show, Generic, Typeable)++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+                                    } deriving (Eq, Read, Show, Generic, Typeable)++data CardinalityAggregation = CardinalityAggregation { cardinalityField   :: FieldName,+                                                       precisionThreshold :: Maybe Int+                                                     } deriving (Eq, Read, Show, Generic, Typeable)++data DateHistogramAggregation = DateHistogramAggregation { dateField      :: FieldName+                                                         , dateInterval   :: Interval+                                                         , dateFormat     :: Maybe Text+                                                         -- pre and post deprecated in 1.5+                                                         , datePreZone    :: Maybe Text+                                                         , datePostZone   :: Maybe Text+                                                         , datePreOffset  :: Maybe Text+                                                         , datePostOffset :: Maybe Text+                                                         , dateAggs       :: Maybe Aggregations+                                                         } deriving (Eq, Read, Show, Generic, Typeable)+++data DateRangeAggregation = DateRangeAggregation { draField  :: FieldName+                                                 , draFormat :: Maybe Text+                                                 , draRanges :: NonEmpty DateRangeAggRange+                                                 } deriving (Eq, Read, Show, Generic, Typeable)++data DateRangeAggRange = DateRangeFrom DateMathExpr+                       | DateRangeTo DateMathExpr+                       | DateRangeFromAndTo DateMathExpr DateMathExpr deriving (Eq, Read, Show, Generic, Typeable)++-- | See <https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math> for more information.+data DateMathExpr = DateMathExpr DateMathAnchor [DateMathModifier] deriving (Eq, Read, Show, Generic, Typeable)+++-- | Starting point for a date range. This along with the 'DateMathModifiers' gets you the date ES will start from.+data DateMathAnchor = DMNow+                    | DMDate Day deriving (Eq, Read, Show, Generic, Typeable)++data DateMathModifier = AddTime Int DateMathUnit+                      | SubtractTime Int DateMathUnit+                      | RoundDownTo DateMathUnit deriving (Eq, Read, Show, Generic, Typeable)++data DateMathUnit = DMYear+                  | DMMonth+                  | DMWeek+                  | DMDay+                  | DMHour+                  | DMMinute+                  | DMSecond deriving (Eq, Read, Show, Generic, Typeable)++-- | See <https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-valuecount-aggregation.html> for more information.+data ValueCountAggregation = FieldValueCount FieldName+                           | ScriptValueCount Script deriving (Eq, Read, Show, Generic, Typeable)++-- | 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 FilterAggregation = FilterAggregation { faFilter :: Filter+                                           , faAggs   :: Maybe Aggregations} deriving (Eq, Read, Show, Generic, Typeable)++mkTermsAggregation :: Text -> TermsAggregation+mkTermsAggregation t = TermsAggregation (Left t) Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing++mkTermsScriptAggregation :: Text -> TermsAggregation+mkTermsScriptAggregation t = TermsAggregation (Right t) Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing++mkDateHistogram :: FieldName -> Interval -> DateHistogramAggregation+mkDateHistogram t i = DateHistogramAggregation t i Nothing Nothing Nothing Nothing Nothing Nothing++mkCardinalityAggregation :: FieldName -> CardinalityAggregation+mkCardinalityAggregation t = CardinalityAggregation t Nothing++instance ToJSON Version where+  toJSON Version {..} = object ["number" .= number+                               ,"build_hash" .= build_hash+                               ,"build_date" .= build_date+                               ,"build_snapshot" .= build_snapshot+                               ,"lucene_version" .= lucene_version]++instance FromJSON Version where+  parseJSON = withObject "Version" parse+    where parse o = Version+                    <$> o .: "number"+                    <*> o .: "build_hash"+                    <*> o .: "build_date"+                    <*> o .: "build_snapshot"+                    <*> o .: "lucene_version"++instance ToJSON VersionNumber where+  toJSON = toJSON . Vers.showVersion . versionNumber++instance FromJSON VersionNumber where+  parseJSON = withText "VersionNumber" (parse . T.unpack)+    where+      parse s = case filter (null . snd)(RP.readP_to_S Vers.parseVersion s) of+                  [(v, _)] -> pure (VersionNumber v)+                  [] -> fail ("Invalid version string " ++ s)+                  xs -> fail ("Ambiguous version string " ++ s ++ " (" ++ intercalate ", " (Vers.showVersion . fst <$> xs) ++ ")")++instance ToJSON TermOrder where+  toJSON (TermOrder termSortField termSortOrder) = object [termSortField .= termSortOrder]++instance ToJSON TermInclusion where+  toJSON (TermInclusion x) = toJSON x+  toJSON (TermPattern pattern flags) = omitNulls [ "pattern" .= pattern,+                                                     "flags"   .= flags]++instance ToJSON CollectionMode where+  toJSON BreadthFirst = "breadth_first"+  toJSON DepthFirst   = "depth_first"++instance ToJSON ExecutionHint where+  toJSON Ordinals                     = "ordinals"+  toJSON GlobalOrdinals               = "global_ordinals"+  toJSON GlobalOrdinalsHash           = "global_ordinals_hash"+  toJSON GlobalOrdinalsLowCardinality = "global_ordinals_low_cardinality"+  toJSON Map                          = "map"++instance ToJSON Interval where+  toJSON Year    = "year"+  toJSON Quarter = "quarter"+  toJSON Month   = "month"+  toJSON Week    = "week"+  toJSON Day     = "day"+  toJSON Hour    = "hour"+  toJSON Minute  = "minute"+  toJSON Second  = "second"++instance Show TimeInterval where+  show Weeks   = "w"+  show Days    = "d"+  show Hours   = "h"+  show Minutes = "m"+  show Seconds = "s"++instance Read TimeInterval where+  readPrec = f =<< TR.get+    where+      f 'w' = return Weeks+      f 'd' = return Days+      f 'h' = return Hours+      f 'm' = return Minutes+      f 's' = return Seconds+      f  _  = fail "TimeInterval expected one of w, d, h, m, s"++instance ToJSON Aggregation where+  toJSON (TermsAgg (TermsAggregation term include exclude order minDocCount size shardSize collectMode executionHint termAggs)) =+    omitNulls ["terms" .= omitNulls [ toJSON' term,+                                      "include"        .= include,+                                      "exclude"        .= exclude,+                                      "order"          .= order,+                                      "min_doc_count"  .= minDocCount,+                                      "size"           .= size,+                                      "shard_size"     .= shardSize,+                                      "collect_mode"   .= collectMode,+                                      "execution_hint" .= executionHint+                                    ],+               "aggs"  .= termAggs ]+    where+      toJSON' x = case x of { Left y -> "field" .= y;  Right y -> "script" .= y }++  toJSON (CardinalityAgg (CardinalityAggregation field precisionThreshold)) =+    object ["cardinality" .= omitNulls [ "field"              .= field,+                                         "precisionThreshold" .= precisionThreshold+                                       ]+           ]++  toJSON (DateHistogramAgg (DateHistogramAggregation field interval format preZone postZone preOffset postOffset dateHistoAggs)) =+    omitNulls ["date_histogram" .= omitNulls [ "field"       .= field,+                                               "interval"    .= interval,+                                               "format"      .= format,+                                               "pre_zone"    .= preZone,+                                               "post_zone"   .= postZone,+                                               "pre_offset"  .= preOffset,+                                               "post_offset" .= postOffset+                                             ],+               "aggs"           .= dateHistoAggs ]+  toJSON (ValueCountAgg a) = object ["value_count" .= v]+    where v = case a of+                (FieldValueCount (FieldName n)) -> object ["field" .= n]+                (ScriptValueCount (Script s))   -> object ["script" .= s]+  toJSON (FilterAgg (FilterAggregation filt ags)) =+    omitNulls [ "filter" .= filt+              , "aggs" .= ags]+  toJSON (DateRangeAgg a) = object [ "date_range" .= a+                                   ]+  toJSON (MissingAgg (MissingAggregation{..})) =+    object ["missing" .= object ["field" .= maField]]++  toJSON (TopHitsAgg (TopHitsAggregation mfrom msize msort)) =+    omitNulls ["top_hits" .= omitNulls [ "size" .= msize+                                       , "from" .= mfrom+                                       , "sort" .= msort+                                       ]+              ]++instance ToJSON DateRangeAggregation where+  toJSON DateRangeAggregation {..} =+    omitNulls [ "field" .= draField+              , "format" .= draFormat+              , "ranges" .= toList draRanges+              ]++instance ToJSON DateRangeAggRange where+  toJSON (DateRangeFrom e)        = object [ "from" .= e ]+  toJSON (DateRangeTo e)          = object [ "to" .= e ]+  toJSON (DateRangeFromAndTo f t) = object [ "from" .= f, "to" .= t ]++instance ToJSON DateMathExpr where+  toJSON (DateMathExpr a mods) = String (fmtA a <> mconcat (fmtMod <$> mods))+    where fmtA DMNow         = "now"+          fmtA (DMDate date) = (T.pack $ showGregorian date) <> "||"+          fmtMod (AddTime n u)      = "+" <> showText n <> fmtU u+          fmtMod (SubtractTime n u) = "-" <> showText n <> fmtU u+          fmtMod (RoundDownTo u)    = "/" <> fmtU u+          fmtU DMYear   = "y"+          fmtU DMMonth  = "M"+          fmtU DMWeek   = "w"+          fmtU DMDay    = "d"+          fmtU DMHour   = "h"+          fmtU DMMinute = "m"+          fmtU DMSecond = "s"+++type AggregationResults = M.Map Text Value++class BucketAggregation a where+  key :: a -> BucketValue+  docCount :: a -> Int+  aggs :: a -> Maybe AggregationResults+++data Bucket a = Bucket { buckets :: [a]} deriving (Read, Show)++data BucketValue = TextValue Text+                 | ScientificValue Scientific+                 | BoolValue Bool deriving (Read, Show)++data MissingResult = MissingResult { missingDocCount :: Int } deriving (Show)++data TopHitResult a = TopHitResult { tarHits :: (SearchHits a)+                                   } deriving Show++data TermsResult = TermsResult { termKey       :: BucketValue+                               , termsDocCount :: Int+                               , termsAggs     :: Maybe AggregationResults } deriving (Read, Show)++data DateHistogramResult = DateHistogramResult { dateKey           :: Int+                                               , dateKeyStr        :: Maybe Text+                                               , dateDocCount      :: Int+                                               , dateHistogramAggs :: Maybe AggregationResults } deriving (Read, Show)++data DateRangeResult = DateRangeResult { dateRangeKey          :: Text+                                       , dateRangeFrom         :: Maybe UTCTime+                                       , dateRangeFromAsString :: Maybe Text+                                       , dateRangeTo           :: Maybe UTCTime+                                       , dateRangeToAsString   :: Maybe Text+                                       , dateRangeDocCount     :: Int+                                       , dateRangeAggs         :: Maybe AggregationResults } deriving (Read, Show, Eq, Generic, Typeable)++toTerms :: Text -> AggregationResults ->  Maybe (Bucket TermsResult)+toTerms = toAggResult++toDateHistogram :: Text -> AggregationResults -> Maybe (Bucket DateHistogramResult)+toDateHistogram = toAggResult++toMissing :: Text -> AggregationResults -> Maybe MissingResult+toMissing = toAggResult++toTopHits :: (FromJSON a) => Text -> AggregationResults -> Maybe (TopHitResult a)+toTopHits = toAggResult++toAggResult :: (FromJSON a) => Text -> AggregationResults -> Maybe a+toAggResult t a = M.lookup t a >>= deserialize+  where deserialize = parseMaybe parseJSON++instance BucketAggregation TermsResult where+  key = termKey+  docCount = termsDocCount+  aggs = termsAggs++instance BucketAggregation DateHistogramResult where+  key = TextValue . showText . dateKey+  docCount = dateDocCount+  aggs = dateHistogramAggs++instance BucketAggregation DateRangeResult where+  key = TextValue . dateRangeKey+  docCount = dateRangeDocCount+  aggs = dateRangeAggs++instance (FromJSON a, BucketAggregation a) => FromJSON (Bucket a) where+  parseJSON (Object v) = Bucket <$>+                         v .: "buckets"+  parseJSON _ = mempty++instance FromJSON BucketValue where+  parseJSON (String t) = return $ TextValue t+  parseJSON (Number s) = return $ ScientificValue s+  parseJSON (Bool b)   = return $ BoolValue b+  parseJSON _          = mempty++instance FromJSON MissingResult where+  parseJSON = withObject "MissingResult" parse+    where parse v = MissingResult <$> v .: "doc_count"++instance FromJSON TermsResult where+  parseJSON (Object v) = TermsResult        <$>+                         v .:   "key"       <*>+                         v .:   "doc_count" <*>+                         (pure $ getNamedSubAgg v ["key", "doc_count"])+  parseJSON _ = mempty++instance FromJSON DateHistogramResult where+  parseJSON (Object v) = DateHistogramResult   <$>+                         v .:  "key"           <*>+                         v .:? "key_as_string" <*>+                         v .:  "doc_count"     <*>+                         (pure $ getNamedSubAgg v [ "key"+                                                  , "doc_count"+                                                  , "key_as_string"+                                                  ]+                         )+  parseJSON _ = mempty++instance FromJSON DateRangeResult where+  parseJSON = withObject "DateRangeResult" parse+    where parse v = DateRangeResult                 <$>+                    v .:  "key"                     <*>+                    (fmap posixMS <$> v .:? "from") <*>+                    v .:? "from_as_string"          <*>+                    (fmap posixMS <$> v .:? "to")   <*>+                    v .:? "to_as_string"            <*>+                    v .:  "doc_count"               <*>+                    (pure $ getNamedSubAgg v [ "key"+                                             , "from"+                                             , "from_as_string"+                                             , "to"+                                             , "to_as_string"+                                             , "doc_count"+                                             ]+                    )++instance FromJSON POSIXMS where+  parseJSON = withScientific "POSIXMS" (return . parse)+    where parse n = let n' = truncate n :: Integer+                    in POSIXMS (posixSecondsToUTCTime (fromInteger (n' `div` 1000)))++instance (FromJSON a) => FromJSON (TopHitResult a) where+  parseJSON (Object v) = TopHitResult <$>+                         v .: "hits"+  parseJSON _          = fail "Failure in FromJSON (TopHitResult a)"++fieldTagged :: Monad m => (FieldName -> Object -> m a) -> Object -> m a+fieldTagged f o = case HM.toList o of+                    [(k, Object o')] -> f (FieldName k) o'+                    _ -> fail "Expected object with 1 field-named key"++-- Try to get an AggregationResults when we don't know the+-- field name. We filter out the known keys to try to minimize the noise.+getNamedSubAgg :: Object -> [Text] -> Maybe AggregationResults+getNamedSubAgg o knownKeys = maggRes+  where unknownKeys = HM.filterWithKey (\k _ -> k `notElem` knownKeys) o+        maggRes+          | HM.null unknownKeys = Nothing+          | otherwise           = Just . M.fromList $ HM.toList unknownKeys++instance ToJSON GeoPoint where+  toJSON (GeoPoint (FieldName geoPointField) geoPointLatLon) =+    object [ geoPointField  .= geoPointLatLon ]+++instance ToJSON Query where+  toJSON (TermQuery (Term termQueryField termQueryValue) boost) =+    object [ "term" .=+             object [termQueryField .= object merged]]+    where+      base = [ "value" .= termQueryValue ]+      boosted = maybe [] (return . ("boost" .=)) boost+      merged = mappend base boosted++  toJSON (TermsQuery fieldName terms) =+    object [ "terms" .= object conjoined ]+    where conjoined = [fieldName .= terms]++  toJSON (IdsQuery idsQueryMappingName docIds) =+    object [ "ids" .= object conjoined ]+    where conjoined = [ "type"   .= idsQueryMappingName+                      , "values" .= fmap toJSON docIds ]++  toJSON (QueryQueryStringQuery qQueryStringQuery) =+    object [ "query_string" .= qQueryStringQuery ]++  toJSON (QueryMatchQuery matchQuery) =+    object [ "match" .= matchQuery ]++  toJSON (QueryMultiMatchQuery multiMatchQuery) =+      toJSON multiMatchQuery++  toJSON (QueryBoolQuery boolQuery) =+    object [ "bool" .= boolQuery ]++  toJSON (QueryBoostingQuery boostingQuery) =+    object [ "boosting" .= boostingQuery ]++  toJSON (QueryCommonTermsQuery commonTermsQuery) =+    object [ "common" .= commonTermsQuery ]++  toJSON (ConstantScoreQuery query boost) =+    object ["constant_score" .= object ["query" .= query+                                       , "boost" .= boost]]++  toJSON (QueryDisMaxQuery disMaxQuery) =+    object [ "dis_max" .= disMaxQuery ]++  toJSON (QueryFuzzyLikeThisQuery fuzzyQuery) =+    object [ "fuzzy_like_this" .= fuzzyQuery ]++  toJSON (QueryFuzzyLikeFieldQuery fuzzyFieldQuery) =+    object [ "fuzzy_like_this_field" .= fuzzyFieldQuery ]++  toJSON (QueryFuzzyQuery fuzzyQuery) =+    object [ "fuzzy" .= fuzzyQuery ]++  toJSON (QueryHasChildQuery childQuery) =+    object [ "has_child" .= childQuery ]++  toJSON (QueryHasParentQuery parentQuery) =+    object [ "has_parent" .= parentQuery ]++  toJSON (QueryIndicesQuery qIndicesQuery) =+    object [ "indices" .= qIndicesQuery ]++  toJSON (MatchAllQuery boost) =+    object [ "match_all" .= omitNulls [ "boost" .= boost ] ]++  toJSON (QueryMoreLikeThisQuery query) =+    object [ "more_like_this" .= query ]++  toJSON (QueryMoreLikeThisFieldQuery query) =+    object [ "more_like_this_field" .= query ]++  toJSON (QueryNestedQuery query) =+    object [ "nested" .= query ]++  toJSON (QueryPrefixQuery query) =+    object [ "prefix" .= query ]++  toJSON (QueryRangeQuery query) =+    object [ "range"  .= query ]++  toJSON (QueryRegexpQuery query) =+    object [ "regexp" .= query ]++  toJSON (QuerySimpleQueryStringQuery query) =+    object [ "simple_query_string" .= query ]++  toJSON (QueryExistsQuery (FieldName fieldName)) =+    object ["exists"  .= object+             ["field"  .= fieldName]+           ]+  toJSON QueryMatchNoneQuery =+    object ["match_none" .= object []]++instance FromJSON Query where+  parseJSON v = withObject "Query" parse v+    where parse o = termQuery `taggedWith` "term"+                <|> termsQuery `taggedWith` "terms"+                <|> idsQuery `taggedWith` "ids"+                <|> queryQueryStringQuery `taggedWith` "query_string"+                <|> queryMatchQuery `taggedWith` "match"+                <|> queryMultiMatchQuery+                <|> queryBoolQuery `taggedWith` "bool"+                <|> queryBoostingQuery `taggedWith` "boosting"+                <|> queryCommonTermsQuery `taggedWith` "common"+                <|> constantScoreQuery `taggedWith` "constant_score"+                <|> queryDisMaxQuery `taggedWith` "dis_max"+                <|> queryFuzzyLikeThisQuery `taggedWith` "fuzzy_like_this"+                <|> queryFuzzyLikeFieldQuery `taggedWith` "fuzzy_like_this_field"+                <|> queryFuzzyQuery `taggedWith` "fuzzy"+                <|> queryHasChildQuery `taggedWith` "has_child"+                <|> queryHasParentQuery `taggedWith` "has_parent"+                <|> queryIndicesQuery `taggedWith` "indices"+                <|> matchAllQuery `taggedWith` "match_all"+                <|> queryMoreLikeThisQuery `taggedWith` "more_like_this"+                <|> queryMoreLikeThisFieldQuery `taggedWith` "more_like_this_field"+                <|> queryNestedQuery `taggedWith` "nested"+                <|> queryPrefixQuery `taggedWith` "prefix"+                <|> queryRangeQuery `taggedWith` "range"+                <|> queryRegexpQuery `taggedWith` "regexp"+                <|> querySimpleQueryStringQuery `taggedWith` "simple_query_string"+            where taggedWith parser k = parser =<< o .: k+          termQuery = fieldTagged $ \(FieldName fn) o ->+                        TermQuery <$> (Term fn <$> o .: "value") <*> o .:? "boost"+          termsQuery o = case HM.toList o of+                           [(fn, vs)] -> do vals <- parseJSON vs+                                            case vals of+                                              x:xs -> return (TermsQuery fn (x :| xs))+                                              _ -> fail "Expected non empty list of values"+                           _ -> fail "Expected object with 1 field-named key"+          idsQuery o = IdsQuery <$> o .: "type"+                                <*> o .: "values"+          queryQueryStringQuery = pure . QueryQueryStringQuery+          queryMatchQuery = pure . QueryMatchQuery+          queryMultiMatchQuery = QueryMultiMatchQuery <$> parseJSON v+          queryBoolQuery = pure . QueryBoolQuery+          queryBoostingQuery = pure . QueryBoostingQuery+          queryCommonTermsQuery = pure . QueryCommonTermsQuery+          constantScoreQuery o = case HM.lookup "query" o of+            Just x -> ConstantScoreQuery <$> parseJSON x+                                         <*> o .: "boost"+            _ -> fail "Does not appear to be a ConstantScoreQuery"+          queryDisMaxQuery = pure . QueryDisMaxQuery+          queryFuzzyLikeThisQuery = pure . QueryFuzzyLikeThisQuery+          queryFuzzyLikeFieldQuery = pure . QueryFuzzyLikeFieldQuery+          queryFuzzyQuery = pure . QueryFuzzyQuery+          queryHasChildQuery = pure . QueryHasChildQuery+          queryHasParentQuery = pure . QueryHasParentQuery+          queryIndicesQuery = pure . QueryIndicesQuery+          matchAllQuery o = MatchAllQuery <$> o .:? "boost"+          queryMoreLikeThisQuery = pure . QueryMoreLikeThisQuery+          queryMoreLikeThisFieldQuery = pure . QueryMoreLikeThisFieldQuery+          queryNestedQuery = pure . QueryNestedQuery+          queryPrefixQuery = pure . QueryPrefixQuery+          queryRangeQuery = pure . QueryRangeQuery+          queryRegexpQuery = pure . QueryRegexpQuery+          querySimpleQueryStringQuery = pure . QuerySimpleQueryStringQuery+          queryExistsQuery o = QueryExistsQuery <$> o .: "field"+++omitNulls :: [(Text, Value)] -> Value+omitNulls = object . filter notNull where+  notNull (_, Null)    = False+  notNull (_, Array a) = (not . V.null) a+  notNull _            = True++instance ToJSON SimpleQueryStringQuery where+  toJSON SimpleQueryStringQuery {..} =+    omitNulls (base ++ maybeAdd)+    where base = [ "query" .= simpleQueryStringQuery ]+          maybeAdd = [ "fields" .= simpleQueryStringField+                     , "default_operator" .= simpleQueryStringOperator+                     , "analyzer" .= simpleQueryStringAnalyzer+                     , "flags" .= simpleQueryStringFlags+                     , "lowercase_expanded_terms" .= simpleQueryStringLowercaseExpanded+                     , "locale" .= simpleQueryStringLocale ]++instance FromJSON SimpleQueryStringQuery where+  parseJSON = withObject "SimpleQueryStringQuery" parse+    where parse o = SimpleQueryStringQuery <$> o .: "query"+                                           <*> o .:? "fields"+                                           <*> o .:? "default_operator"+                                           <*> o .:? "analyzer"+                                           <*> (parseFlags <$> o .:? "flags")+                                           <*> o .:? "lowercase_expanded_terms"+                                           <*> o .:? "locale"+          parseFlags (Just (x:xs)) = Just (x :| xs)+          parseFlags _             = Nothing++instance ToJSON FieldOrFields where+  toJSON (FofField fieldName) =+    toJSON fieldName+  toJSON (FofFields fieldNames) =+    toJSON fieldNames++instance FromJSON FieldOrFields where+  parseJSON v = FofField  <$> parseJSON v+            <|> FofFields <$> (parseNEJSON =<< parseJSON v)++instance ToJSON SimpleQueryFlag where+  toJSON SimpleQueryAll        = "ALL"+  toJSON SimpleQueryNone       = "NONE"+  toJSON SimpleQueryAnd        = "AND"+  toJSON SimpleQueryOr         = "OR"+  toJSON SimpleQueryPrefix     = "PREFIX"+  toJSON SimpleQueryPhrase     = "PHRASE"+  toJSON SimpleQueryPrecedence = "PRECEDENCE"+  toJSON SimpleQueryEscape     = "ESCAPE"+  toJSON SimpleQueryWhitespace = "WHITESPACE"+  toJSON SimpleQueryFuzzy      = "FUZZY"+  toJSON SimpleQueryNear       = "NEAR"+  toJSON SimpleQuerySlop       = "SLOP"++instance FromJSON SimpleQueryFlag where+  parseJSON = withText "SimpleQueryFlag" parse+    where parse "ALL"        = pure SimpleQueryAll+          parse "NONE"       = pure SimpleQueryNone+          parse "AND"        = pure SimpleQueryAnd+          parse "OR"         = pure SimpleQueryOr+          parse "PREFIX"     = pure SimpleQueryPrefix+          parse "PHRASE"     = pure SimpleQueryPhrase+          parse "PRECEDENCE" = pure SimpleQueryPrecedence+          parse "ESCAPE"     = pure SimpleQueryEscape+          parse "WHITESPACE" = pure SimpleQueryWhitespace+          parse "FUZZY"      = pure SimpleQueryFuzzy+          parse "NEAR"       = pure SimpleQueryNear+          parse "SLOP"       = pure SimpleQuerySlop+          parse f            = fail ("Unexpected SimpleQueryFlag: " <> show f)++instance ToJSON RegexpQuery where+  toJSON (RegexpQuery (FieldName rqQueryField)+          (Regexp regexpQueryQuery) rqQueryFlags+          rqQueryBoost) =+   object [ rqQueryField .= omitNulls base ]+   where base = [ "value" .= regexpQueryQuery+                , "flags" .= rqQueryFlags+                , "boost" .= rqQueryBoost ]++instance FromJSON RegexpQuery where+  parseJSON = withObject "RegexpQuery" parse+    where parse = fieldTagged $ \fn o ->+                    RegexpQuery fn+                    <$> o .: "value"+                    <*> o .: "flags"+                    <*> o .:? "boost"++instance ToJSON QueryStringQuery where+  toJSON (QueryStringQuery qsQueryString+          qsDefaultField qsOperator+          qsAnalyzer qsAllowWildcard+          qsLowercaseExpanded  qsEnablePositionIncrements+          qsFuzzyMaxExpansions qsFuzziness+          qsFuzzyPrefixLength qsPhraseSlop+          qsBoost qsAnalyzeWildcard+          qsGeneratePhraseQueries qsMinimumShouldMatch+          qsLenient qsLocale) =+    omitNulls base+    where+      base = [ "query" .= qsQueryString+             , "default_field" .= qsDefaultField+             , "default_operator" .= qsOperator+             , "analyzer" .= qsAnalyzer+             , "allow_leading_wildcard" .= qsAllowWildcard+             , "lowercase_expanded_terms" .= qsLowercaseExpanded+             , "enable_position_increments" .= qsEnablePositionIncrements+             , "fuzzy_max_expansions" .= qsFuzzyMaxExpansions+             , "fuzziness" .= qsFuzziness+             , "fuzzy_prefix_length" .= qsFuzzyPrefixLength+             , "phrase_slop" .= qsPhraseSlop+             , "boost" .= qsBoost+             , "analyze_wildcard" .= qsAnalyzeWildcard+             , "auto_generate_phrase_queries" .= qsGeneratePhraseQueries+             , "minimum_should_match" .= qsMinimumShouldMatch+             , "lenient" .= qsLenient+             , "locale" .= qsLocale ]++instance FromJSON QueryStringQuery where+  parseJSON = withObject "QueryStringQuery" parse+    where parse o = QueryStringQuery+                    <$> o .: "query"+                    <*> o .:? "default_field"+                    <*> o .:? "default_operator"+                    <*> o .:? "analyzer"+                    <*> o .:? "allow_leading_wildcard"+                    <*> o .:? "lowercase_expanded_terms"+                    <*> o .:? "enable_position_increments"+                    <*> o .:? "fuzzy_max_expansions"+                    <*> o .:? "fuzziness"+                    <*> o .:? "fuzzy_prefix_length"+                    <*> o .:? "phrase_slop"+                    <*> o .:? "boost"+                    <*> o .:? "analyze_wildcard"+                    <*> o .:? "auto_generate_phrase_queries"+                    <*> o .:? "minimum_should_match"+                    <*> o .:? "lenient"+                    <*> o .:? "locale"++instance ToJSON RangeQuery where+  toJSON (RangeQuery (FieldName fieldName) range boost) =+    object [ fieldName .= object conjoined ]+    where conjoined = [ "boost" .= boost ] ++ (rangeValueToPair range)++instance FromJSON RangeQuery where+  parseJSON = withObject "RangeQuery" parse+    where parse = fieldTagged $ \fn o ->+                    RangeQuery fn+                    <$> parseJSON (Object o)+                    <*> o .: "boost"++instance FromJSON RangeValue where+  parseJSON = withObject "RangeValue" parse+    where parse o = parseDate o+                <|> parseDouble o+          parseDate o = do lt <- o .:? "lt"+                           lte <- o .:? "lte"+                           gt <- o .:? "gt"+                           gte <- o .:? "gte"+                           case (lt, lte, gt, gte) of+                             (Just a, _, Just b, _) -> return (RangeDateGtLt (GreaterThanD b) (LessThanD a))+                             (Just a, _, _, Just b)-> return (RangeDateGteLt (GreaterThanEqD b) (LessThanD a))+                             (_, Just a, Just b, _)-> return (RangeDateGtLte (GreaterThanD b) (LessThanEqD a))+                             (_, Just a, _, Just b)-> return (RangeDateGteLte (GreaterThanEqD b) (LessThanEqD a))+                             (_, _, Just a, _)-> return (RangeDateGt (GreaterThanD a))+                             (Just a, _, _, _)-> return (RangeDateLt (LessThanD a))+                             (_, _, _, Just a)-> return (RangeDateGte (GreaterThanEqD a))+                             (_, Just a, _, _)-> return (RangeDateLte (LessThanEqD a))+                             (Nothing, Nothing, Nothing, Nothing) -> mzero+          parseDouble o = do lt <- o .:? "lt"+                             lte <- o .:? "lte"+                             gt <- o .:? "gt"+                             gte <- o .:? "gte"+                             case (lt, lte, gt, gte) of+                               (Just a, _, Just b, _) -> return (RangeDoubleGtLt (GreaterThan b) (LessThan a))+                               (Just a, _, _, Just b)-> return (RangeDoubleGteLt (GreaterThanEq b) (LessThan a))+                               (_, Just a, Just b, _)-> return (RangeDoubleGtLte (GreaterThan b) (LessThanEq a))+                               (_, Just a, _, Just b)-> return (RangeDoubleGteLte (GreaterThanEq b) (LessThanEq a))+                               (_, _, Just a, _)-> return (RangeDoubleGt (GreaterThan a))+                               (Just a, _, _, _)-> return (RangeDoubleLt (LessThan a))+                               (_, _, _, Just a)-> return (RangeDoubleGte (GreaterThanEq a))+                               (_, Just a, _, _)-> return (RangeDoubleLte (LessThanEq a))+                               (Nothing, Nothing, Nothing, Nothing) -> mzero++instance ToJSON PrefixQuery where+  toJSON (PrefixQuery (FieldName fieldName) queryValue boost) =+    object [ fieldName .= omitNulls base ]+    where base = [ "value" .= queryValue+                 , "boost" .= boost ]++instance FromJSON PrefixQuery where+  parseJSON = withObject "PrefixQuery" parse+    where parse = fieldTagged $ \fn o ->+                    PrefixQuery fn+                    <$> o .: "value"+                    <*> o .:? "boost"++instance ToJSON NestedQuery where+  toJSON (NestedQuery nqPath nqScoreType nqQuery) =+    object [ "path"       .= nqPath+           , "score_mode" .= nqScoreType+           , "query"      .= nqQuery ]++instance FromJSON NestedQuery where+  parseJSON = withObject "NestedQuery" parse+    where parse o = NestedQuery+                    <$> o .: "path"+                    <*> o .: "score_mode"+                    <*> o .: "query"++instance ToJSON MoreLikeThisFieldQuery where+  toJSON (MoreLikeThisFieldQuery text (FieldName fieldName)+          percent mtf mqt stopwords mindf maxdf+          minwl maxwl boostTerms boost analyzer) =+    object [ fieldName .= omitNulls base ]+    where base = [ "like_text" .= text+                 , "percent_terms_to_match" .= percent+                 , "min_term_freq" .= mtf+                 , "max_query_terms" .= mqt+                 , "stop_words" .= stopwords+                 , "min_doc_freq" .= mindf+                 , "max_doc_freq" .= maxdf+                 , "min_word_length" .= minwl+                 , "max_word_length" .= maxwl+                 , "boost_terms" .= boostTerms+                 , "boost" .= boost+                 , "analyzer" .= analyzer ]++instance FromJSON MoreLikeThisFieldQuery where+  parseJSON = withObject "MoreLikeThisFieldQuery" parse+    where parse = fieldTagged $ \fn o ->+                    MoreLikeThisFieldQuery+                    <$> o .: "like_text"+                    <*> pure fn+                    <*> o .:? "percent_terms_to_match"+                    <*> o .:? "min_term_freq"+                    <*> o .:? "max_query_terms"+                    -- <*> (optionalNE =<< o .:? "stop_words")+                    <*> o .:? "stop_words"+                    <*> o .:? "min_doc_freq"+                    <*> o .:? "max_doc_freq"+                    <*> o .:? "min_word_length"+                    <*> o .:? "max_word_length"+                    <*> o .:? "boost_terms"+                    <*> o .:? "boost"+                    <*> o .:? "analyzer"+          -- optionalNE = maybe (pure Nothing) (fmap Just . parseNEJSON)++instance ToJSON MoreLikeThisQuery where+  toJSON (MoreLikeThisQuery text fields percent+          mtf mqt stopwords mindf maxdf+          minwl maxwl boostTerms boost analyzer) =+    omitNulls base+    where base = [ "like_text" .= text+                 , "fields" .= fields+                 , "percent_terms_to_match" .= percent+                 , "min_term_freq" .= mtf+                 , "max_query_terms" .= mqt+                 , "stop_words" .= stopwords+                 , "min_doc_freq" .= mindf+                 , "max_doc_freq" .= maxdf+                 , "min_word_length" .= minwl+                 , "max_word_length" .= maxwl+                 , "boost_terms" .= boostTerms+                 , "boost" .= boost+                 , "analyzer" .= analyzer ]++instance FromJSON MoreLikeThisQuery where+  parseJSON = withObject "MoreLikeThisQuery" parse+    where parse o = MoreLikeThisQuery+                    <$> o .: "like_text"+                    -- <*> (optionalNE =<< o .:? "fields")+                    <*> o .:? "fields"+                    <*> o .:? "percent_terms_to_match"+                    <*> o .:? "min_term_freq"+                    <*> o .:? "max_query_terms"+                    -- <*> (optionalNE =<< o .:? "stop_words")+                    <*> o .:? "stop_words"+                    <*> o .:? "min_doc_freq"+                    <*> o .:? "max_doc_freq"+                    <*> o .:? "min_word_length"+                    <*> o .:? "max_word_length"+                    <*> o .:? "boost_terms"+                    <*> o .:? "boost"+                    <*> o .:? "analyzer"+          -- optionalNE = maybe (pure Nothing) (fmap Just . parseNEJSON)++instance ToJSON IndicesQuery where+  toJSON (IndicesQuery indices query noMatch) =+    omitNulls [ "indices" .= indices+              , "no_match_query" .= noMatch+              , "query" .= query ]++instance FromJSON IndicesQuery where+  parseJSON = withObject "IndicesQuery" parse+    where parse o = IndicesQuery+                    <$> o .:? "indices" .!= []+                    <*> o .: "query"+                    <*> o .:? "no_match_query"++instance ToJSON HasParentQuery where+  toJSON (HasParentQuery queryType query scoreType) =+    omitNulls [ "parent_type" .= queryType+              , "score_type" .= scoreType+              , "query" .= query ]++instance FromJSON HasParentQuery where+  parseJSON = withObject "HasParentQuery" parse+    where parse o = HasParentQuery+                    <$> o .: "parent_type"+                    <*> o .: "query"+                    <*> o .:? "score_type"++instance ToJSON HasChildQuery where+  toJSON (HasChildQuery queryType query scoreType) =+    omitNulls [ "query" .= query+              , "score_type" .= scoreType+              , "type"  .= queryType ]++instance FromJSON HasChildQuery where+  parseJSON = withObject "HasChildQuery" parse+    where parse o = HasChildQuery+                    <$> o .: "type"+                    <*> o .: "query"+                    <*> o .:? "score_type"++instance ToJSON FuzzyQuery where+  toJSON (FuzzyQuery (FieldName fieldName) queryText+          prefixLength maxEx fuzziness boost) =+    object [ fieldName .= omitNulls base ]+    where base = [ "value"          .= queryText+                 , "fuzziness"      .= fuzziness+                 , "prefix_length"  .= prefixLength+                 , "boost" .= boost+                 , "max_expansions" .= maxEx ]++instance FromJSON FuzzyQuery where+  parseJSON = withObject "FuzzyQuery" parse+    where parse = fieldTagged $ \fn o ->+                    FuzzyQuery fn+                    <$> o .: "value"+                    <*> o .: "prefix_length"+                    <*> o .: "max_expansions"+                    <*> o .: "fuzziness"+                    <*> o .:? "boost"++instance ToJSON FuzzyLikeFieldQuery where+  toJSON (FuzzyLikeFieldQuery (FieldName fieldName)+          fieldText maxTerms ignoreFreq fuzziness prefixLength+          boost analyzer) =+    object [ fieldName .=+             omitNulls [ "like_text"       .= fieldText+                       , "max_query_terms" .= maxTerms+                       , "ignore_tf"       .= ignoreFreq+                       , "fuzziness"       .= fuzziness+                       , "prefix_length"   .= prefixLength+                       , "analyzer" .= analyzer+                       , "boost"           .= boost ]]++instance FromJSON FuzzyLikeFieldQuery where+  parseJSON = withObject "FuzzyLikeFieldQuery" parse+    where parse = fieldTagged $ \fn o ->+                    FuzzyLikeFieldQuery fn+                    <$> o .: "like_text"+                    <*> o .: "max_query_terms"+                    <*> o .: "ignore_tf"+                    <*> o .: "fuzziness"+                    <*> o .: "prefix_length"+                    <*> o .: "boost"+                    <*> o .:? "analyzer"++instance ToJSON FuzzyLikeThisQuery where+  toJSON (FuzzyLikeThisQuery fields text maxTerms+          ignoreFreq fuzziness prefixLength boost analyzer) =+    omitNulls base+    where base = [ "fields"          .= fields+                 , "like_text"       .= text+                 , "max_query_terms" .= maxTerms+                 , "ignore_tf"       .= ignoreFreq+                 , "fuzziness"       .= fuzziness+                 , "prefix_length"   .= prefixLength+                 , "analyzer"        .= analyzer+                 , "boost"           .= boost ]++instance FromJSON FuzzyLikeThisQuery where+  parseJSON = withObject "FuzzyLikeThisQuery" parse+    where parse o = FuzzyLikeThisQuery+                    <$> o .:? "fields" .!= []+                    <*> o .: "like_text"+                    <*> o .: "max_query_terms"+                    <*> o .: "ignore_tf"+                    <*> o .: "fuzziness"+                    <*> o .: "prefix_length"+                    <*> o .: "boost"+                    <*> o .:? "analyzer"++instance ToJSON DisMaxQuery where+  toJSON (DisMaxQuery queries tiebreaker boost) =+    omitNulls base+    where base = [ "queries"     .= queries+                 , "boost"       .= boost+                 , "tie_breaker" .= tiebreaker ]++instance FromJSON DisMaxQuery where+  parseJSON = withObject "DisMaxQuery" parse+    where parse o = DisMaxQuery+                    <$> o .:? "queries" .!= []+                    <*> o .: "tie_breaker"+                    <*> o .:? "boost"++instance ToJSON CommonTermsQuery where+  toJSON (CommonTermsQuery (FieldName fieldName)+          (QueryString query) cf lfo hfo msm+          boost analyzer disableCoord) =+    object [fieldName .= omitNulls base ]+    where base = [ "query"              .= query+                 , "cutoff_frequency"   .= cf+                 , "low_freq_operator"  .= lfo+                 , "minimum_should_match" .= msm+                 , "boost" .= boost+                 , "analyzer" .= analyzer+                 , "disable_coord" .= disableCoord+                 , "high_freq_operator" .= hfo ]++instance FromJSON CommonTermsQuery where+  parseJSON = withObject "CommonTermsQuery" parse+    where parse = fieldTagged $ \fn o ->+                    CommonTermsQuery fn+                    <$> o .: "query"+                    <*> o .: "cutoff_frequency"+                    <*> o .: "low_freq_operator"+                    <*> o .: "high_freq_operator"+                    <*> o .:? "minimum_should_match"+                    <*> o .:? "boost"+                    <*> o .:? "analyzer"+                    <*> o .:? "disable_coord"++instance ToJSON CommonMinimumMatch where+  toJSON (CommonMinimumMatch mm) = toJSON mm+  toJSON (CommonMinimumMatchHighLow (MinimumMatchHighLow lowF highF)) =+    object [ "low_freq"  .= lowF+           , "high_freq" .= highF ]++instance FromJSON CommonMinimumMatch where+  parseJSON v = parseMinimum v+            <|> parseMinimumHighLow v+    where parseMinimum = fmap CommonMinimumMatch . parseJSON+          parseMinimumHighLow = fmap CommonMinimumMatchHighLow . withObject "CommonMinimumMatchHighLow" (\o ->+                                  MinimumMatchHighLow+                                  <$> o .: "low_freq"+                                  <*> o .: "high_freq")+++instance ToJSON BoostingQuery where+  toJSON (BoostingQuery bqPositiveQuery bqNegativeQuery bqNegativeBoost) =+    object [ "positive"       .= bqPositiveQuery+           , "negative"       .= bqNegativeQuery+           , "negative_boost" .= bqNegativeBoost ]++instance FromJSON BoostingQuery where+  parseJSON = withObject "BoostingQuery" parse+    where parse o = BoostingQuery+                    <$> o .: "positive"+                    <*> o .: "negative"+                    <*> o .: "negative_boost"++instance ToJSON BoolQuery where+  toJSON (BoolQuery mustM filterM notM shouldM bqMin boost disableCoord) =+    omitNulls base+    where base = [ "must" .= mustM+                 , "filter" .= filterM+                 , "must_not" .= notM+                 , "should" .= shouldM+                 , "minimum_should_match" .= bqMin+                 , "boost" .= boost+                 , "disable_coord" .= disableCoord ]++instance FromJSON BoolQuery where+  parseJSON = withObject "BoolQuery" parse+    where parse o = BoolQuery+                    <$> o .:? "must" .!= []+                    <*> o .:? "filter" .!= []+                    <*> o .:? "must_not" .!= []+                    <*> o .:? "should" .!= []+                    <*> o .:? "minimum_should_match"+                    <*> o .:? "boost"+                    <*> o .:? "disable_coord"++instance ToJSON MatchQuery where+  toJSON (MatchQuery (FieldName fieldName)+          (QueryString mqQueryString) booleanOperator+          zeroTermsQuery cutoffFrequency matchQueryType+          analyzer maxExpansions lenient boost) =+    object [ fieldName .= omitNulls base ]+    where base = [ "query" .= mqQueryString+                 , "operator" .= booleanOperator+                 , "zero_terms_query" .= zeroTermsQuery+                 , "cutoff_frequency" .= cutoffFrequency+                 , "type" .= matchQueryType+                 , "analyzer" .= analyzer+                 , "max_expansions" .= maxExpansions+                 , "lenient" .= lenient+                 , "boost" .= boost ]++instance FromJSON MatchQuery where+  parseJSON = withObject "MatchQuery" parse+    where parse = fieldTagged $ \fn o ->+                    MatchQuery fn+                    <$> o .:  "query"+                    <*> o .:  "operator"+                    <*> o .:  "zero_terms_query"+                    <*> o .:? "cutoff_frequency"+                    <*> o .:? "type"+                    <*> o .:? "analyzer"+                    <*> o .:? "max_expansions"+                    <*> o .:? "lenient"+                    <*> o .:? "boost"++instance ToJSON MultiMatchQuery where+  toJSON (MultiMatchQuery fields (QueryString query) boolOp+          ztQ tb mmqt cf analyzer maxEx lenient) =+    object ["multi_match" .= omitNulls base]+    where base = [ "fields" .= fmap toJSON fields+                 , "query" .= query+                 , "operator" .= boolOp+                 , "zero_terms_query" .= ztQ+                 , "tiebreaker" .= tb+                 , "type" .= mmqt+                 , "cutoff_frequency" .= cf+                 , "analyzer" .= analyzer+                 , "max_expansions" .= maxEx+                 , "lenient" .= lenient ]++instance FromJSON MultiMatchQuery where+  parseJSON = withObject "MultiMatchQuery" parse+    where parse raw = do o <- raw .: "multi_match"+                         MultiMatchQuery+                           <$> o .:? "fields" .!= []+                           <*> o .: "query"+                           <*> o .: "operator"+                           <*> o .: "zero_terms_query"+                           <*> o .:? "tiebreaker"+                           <*> o .:? "type"+                           <*> o .:? "cutoff_frequency"+                           <*> o .:? "analyzer"+                           <*> o .:? "max_expansions"+                           <*> o .:? "lenient"++instance ToJSON MultiMatchQueryType where+  toJSON MultiMatchBestFields   = "best_fields"+  toJSON MultiMatchMostFields   = "most_fields"+  toJSON MultiMatchCrossFields  = "cross_fields"+  toJSON MultiMatchPhrase       = "phrase"+  toJSON MultiMatchPhrasePrefix = "phrase_prefix"++instance FromJSON MultiMatchQueryType where+  parseJSON = withText "MultiMatchPhrasePrefix" parse+    where parse "best_fields"   = pure MultiMatchBestFields+          parse "most_fields"   = pure MultiMatchMostFields+          parse "cross_fields"  = pure MultiMatchCrossFields+          parse "phrase"        = pure MultiMatchPhrase+          parse "phrase_prefix" = pure MultiMatchPhrasePrefix+          parse t = fail ("Unexpected MultiMatchPhrasePrefix: " <> show t)++instance ToJSON BooleanOperator where+  toJSON And = String "and"+  toJSON Or  = String "or"++instance FromJSON BooleanOperator where+  parseJSON = withText "BooleanOperator" parse+    where parse "and" = pure And+          parse "or"  = pure Or+          parse o     = fail ("Unexpected BooleanOperator: " <> show o)++instance ToJSON ZeroTermsQuery where+  toJSON ZeroTermsNone = String "none"+  toJSON ZeroTermsAll  = String "all"++instance FromJSON ZeroTermsQuery where+  parseJSON = withText "ZeroTermsQuery" parse+    where parse "none" = pure ZeroTermsNone+          parse "all"  = pure ZeroTermsAll+          parse q      = fail ("Unexpected ZeroTermsQuery: " <> show q)++instance ToJSON MatchQueryType where+  toJSON MatchPhrase       = "phrase"+  toJSON MatchPhrasePrefix = "phrase_prefix"++instance FromJSON MatchQueryType where+  parseJSON = withText "MatchQueryType" parse+    where parse "phrase"        = pure MatchPhrase+          parse "phrase_prefix" = pure MatchPhrasePrefix+          parse t               = fail ("Unexpected MatchQueryType: " <> show t)++instance FromJSON Status where+  parseJSON (Object v) = Status <$>+                         v .: "name" <*>+                         v .: "cluster_name" <*>+                         v .: "cluster_uuid" <*>+                         v .: "version" <*>+                         v .: "tagline"+  parseJSON _          = empty+++instance ToJSON IndexSettings where+  toJSON (IndexSettings s r) = object ["settings" .=+                                 object ["index" .=+                                   object ["number_of_shards" .= s, "number_of_replicas" .= r]+                                 ]+                               ]++instance FromJSON IndexSettings where+  parseJSON = withObject "IndexSettings" parse+    where parse o = do s <- o .: "settings"+                       i <- s .: "index"+                       IndexSettings <$> i .: "number_of_shards"+                                     <*> i .: "number_of_replicas"++instance ToJSON UpdatableIndexSetting where+  toJSON (NumberOfReplicas x) = oPath ("index" :| ["number_of_replicas"]) x+  toJSON (AutoExpandReplicas x) = oPath ("index" :| ["auto_expand_replicas"]) x+  toJSON (RefreshInterval x) = oPath ("index" :| ["refresh_interval"]) (NominalDiffTimeJSON x)+  toJSON (IndexConcurrency x) = oPath ("index" :| ["concurrency"]) x+  toJSON (FailOnMergeFailure x) = oPath ("index" :| ["fail_on_merge_failure"]) x+  toJSON (TranslogFlushThresholdOps x) = oPath ("index" :| ["translog", "flush_threshold_ops"]) x+  toJSON (TranslogFlushThresholdSize x) = oPath ("index" :| ["translog", "flush_threshold_size"]) x+  toJSON (TranslogFlushThresholdPeriod x) = oPath ("index" :| ["translog", "flush_threshold_period"]) (NominalDiffTimeJSON x)+  toJSON (TranslogDisableFlush x) = oPath ("index" :| ["translog", "disable_flush"]) x+  toJSON (CacheFilterMaxSize x) = oPath ("index" :| ["cache", "filter", "max_size"]) x+  toJSON (CacheFilterExpire x) = oPath ("index" :| ["cache", "filter", "expire"]) (NominalDiffTimeJSON <$> x)+  toJSON (GatewaySnapshotInterval x) = oPath ("index" :| ["gateway", "snapshot_interval"]) (NominalDiffTimeJSON x)+  toJSON (RoutingAllocationInclude fs) = oPath ("index" :| ["routing", "allocation", "include"]) (attrFilterJSON fs)+  toJSON (RoutingAllocationExclude fs) = oPath ("index" :| ["routing", "allocation", "exclude"]) (attrFilterJSON fs)+  toJSON (RoutingAllocationRequire fs) = oPath ("index" :| ["routing", "allocation", "require"]) (attrFilterJSON fs)+  toJSON (RoutingAllocationEnable x) = oPath ("index" :| ["routing", "allocation", "enable"]) x+  toJSON (RoutingAllocationShardsPerNode x) = oPath ("index" :| ["routing", "allocation", "total_shards_per_node"]) x+  toJSON (RecoveryInitialShards x) = oPath ("index" :| ["recovery", "initial_shards"]) x+  toJSON (GCDeletes x) = oPath ("index" :| ["gc_deletes"]) (NominalDiffTimeJSON x)+  toJSON (TTLDisablePurge x) = oPath ("index" :| ["ttl", "disable_purge"]) x+  toJSON (TranslogFSType x) = oPath ("index" :| ["translog", "fs", "type"]) x+  toJSON (IndexCompoundFormat x) = oPath ("index" :| ["compound_format"]) x+  toJSON (IndexCompoundOnFlush x) = oPath ("index" :| ["compound_on_flush"]) x+  toJSON (WarmerEnabled x) = oPath ("index" :| ["warmer", "enabled"]) x+  toJSON (BlocksReadOnly x) = oPath ("blocks" :| ["read_only"]) x+  toJSON (BlocksRead x) = oPath ("blocks" :| ["read"]) x+  toJSON (BlocksWrite x) = oPath ("blocks" :| ["write"]) x+  toJSON (BlocksMetaData x) = oPath ("blocks" :| ["metadata"]) x++instance FromJSON UpdatableIndexSetting where+  parseJSON = withObject "UpdatableIndexSetting" parse+    where parse o = numberOfReplicas `taggedAt` ["index", "number_of_replicas"]+                <|> autoExpandReplicas `taggedAt` ["index", "auto_expand_replicas"]+                <|> refreshInterval `taggedAt` ["index", "refresh_interval"]+                <|> indexConcurrency `taggedAt` ["index", "concurrency"]+                <|> failOnMergeFailure `taggedAt` ["index", "fail_on_merge_failure"]+                <|> translogFlushThresholdOps `taggedAt` ["index", "translog", "flush_threshold_ops"]+                <|> translogFlushThresholdSize `taggedAt` ["index", "translog", "flush_threshold_size"]+                <|> translogFlushThresholdPeriod `taggedAt` ["index", "translog", "flush_threshold_period"]+                <|> translogDisableFlush `taggedAt` ["index", "translog", "disable_flush"]+                <|> cacheFilterMaxSize `taggedAt` ["index", "cache", "filter", "max_size"]+                <|> cacheFilterExpire `taggedAt` ["index", "cache", "filter", "expire"]+                <|> gatewaySnapshotInterval `taggedAt` ["index", "gateway", "snapshot_interval"]+                <|> routingAllocationInclude `taggedAt` ["index", "routing", "allocation", "include"]+                <|> routingAllocationExclude `taggedAt` ["index", "routing", "allocation", "exclude"]+                <|> routingAllocationRequire `taggedAt` ["index", "routing", "allocation", "require"]+                <|> routingAllocationEnable `taggedAt` ["index", "routing", "allocation", "enable"]+                <|> routingAllocationShardsPerNode `taggedAt` ["index", "routing", "allocation", "total_shards_per_node"]+                <|> recoveryInitialShards `taggedAt` ["index", "recovery", "initial_shards"]+                <|> gcDeletes `taggedAt` ["index", "gc_deletes"]+                <|> ttlDisablePurge `taggedAt` ["index", "ttl", "disable_purge"]+                <|> translogFSType `taggedAt` ["index", "translog", "fs", "type"]+                <|> compoundFormat `taggedAt` ["index", "compound_format"]+                <|> compoundOnFlush `taggedAt` ["index", "compound_on_flush"]+                <|> warmerEnabled `taggedAt` ["index", "warmer", "enabled"]+                <|> blocksReadOnly `taggedAt` ["blocks", "read_only"]+                <|> blocksRead `taggedAt` ["blocks", "read"]+                <|> blocksWrite `taggedAt` ["blocks", "write"]+                <|> blocksMetaData `taggedAt` ["blocks", "metadata"]+            where taggedAt f ks = taggedAt' f (Object o) ks+          taggedAt' f v [] = f =<< (parseJSON v <|> (parseJSON (unStringlyTypeJSON v)))+          taggedAt' f v (k:ks) = withObject "Object" (\o -> do v' <- o .: k+                                                               taggedAt' f v' ks) v+          numberOfReplicas               = pure . NumberOfReplicas+          autoExpandReplicas             = pure . AutoExpandReplicas+          refreshInterval                = pure . RefreshInterval . ndtJSON+          indexConcurrency               = pure . IndexConcurrency+          failOnMergeFailure             = pure . FailOnMergeFailure+          translogFlushThresholdOps      = pure . TranslogFlushThresholdOps+          translogFlushThresholdSize     = pure . TranslogFlushThresholdSize+          translogFlushThresholdPeriod   = pure . TranslogFlushThresholdPeriod . ndtJSON+          translogDisableFlush           = pure . TranslogDisableFlush+          cacheFilterMaxSize             = pure . CacheFilterMaxSize+          cacheFilterExpire              = pure . CacheFilterExpire . fmap ndtJSON+          gatewaySnapshotInterval        = pure . GatewaySnapshotInterval . ndtJSON+          routingAllocationInclude       = fmap RoutingAllocationInclude . parseAttrFilter+          routingAllocationExclude       = fmap RoutingAllocationExclude . parseAttrFilter+          routingAllocationRequire       = fmap RoutingAllocationRequire . parseAttrFilter+          routingAllocationEnable        = pure . RoutingAllocationEnable+          routingAllocationShardsPerNode = pure . RoutingAllocationShardsPerNode+          recoveryInitialShards          = pure . RecoveryInitialShards+          gcDeletes                      = pure . GCDeletes . ndtJSON+          ttlDisablePurge                = pure . TTLDisablePurge+          translogFSType                 = pure . TranslogFSType+          compoundFormat                 = pure . IndexCompoundFormat+          compoundOnFlush                = pure . IndexCompoundOnFlush+          warmerEnabled                  = pure . WarmerEnabled+          blocksReadOnly                 = pure . BlocksReadOnly+          blocksRead                     = pure . BlocksRead+          blocksWrite                    = pure . BlocksWrite+          blocksMetaData                 = pure . BlocksMetaData++instance FromJSON IndexSettingsSummary where+  parseJSON = withObject "IndexSettingsSummary" parse+    where parse o = case HM.toList o of+                      [(ixn, v@(Object o'))] -> IndexSettingsSummary (IndexName ixn)+                                                <$> parseJSON v+                                                <*> (fmap (filter (not . redundant)) . parseSettings =<< o' .: "settings")+                      _ -> fail "Expected single-key object with index name"+          redundant (NumberOfReplicas _) = True+          redundant _                    = False++-- | For some reason in several settings APIs, all leaf values get returned+-- as strings. This function attepmts to recover from this for all+-- non-recursive JSON types. If nothing can be done, the value is left alone.+unStringlyTypeJSON :: Value -> Value+unStringlyTypeJSON (String "true") = Bool True+unStringlyTypeJSON (String "false") = Bool False+unStringlyTypeJSON (String "null") = Null+unStringlyTypeJSON v@(String t) = case readMay (T.unpack t) of+                                  Just n  -> Number n+                                  Nothing -> v+unStringlyTypeJSON v = v+++parseSettings :: Object -> Parser [UpdatableIndexSetting]+parseSettings o = do+  o' <- o .: "index"+  -- slice the index object into singleton hashmaps and try to parse each+  parses <- forM (HM.toList o') $ \(k, v) -> do+    -- blocks are now nested into the "index" key, which is not how they're serialized+    let atRoot = Object (HM.singleton k v)+    let atIndex = Object (HM.singleton "index" atRoot)+    optional (parseJSON atRoot <|> parseJSON atIndex)+  return (catMaybes parses)++oPath :: ToJSON a => NonEmpty Text -> a -> Value+oPath (k :| []) v   = object [k .= v]+oPath (k:| (h:t)) v = object [k .= oPath (h :| t) v]++attrFilterJSON :: NonEmpty NodeAttrFilter -> Value+attrFilterJSON fs = object [ n .= T.intercalate "," (toList vs)+                           | NodeAttrFilter (NodeAttrName n) vs <- toList fs]++parseAttrFilter :: Value -> Parser (NonEmpty NodeAttrFilter)+parseAttrFilter = withObject "NonEmpty NodeAttrFilter" parse+  where parse o = case HM.toList o of+                    []   -> fail "Expected non-empty list of NodeAttrFilters"+                    x:xs -> DT.mapM (uncurry parse') (x :| xs)+        parse' n = withText "Text" $ \t ->+          case T.splitOn "," t of+            fv:fvs -> return (NodeAttrFilter (NodeAttrName n) (fv :| fvs))+            []     -> fail "Expected non-empty list of filter values"++instance ToJSON ReplicaBounds where+  toJSON (ReplicasBounded a b)    = String (showText a <> "-" <> showText b)+  toJSON (ReplicasLowerBounded a) = String (showText a <> "-all")+  toJSON ReplicasUnbounded        = Bool False++instance FromJSON ReplicaBounds where+  parseJSON v = withText "ReplicaBounds" parseText v+            <|> withBool "ReplicaBounds" parseBool v+    where parseText t = case T.splitOn "-" t of+                          [a, "all"] -> ReplicasLowerBounded <$> parseReadText a+                          [a, b] -> ReplicasBounded <$> parseReadText a+                                                    <*> parseReadText b+                          _ -> fail ("Could not parse ReplicaBounds: " <> show t)+          parseBool False = pure ReplicasUnbounded+          parseBool _ = fail "ReplicasUnbounded cannot be represented with True"++instance ToJSON AllocationPolicy where+  toJSON AllocAll          = String "all"+  toJSON AllocPrimaries    = String "primaries"+  toJSON AllocNewPrimaries = String "new_primaries"+  toJSON AllocNone         = String "none"++instance FromJSON AllocationPolicy where+  parseJSON = withText "AllocationPolicy" parse+    where parse "all" = pure AllocAll+          parse "primaries" = pure AllocPrimaries+          parse "new_primaries" = pure AllocNewPrimaries+          parse "none" = pure AllocNone+          parse t = fail ("Invlaid AllocationPolicy: " <> show t)++instance ToJSON InitialShardCount where+  toJSON QuorumShards       = String "quorum"+  toJSON QuorumMinus1Shards = String "quorum-1"+  toJSON FullShards         = String "full"+  toJSON FullMinus1Shards   = String "full-1"+  toJSON (ExplicitShards x) = toJSON x++instance FromJSON InitialShardCount where+  parseJSON v = withText "InitialShardCount" parseText v+            <|> ExplicitShards <$> parseJSON v+    where parseText "quorum"   = pure QuorumShards+          parseText "quorum-1" = pure QuorumMinus1Shards+          parseText "full"     = pure FullShards+          parseText "full-1"   = pure FullMinus1Shards+          parseText _          = mzero++instance ToJSON FSType where+  toJSON FSSimple   = "simple"+  toJSON FSBuffered = "buffered"++instance FromJSON FSType where+  parseJSON = withText "FSType" parse+    where parse "simple"   = pure FSSimple+          parse "buffered" = pure FSBuffered+          parse t          = fail ("Invalid FSType: " <> show t)++instance ToJSON CompoundFormat where+  toJSON (CompoundFileFormat x)       = Bool x+  toJSON (MergeSegmentVsTotalIndex x) = toJSON x++instance FromJSON CompoundFormat where+  parseJSON v = CompoundFileFormat <$> parseJSON v+            <|> MergeSegmentVsTotalIndex <$> parseJSON v++instance ToJSON NominalDiffTimeJSON where+  toJSON (NominalDiffTimeJSON t) = String (showText (round t :: Integer) <> "s")++instance FromJSON NominalDiffTimeJSON where+  parseJSON = withText "NominalDiffTime" parse+    where parse t = case T.takeEnd 1 t of+                      "s" -> NominalDiffTimeJSON . fromInteger <$> parseReadText (T.dropEnd 1 t)+                      _ -> fail "Invalid or missing NominalDiffTime unit (expected s)"++instance ToJSON IndexTemplate where+  toJSON (IndexTemplate p s m) = merge+    (object [ "template" .= p+            , "mappings" .= foldl' merge (object []) m+            ])+    (toJSON s)+   where+     merge (Object o1) (Object o2) = toJSON $ HM.union o1 o2+     merge o           Null        = o+     merge _           _           = undefined++instance (FromJSON a) => FromJSON (EsResult a) where+  parseJSON jsonVal@(Object v) = do+    found <- v .:? "found" .!= False+    fr <- if found+             then parseJSON jsonVal+             else return Nothing+    EsResult <$> v .:  "_index"   <*>+                 v .:  "_type"    <*>+                 v .:  "_id"      <*>+                 pure fr+  parseJSON _          = empty++instance (FromJSON a) => FromJSON (EsResultFound a) where+  parseJSON (Object v) = EsResultFound <$>+                         v .: "_version" <*>+                         v .: "_source"+  parseJSON _          = empty++instance FromJSON EsError where+  parseJSON (Object v) = EsError <$>+                         v .: "status" <*>+                         (v .: "error" <|> (v .: "error" >>= (.: "reason")))+  parseJSON _ = empty++instance FromJSON IndexAliasesSummary where+  parseJSON = withObject "IndexAliasesSummary" parse+    where parse o = IndexAliasesSummary . mconcat <$> mapM (uncurry go) (HM.toList o)+          go ixn = withObject "index aliases" $ \ia -> do+                     aliases <- ia .:? "aliases" .!= mempty+                     forM (HM.toList aliases) $ \(aName, v) -> do+                       let indexAlias = IndexAlias (IndexName ixn) (IndexAliasName (IndexName aName))+                       IndexAliasSummary indexAlias <$> parseJSON v+++instance ToJSON IndexAliasAction where+  toJSON (AddAlias ia opts) = object ["add" .= (iaObj <> optsObj)]+    where Object iaObj = toJSON ia+          Object optsObj = toJSON opts+  toJSON (RemoveAlias ia) = object ["remove" .= iaObj]+    where Object iaObj = toJSON ia++instance ToJSON IndexAlias where+  toJSON IndexAlias {..} = object ["index" .= srcIndex+                                  , "alias" .= indexAlias+                                  ]++instance ToJSON IndexAliasCreate where+  toJSON IndexAliasCreate {..} = Object (filterObj <> routingObj)+    where filterObj = maybe mempty (HM.singleton "filter" . toJSON) aliasCreateFilter+          Object routingObj = maybe (Object mempty) toJSON aliasCreateRouting++instance ToJSON AliasRouting where+  toJSON (AllAliasRouting v) = object ["routing" .= v]+  toJSON (GranularAliasRouting srch idx) = object (catMaybes prs)+    where prs = [("search_routing" .=) <$> srch+                ,("index_routing" .=) <$> idx]++instance FromJSON AliasRouting where+  parseJSON = withObject "AliasRouting" parse+    where parse o = parseAll o <|> parseGranular o+          parseAll o = AllAliasRouting <$> o .: "routing"+          parseGranular o = do+            sr <- o .:? "search_routing"+            ir <- o .:? "index_routing"+            if isNothing sr && isNothing ir+               then fail "Both search_routing and index_routing can't be blank"+               else return (GranularAliasRouting sr ir)++instance FromJSON IndexAliasCreate where+  parseJSON v = withObject "IndexAliasCreate" parse v+    where parse o = IndexAliasCreate <$> optional (parseJSON v)+                                     <*> o .:? "filter"++instance ToJSON SearchAliasRouting where+  toJSON (SearchAliasRouting rvs) = toJSON (T.intercalate "," (routingValue <$> toList rvs))++instance FromJSON SearchAliasRouting where+  parseJSON = withText "SearchAliasRouting" parse+    where parse t = SearchAliasRouting <$> parseNEJSON (String <$> T.splitOn "," t)++instance ToJSON Search where+  toJSON (Search mquery sFilter sort searchAggs highlight sTrackSortScores sFrom sSize _ sFields sSource) =+    omitNulls [ "query"        .= query'+              , "sort"         .= sort+              , "aggregations" .= searchAggs+              , "highlight"    .= highlight+              , "from"         .= sFrom+              , "size"         .= sSize+              , "track_scores" .= sTrackSortScores+              , "fields"       .= sFields+              , "_source"      .= sSource]++    where query' = case sFilter of+                    Nothing -> mquery+                    Just x -> Just . QueryBoolQuery $ mkBoolQuery (maybeToList mquery) [x] [] []++instance ToJSON Source where+    toJSON NoSource                         = toJSON False+    toJSON (SourcePatterns patterns)        = toJSON patterns+    toJSON (SourceIncludeExclude incl excl) = object [ "includes" .= incl, "excludes" .= excl ]++instance ToJSON PatternOrPatterns where+  toJSON (PopPattern pattern)   = toJSON pattern+  toJSON (PopPatterns patterns) = toJSON patterns++instance ToJSON Include where+  toJSON (Include patterns) = toJSON patterns++instance ToJSON Exclude where+  toJSON (Exclude patterns) = toJSON patterns++instance ToJSON Pattern where+  toJSON (Pattern pattern) = toJSON pattern+++instance ToJSON FieldHighlight where+    toJSON (FieldHighlight (FieldName fName) (Just fSettings)) =+        object [ fName .= fSettings ]+    toJSON (FieldHighlight (FieldName fName) Nothing) =+        object [ fName .= emptyObject ]++instance ToJSON Highlights where+    toJSON (Highlights global fields) =+        omitNulls (("fields" .= fields)+                  : highlightSettingsPairs global)++instance ToJSON HighlightSettings where+    toJSON hs = omitNulls (highlightSettingsPairs (Just hs))++highlightSettingsPairs :: Maybe HighlightSettings -> [Pair]+highlightSettingsPairs Nothing = []+highlightSettingsPairs (Just (Plain plh)) = plainHighPairs (Just plh)+highlightSettingsPairs (Just (Postings ph)) = postHighPairs (Just ph)+highlightSettingsPairs (Just (FastVector fvh)) = fastVectorHighPairs (Just fvh)+++plainHighPairs :: Maybe PlainHighlight -> [Pair]+plainHighPairs Nothing = []+plainHighPairs (Just (PlainHighlight plCom plNonPost)) =+    [ "type" .= String "plain"]+    ++ commonHighlightPairs plCom+    ++ nonPostingsToPairs plNonPost++postHighPairs :: Maybe PostingsHighlight -> [Pair]+postHighPairs Nothing = []+postHighPairs (Just (PostingsHighlight pCom)) =+    ("type" .= String "postings")+    : commonHighlightPairs pCom++fastVectorHighPairs :: Maybe FastVectorHighlight -> [Pair]+fastVectorHighPairs Nothing = []+fastVectorHighPairs (Just+                     (FastVectorHighlight fvCom fvNonPostSettings fvBoundChars+                                          fvBoundMaxScan fvFragOff fvMatchedFields+                                          fvPhraseLim)) =+                        [ "type" .= String "fvh"+                        , "boundary_chars" .= fvBoundChars+                        , "boundary_max_scan" .= fvBoundMaxScan+                        , "fragment_offset" .= fvFragOff+                        , "matched_fields" .= fvMatchedFields+                        , "phraseLimit" .= fvPhraseLim]+                        ++ commonHighlightPairs fvCom+                        ++ nonPostingsToPairs fvNonPostSettings++deleteSeveral :: (Eq k, Hashable k) => [k] -> HM.HashMap k v -> HM.HashMap k v+deleteSeveral ks hm = foldr HM.delete hm ks++commonHighlightPairs :: Maybe CommonHighlight -> [Pair]+commonHighlightPairs Nothing = []+commonHighlightPairs (Just (CommonHighlight chScore chForceSource chTag chEncoder+                                      chNoMatchSize chHighlightQuery+                                      chRequireFieldMatch)) =+    [ "order" .= chScore+    , "force_source" .= chForceSource+    , "encoder" .= chEncoder+    , "no_match_size" .= chNoMatchSize+    , "highlight_query" .= chHighlightQuery+    , "require_fieldMatch" .= chRequireFieldMatch]+    ++ highlightTagToPairs chTag+++nonPostingsToPairs :: Maybe NonPostings -> [Pair]+nonPostingsToPairs Nothing = []+nonPostingsToPairs (Just (NonPostings npFragSize npNumOfFrags)) =+    [ "fragment_size" .= npFragSize+    , "number_of_fragments" .= npNumOfFrags]++parseNEJSON :: (FromJSON a) => [Value] -> Parser (NonEmpty a)+parseNEJSON []     = fail "Expected non-empty list"+parseNEJSON (x:xs) = DT.mapM parseJSON (x :| xs)+++instance ToJSON HighlightEncoder where+    toJSON DefaultEncoder = String "default"+    toJSON HTMLEncoder    = String "html"++highlightTagToPairs :: Maybe HighlightTag -> [Pair]+highlightTagToPairs (Just (TagSchema _))            = [ "scheme"    .=  String "default"]+highlightTagToPairs (Just (CustomTags (pre, post))) = [ "pre_tags"  .= pre+                                                      , "post_tags" .= post]+highlightTagToPairs Nothing = []++instance ToJSON SortSpec where+  toJSON (DefaultSortSpec+          (DefaultSort (FieldName dsSortFieldName) dsSortOrder dsIgnoreUnmapped+           dsSortMode dsMissingSort dsNestedFilter)) =+    object [dsSortFieldName .= omitNulls base] where+      base = [ "order" .= dsSortOrder+             , "unmapped_type" .= dsIgnoreUnmapped+             , "mode" .= dsSortMode+             , "missing" .= dsMissingSort+             , "nested_filter" .= dsNestedFilter ]++  toJSON (GeoDistanceSortSpec gdsSortOrder (GeoPoint (FieldName field) gdsLatLon) units) =+    object [ "unit" .= units+           , field .= gdsLatLon+           , "order" .= gdsSortOrder ]+++instance ToJSON SortOrder where+  toJSON Ascending  = String "asc"+  toJSON Descending = String "desc"+++instance ToJSON SortMode where+  toJSON SortMin = String "min"+  toJSON SortMax = String "max"+  toJSON SortSum = String "sum"+  toJSON SortAvg = String "avg"+++instance ToJSON Missing where+  toJSON LastMissing         = String "_last"+  toJSON FirstMissing        = String "_first"+  toJSON (CustomMissing txt) = String txt+++instance ToJSON ScoreType where+  toJSON ScoreTypeMax  = "max"+  toJSON ScoreTypeAvg  = "avg"+  toJSON ScoreTypeSum  = "sum"+  toJSON ScoreTypeNone = "none"++instance FromJSON ScoreType where+  parseJSON = withText "ScoreType" parse+    where parse "max"  = pure ScoreTypeMax+          parse "avg"  = pure ScoreTypeAvg+          parse "sum"  = pure ScoreTypeSum+          parse "none" = pure ScoreTypeNone+          parse t      = fail ("Unexpected ScoreType: " <> show t)++instance ToJSON Distance where+  toJSON (Distance dCoefficient dUnit) =+    String boltedTogether where+      coefText = showText dCoefficient+      (String unitText) = toJSON dUnit+      boltedTogether = mappend coefText unitText++instance FromJSON Distance where+  parseJSON = withText "Distance" parse+    where parse t = Distance <$> parseCoeff nT+                             <*> parseJSON (String unitT)+            where (nT, unitT) = T.span validForNumber t+                  -- may be a better way to do this+                  validForNumber '-' = True+                  validForNumber '.' = True+                  validForNumber 'e' = True+                  validForNumber c   = isNumber c+                  parseCoeff "" = fail "Empty string cannot be parsed as number"+                  parseCoeff s = return (read (T.unpack s))++instance ToJSON DistanceUnit where+  toJSON Miles         = String "mi"+  toJSON Yards         = String "yd"+  toJSON Feet          = String "ft"+  toJSON Inches        = String "in"+  toJSON Kilometers    = String "km"+  toJSON Meters        = String "m"+  toJSON Centimeters   = String "cm"+  toJSON Millimeters   = String "mm"+  toJSON NauticalMiles = String "nmi"+++instance FromJSON DistanceUnit where+  parseJSON = withText "DistanceUnit" parse+    where parse "mi"  = pure Miles+          parse "yd"  = pure Yards+          parse "ft"  = pure Feet+          parse "in"  = pure Inches+          parse "km"  = pure Kilometers+          parse "m"   = pure Meters+          parse "cm"  = pure Centimeters+          parse "mm"  = pure Millimeters+          parse "nmi" = pure NauticalMiles+          parse u     = fail ("Unrecognized DistanceUnit: " <> show u)++instance ToJSON DistanceType where+  toJSON Arc       = String "arc"+  toJSON SloppyArc = String "sloppy_arc"+  toJSON Plane     = String "plane"++instance FromJSON DistanceType where+  parseJSON = withText "DistanceType" parse+    where parse "arc"        = pure Arc+          parse "sloppy_arc" = pure SloppyArc+          parse "plane"      = pure Plane+          parse t            = fail ("Unrecognized DistanceType: " <> show t)+++instance ToJSON OptimizeBbox where+  toJSON NoOptimizeBbox              = String "none"+  toJSON (OptimizeGeoFilterType gft) = toJSON gft++instance FromJSON OptimizeBbox where+  parseJSON v = withText "NoOptimizeBbox" parseNoOptimize v+            <|> parseOptimize v+    where parseNoOptimize "none" = pure NoOptimizeBbox+          parseNoOptimize _      = mzero+          parseOptimize = fmap OptimizeGeoFilterType . parseJSON++instance ToJSON GeoBoundingBoxConstraint where+  toJSON (GeoBoundingBoxConstraint+          (FieldName gbbcGeoBBField) gbbcConstraintBox cache type') =+    object [gbbcGeoBBField .= gbbcConstraintBox+           , "_cache"  .= cache+           , "type" .= type']++instance FromJSON GeoBoundingBoxConstraint where+  parseJSON = withObject "GeoBoundingBoxConstraint" parse+    where parse o = case HM.toList (deleteSeveral ["type", "_cache"] o) of+                      [(fn, v)] -> GeoBoundingBoxConstraint (FieldName fn)+                                   <$> parseJSON v+                                   <*> o .:? "_cache" .!= defaultCache+                                   <*> o .: "type"+                      _ -> fail "Could not find field name for GeoBoundingBoxConstraint"++instance ToJSON GeoFilterType where+  toJSON GeoFilterMemory  = String "memory"+  toJSON GeoFilterIndexed = String "indexed"++instance FromJSON GeoFilterType where+  parseJSON = withText "GeoFilterType" parse+    where parse "memory"  = pure GeoFilterMemory+          parse "indexed" = pure GeoFilterIndexed+          parse t         = fail ("Unrecognized GeoFilterType: " <> show t)++instance ToJSON GeoBoundingBox where+  toJSON (GeoBoundingBox gbbTopLeft gbbBottomRight) =+    object ["top_left"      .= gbbTopLeft+           , "bottom_right" .= gbbBottomRight]++instance FromJSON GeoBoundingBox where+  parseJSON = withObject "GeoBoundingBox" parse+    where parse o = GeoBoundingBox+                    <$> o .: "top_left"+                    <*> o .: "bottom_right"++instance ToJSON LatLon where+  toJSON (LatLon lLat lLon) =+    object ["lat"  .= lLat+           , "lon" .= lLon]++instance FromJSON LatLon where+  parseJSON = withObject "LatLon" parse+    where parse o = LatLon <$> o .: "lat"+                           <*> o .: "lon"++-- index for smaller ranges, fielddata for longer ranges+instance ToJSON RangeExecution where+  toJSON RangeExecutionIndex     = "index"+  toJSON RangeExecutionFielddata = "fielddata"+++instance FromJSON RangeExecution where+  parseJSON = withText "RangeExecution" parse+    where parse "index"     = pure RangeExecutionIndex+          parse "fielddata" = pure RangeExecutionFielddata+          parse t           = error ("Unrecognized RangeExecution " <> show t)++instance ToJSON RegexpFlags where+  toJSON AllRegexpFlags              = String "ALL"+  toJSON NoRegexpFlags               = String "NONE"+  toJSON (SomeRegexpFlags (h :| fs)) = String $ T.intercalate "|" flagStrs+    where flagStrs             = map flagStr . nub $ h:fs+          flagStr AnyString    = "ANYSTRING"+          flagStr Automaton    = "AUTOMATON"+          flagStr Complement   = "COMPLEMENT"+          flagStr Empty        = "EMPTY"+          flagStr Intersection = "INTERSECTION"+          flagStr Interval     = "INTERVAL"++instance FromJSON RegexpFlags where+  parseJSON = withText "RegexpFlags" parse+    where parse "ALL" = pure AllRegexpFlags+          parse "NONE" = pure NoRegexpFlags+          parse t = SomeRegexpFlags <$> parseNEJSON (String <$> T.splitOn "|" t)++instance FromJSON RegexpFlag where+  parseJSON = withText "RegexpFlag" parse+    where parse "ANYSTRING"    = pure AnyString+          parse "AUTOMATON"    = pure Automaton+          parse "COMPLEMENT"   = pure Complement+          parse "EMPTY"        = pure Empty+          parse "INTERSECTION" = pure Intersection+          parse "INTERVAL"     = pure Interval+          parse f              = fail ("Unknown RegexpFlag: " <> show f)++instance ToJSON Term where+  toJSON (Term field value) = object ["term" .= object+                                      [field .= value]]++instance FromJSON Term where+  parseJSON = withObject "Term" parse+    where parse o = do termObj <- o .: "term"+                       case HM.toList termObj of+                         [(fn, v)] -> Term fn <$> parseJSON v+                         _ -> fail "Expected object with 1 field-named key"++instance ToJSON BoolMatch where+  toJSON (MustMatch    term  cache) = object ["must"     .= term,+                                              "_cache" .= cache]+  toJSON (MustNotMatch term  cache) = object ["must_not" .= term,+                                              "_cache" .= cache]+  toJSON (ShouldMatch  terms cache) = object ["should"   .= fmap toJSON terms,+                                              "_cache" .= cache]++instance FromJSON BoolMatch where+  parseJSON = withObject "BoolMatch" parse+    where parse o = mustMatch `taggedWith` "must"+                <|> mustNotMatch `taggedWith` "must_not"+                <|> shouldMatch `taggedWith` "should"+            where taggedWith parser k = parser =<< o .: k+                  mustMatch t = MustMatch t <$> o .:? "_cache" .!= defaultCache+                  mustNotMatch t = MustNotMatch t <$> o .:? "_cache" .!= defaultCache+                  shouldMatch t = ShouldMatch t <$> o .:? "_cache" .!= defaultCache++instance (FromJSON a) => FromJSON (SearchResult a) where+  parseJSON (Object v) = SearchResult <$>+                         v .:  "took"         <*>+                         v .:  "timed_out"    <*>+                         v .:  "_shards"      <*>+                         v .:  "hits"         <*>+                         v .:? "aggregations" <*>+                         v .:? "_scroll_id"+  parseJSON _          = empty++instance (FromJSON a) => FromJSON (SearchHits a) where+  parseJSON (Object v) = SearchHits <$>+                         v .: "total"     <*>+                         v .: "max_score" <*>+                         v .: "hits"+  parseJSON _          = empty++instance (FromJSON a) => FromJSON (Hit a) where+  parseJSON (Object v) = Hit <$>+                         v .:  "_index"   <*>+                         v .:  "_type"    <*>+                         v .:  "_id"      <*>+                         v .:  "_score"   <*>+                         v .:?  "_source" <*>+                         v .:? "highlight"+  parseJSON _          = empty++instance FromJSON ShardResult where+  parseJSON (Object v) = ShardResult       <$>+                         v .: "total"      <*>+                         v .: "successful" <*>+                         v .: "failed"+  parseJSON _          = empty+++instance FromJSON DocVersion where+  parseJSON v = do+    i <- parseJSON v+    maybe (fail "DocVersion out of range") return $ mkDocVersion i++-- This insanity is because ES *sometimes* returns Replica/Shard counts as strings+instance FromJSON ReplicaCount where+  parseJSON v = parseAsInt v+            <|> parseAsString v+    where parseAsInt = fmap ReplicaCount . parseJSON+          parseAsString = withText "ReplicaCount" (fmap ReplicaCount . parseReadText)++instance FromJSON ShardCount where+  parseJSON v = parseAsInt v+            <|> parseAsString v+    where parseAsInt = fmap ShardCount . parseJSON+          parseAsString = withText "ShardCount" (fmap ShardCount . parseReadText)++instance Bounded DocVersion where+  minBound = DocVersion 1+  maxBound = DocVersion 9200000000000000000 -- 9.2e+18++instance Enum DocVersion where+  succ x+    | x /= maxBound = DocVersion (succ $ docVersionNumber x)+    | otherwise     = succError "DocVersion"+  pred x+    | x /= minBound = DocVersion (pred $ docVersionNumber x)+    | otherwise     = predError "DocVersion"+  toEnum i =+    fromMaybe (error $ show i ++ " out of DocVersion range") $ mkDocVersion i+  fromEnum = docVersionNumber+  enumFrom = boundedEnumFrom+  enumFromThen = boundedEnumFromThen++-- | Username type used for HTTP Basic authentication. See 'basicAuthHook'.+newtype EsUsername = EsUsername { esUsername :: Text } deriving (Read, Show, Eq)++-- | Password type used for HTTP Basic authentication. See 'basicAuthHook'.+newtype EsPassword = EsPassword { esPassword :: Text } deriving (Read, Show, Eq)+++data SnapshotRepoSelection = SnapshotRepoList (NonEmpty SnapshotRepoPattern)+                           | AllSnapshotRepos deriving (Eq, Generic, Show, Typeable)+++-- | 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+data SnapshotRepoPattern = ExactRepo SnapshotRepoName+                         | RepoPattern Text+                         deriving (Eq, Generic, Show, Typeable)++-- | The unique name of a snapshot repository.+newtype SnapshotRepoName = SnapshotRepoName  { snapshotRepoName :: Text }+                         deriving (Eq, Ord, Generic, Show, Typeable, ToJSON, FromJSON)+++-- | 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+data GenericSnapshotRepo = GenericSnapshotRepo {+      gSnapshotRepoName     :: SnapshotRepoName+    , gSnapshotRepoType     :: SnapshotRepoType+    , gSnapshotRepoSettings :: GenericSnapshotRepoSettings+    } deriving (Eq, Generic, Show, Typeable)+++instance SnapshotRepo GenericSnapshotRepo where+  toGSnapshotRepo = id+  fromGSnapshotRepo = Right+++newtype SnapshotRepoType = SnapshotRepoType { snapshotRepoType :: Text }+                         deriving (Eq, Ord, Generic, Show, Typeable, ToJSON, FromJSON)+++-- | Opaque representation of snapshot repo settings. Instances of+-- 'SnapshotRepo' will produce this.+newtype GenericSnapshotRepoSettings = GenericSnapshotRepoSettings { gSnapshotRepoSettingsObject :: Object }+                                    deriving (Eq, Generic, Show, Typeable, ToJSON)+++ -- Regardless of whether you send strongly typed json, my version of+ -- ES sends back stringly typed json in the settings, e.g. booleans+ -- as strings, so we'll try to convert them.+instance FromJSON GenericSnapshotRepoSettings where+  parseJSON = fmap (GenericSnapshotRepoSettings . fmap unStringlyTypeJSON). parseJSON++-- | The result of running 'verifySnapshotRepo'.+newtype SnapshotVerification = SnapshotVerification { snapshotNodeVerifications :: [SnapshotNodeVerification] }+                             deriving (Eq, Generic, Show, Typeable)+++instance FromJSON SnapshotVerification where+  parseJSON = withObject "SnapshotVerification" parse+    where+      parse o = do+        o2 <- o .: "nodes"+        SnapshotVerification <$> mapM (uncurry parse') (HM.toList o2)+      parse' rawFullId = withObject "SnapshotNodeVerification" $ \o ->+        SnapshotNodeVerification (FullNodeId rawFullId) <$> o .: "name"+++-- | A node that has verified a snapshot+data SnapshotNodeVerification = SnapshotNodeVerification {+      snvFullId   :: FullNodeId+    , snvNodeName :: NodeName+    } deriving (Eq, Generic, Show, Typeable)+++-- | Unique, automatically-generated name assigned to nodes that are+-- usually returned in node-oriented APIs.+newtype FullNodeId = FullNodeId { fullNodeId :: Text }+                   deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)+++-- | A human-readable node name that is supplied by the user in the+-- node config or automatically generated by ElasticSearch.+newtype NodeName = NodeName { nodeName :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++newtype ClusterName = ClusterName { clusterName :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++data NodesInfo = NodesInfo {+      nodesInfo        :: [NodeInfo]+    , nodesClusterName :: ClusterName+    } deriving (Eq, Show, Generic, Typeable)++data NodesStats = NodesStats {+      nodesStats            :: [NodeStats]+    , nodesStatsClusterName :: ClusterName+    } deriving (Eq, Show, Generic, Typeable)++data NodeStats = NodeStats {+      nodeStatsName          :: NodeName+    , nodeStatsFullId        :: FullNodeId+    , nodeStatsBreakersStats :: Maybe NodeBreakersStats+    , nodeStatsHTTP          :: NodeHTTPStats+    , nodeStatsTransport     :: NodeTransportStats+    , nodeStatsFS            :: NodeFSStats+    , nodeStatsNetwork       :: Maybe NodeNetworkStats+    , nodeStatsThreadPool    :: NodeThreadPoolsStats+    , nodeStatsJVM           :: NodeJVMStats+    , nodeStatsProcess       :: NodeProcessStats+    , nodeStatsOS            :: NodeOSStats+    , nodeStatsIndices       :: NodeIndicesStats+    } deriving (Eq, Show, Generic, Typeable)++data NodeBreakersStats = NodeBreakersStats {+      nodeStatsParentBreaker    :: NodeBreakerStats+    , nodeStatsRequestBreaker   :: NodeBreakerStats+    , nodeStatsFieldDataBreaker :: NodeBreakerStats+    } deriving (Eq, Show, Generic, Typeable)++data NodeBreakerStats = NodeBreakerStats {+      nodeBreakersTripped   :: Int+    , nodeBreakersOverhead  :: Double+    , nodeBreakersEstSize   :: Bytes+    , nodeBreakersLimitSize :: Bytes+    } deriving (Eq, Show, Generic, Typeable)++data NodeHTTPStats = NodeHTTPStats {+      nodeHTTPTotalOpened :: Int+    , nodeHTTPCurrentOpen :: Int+    } deriving (Eq, Show, Generic, Typeable)++data NodeTransportStats = NodeTransportStats {+      nodeTransportTXSize     :: Bytes+    , nodeTransportCount      :: Int+    , nodeTransportRXSize     :: Bytes+    , nodeTransportRXCount    :: Int+    , nodeTransportServerOpen :: Int+    } deriving (Eq, Show, Generic, Typeable)++data NodeFSStats = NodeFSStats {+      nodeFSDataPaths :: [NodeDataPathStats]+    , nodeFSTotal     :: NodeFSTotalStats+    , nodeFSTimestamp :: UTCTime+    } deriving (Eq, Show, Generic, Typeable)++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          :: Maybe Text+    , nodeDataPathMount           :: Text+    , nodeDataPathPath            :: Text+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++data NodeNetworkStats = NodeNetworkStats {+      nodeNetTCPOutRSTs      :: Int+    , nodeNetTCPInErrs       :: Int+    , nodeNetTCPAttemptFails :: Int+    , nodeNetTCPEstabResets  :: Int+    , nodeNetTCPRetransSegs  :: Int+    , nodeNetTCPOutSegs      :: Int+    , nodeNetTCPInSegs       :: Int+    , nodeNetTCPCurrEstab    :: Int+    , nodeNetTCPPassiveOpens :: Int+    , nodeNetTCPActiveOpens  :: Int+    } deriving (Eq, Show, Generic, Typeable)++data NodeThreadPoolsStats = NodeThreadPoolsStats {+      nodeThreadPoolsStatsSnapshot          :: NodeThreadPoolStats+    , nodeThreadPoolsStatsBulk              :: NodeThreadPoolStats+    , nodeThreadPoolsStatsMerge             :: NodeThreadPoolStats+    , nodeThreadPoolsStatsGet               :: NodeThreadPoolStats+    , nodeThreadPoolsStatsManagement        :: NodeThreadPoolStats+    , nodeThreadPoolsStatsFetchShardStore   :: Maybe NodeThreadPoolStats+    , nodeThreadPoolsStatsOptimize          :: Maybe NodeThreadPoolStats+    , nodeThreadPoolsStatsFlush             :: NodeThreadPoolStats+    , nodeThreadPoolsStatsSearch            :: NodeThreadPoolStats+    , nodeThreadPoolsStatsWarmer            :: NodeThreadPoolStats+    , nodeThreadPoolsStatsGeneric           :: NodeThreadPoolStats+    , nodeThreadPoolsStatsSuggest           :: Maybe NodeThreadPoolStats+    , nodeThreadPoolsStatsRefresh           :: NodeThreadPoolStats+    , nodeThreadPoolsStatsIndex             :: NodeThreadPoolStats+    , nodeThreadPoolsStatsListener          :: Maybe NodeThreadPoolStats+    , nodeThreadPoolsStatsFetchShardStarted :: Maybe NodeThreadPoolStats+    , nodeThreadPoolsStatsPercolate         :: Maybe NodeThreadPoolStats+    } deriving (Eq, Show, Generic, Typeable)++data NodeThreadPoolStats = NodeThreadPoolStats {+      nodeThreadPoolCompleted :: Int+    , nodeThreadPoolLargest   :: Int+    , nodeThreadPoolRejected  :: Int+    , nodeThreadPoolActive    :: Int+    , nodeThreadPoolQueue     :: Int+    , nodeThreadPoolThreads   :: Int+    } deriving (Eq, Show, Generic, Typeable)++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+    } deriving (Eq, Show, Generic, Typeable)++data JVMBufferPoolStats = JVMBufferPoolStats {+      jvmBufferPoolStatsTotalCapacity :: Bytes+    , jvmBufferPoolStatsUsed          :: Bytes+    , jvmBufferPoolStatsCount         :: Int+    } deriving (Eq, Show, Generic, Typeable)++data JVMGCStats = JVMGCStats {+      jvmGCStatsCollectionTime  :: NominalDiffTime+    , jvmGCStatsCollectionCount :: Int+    } deriving (Eq, Show, Generic, Typeable)++data JVMPoolStats = JVMPoolStats {+      jvmPoolStatsPeakMax  :: Bytes+    , jvmPoolStatsPeakUsed :: Bytes+    , jvmPoolStatsMax      :: Bytes+    , jvmPoolStatsUsed     :: Bytes+    } deriving (Eq, Show, Generic, Typeable)++data NodeProcessStats = NodeProcessStats {+      nodeProcessTimestamp       :: UTCTime+    , nodeProcessOpenFDs         :: Int+    , nodeProcessMaxFDs          :: Int+    , nodeProcessCPUPercent      :: Int+    , nodeProcessCPUTotal        :: NominalDiffTime+    , nodeProcessMemTotalVirtual :: Bytes+    } deriving (Eq, Show, Generic, Typeable)++data NodeOSStats = NodeOSStats {+      nodeOSTimestamp      :: UTCTime+    , nodeOSCPUPercent     :: Int+    , nodeOSLoad           :: Maybe LoadAvgs+    , nodeOSMemTotal       :: Bytes+    , nodeOSMemFree        :: Bytes+    , nodeOSMemFreePercent :: Int+    , nodeOSMemUsed        :: Bytes+    , nodeOSMemUsedPercent :: Int+    , nodeOSSwapTotal      :: Bytes+    , nodeOSSwapFree       :: Bytes+    , nodeOSSwapUsed       :: Bytes+    } deriving (Eq, Show, Generic, Typeable)++data LoadAvgs = LoadAvgs {+     loadAvg1Min  :: Double+   , loadAvg5Min  :: Double+   , loadAvg15Min :: Double+   } deriving (Eq, Show, Generic, Typeable)++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          :: Maybe Int+    , nodeIndicesStatsSuggestTime             :: Maybe NominalDiffTime+    , nodeIndicesStatsSuggestTotal            :: Maybe Int+    , nodeIndicesStatsTranslogSize            :: Bytes+    , nodeIndicesStatsTranslogOps             :: Int+    , nodeIndicesStatsSegFixedBitSetMemory    :: Maybe Bytes+    , nodeIndicesStatsSegVersionMapMemory     :: Bytes+    , nodeIndicesStatsSegIndexWriterMaxMemory :: Maybe Bytes+    , nodeIndicesStatsSegIndexWriterMemory    :: Bytes+    , nodeIndicesStatsSegMemory               :: Bytes+    , nodeIndicesStatsSegCount                :: Int+    , nodeIndicesStatsCompletionSize          :: Bytes+    , nodeIndicesStatsPercolateQueries        :: Maybe Int+    , nodeIndicesStatsPercolateMemory         :: Maybe Bytes+    , nodeIndicesStatsPercolateCurrent        :: Maybe Int+    , nodeIndicesStatsPercolateTime           :: Maybe NominalDiffTime+    , nodeIndicesStatsPercolateTotal          :: Maybe Int+    , nodeIndicesStatsFieldDataEvictions      :: Int+    , nodeIndicesStatsFieldDataMemory         :: 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+    } deriving (Eq, Show, Generic, Typeable)++-- | A quirky address format used throughout ElasticSearch. An example+-- would be inet[/1.1.1.1:9200]. inet may be a placeholder for a+-- <https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN>.+newtype EsAddress = EsAddress { esAddress :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++-- | Typically a 7 character hex string.+newtype BuildHash = BuildHash { buildHash :: Text }+                 deriving (Eq, Ord, Generic, Read, Show, Typeable, FromJSON, ToJSON)++newtype PluginName = PluginName { pluginName :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++data NodeInfo = NodeInfo {+      nodeInfoHTTPAddress      :: Maybe EsAddress+    , nodeInfoBuild            :: BuildHash+    , nodeInfoESVersion        :: VersionNumber+    , nodeInfoIP               :: Server+    , nodeInfoHost             :: Server+    , nodeInfoTransportAddress :: EsAddress+    , nodeInfoName             :: NodeName+    , nodeInfoFullId           :: FullNodeId+    , nodeInfoPlugins          :: [NodePluginInfo]+    , nodeInfoHTTP             :: NodeHTTPInfo+    , nodeInfoTransport        :: NodeTransportInfo+    , nodeInfoNetwork          :: Maybe NodeNetworkInfo+    , nodeInfoThreadPool       :: NodeThreadPoolsInfo+    , nodeInfoJVM              :: NodeJVMInfo+    , nodeInfoProcess          :: NodeProcessInfo+    , nodeInfoOS               :: NodeOSInfo+    , nodeInfoSettings         :: Object+    -- ^ The members of the settings objects are not consistent,+    -- dependent on plugins, etc.+    } deriving (Eq, Show, Generic, Typeable)++data NodePluginInfo = NodePluginInfo {+      nodePluginSite        :: Maybe Bool+    -- ^ Is this a site plugin?+    , nodePluginJVM         :: Maybe Bool+    -- ^ Is this plugin running on the JVM+    , nodePluginDescription :: Text+    , nodePluginVersion     :: MaybeNA VersionNumber+    , nodePluginName        :: PluginName+    } deriving (Eq, Show, Generic, Typeable)++data NodeHTTPInfo = NodeHTTPInfo {+      nodeHTTPMaxContentLength :: Bytes+    , nodeHTTPTransportAddress :: BoundTransportAddress+    } deriving (Eq, Show, Generic, Typeable)++data NodeTransportInfo = NodeTransportInfo {+      nodeTransportProfiles :: [BoundTransportAddress]+    , nodeTransportAddress  :: BoundTransportAddress+    } deriving (Eq, Show, Generic, Typeable)++data BoundTransportAddress = BoundTransportAddress {+      publishAddress :: EsAddress+    , boundAddress   :: [EsAddress]+    } deriving (Eq, Show, Generic, Typeable)++data NodeNetworkInfo = NodeNetworkInfo {+      nodeNetworkPrimaryInterface :: NodeNetworkInterface+    , nodeNetworkRefreshInterval  :: NominalDiffTime+    } deriving (Eq, Show, Generic, Typeable)++newtype MacAddress = MacAddress { macAddress :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++newtype NetworkInterfaceName = NetworkInterfaceName { networkInterfaceName :: Text }+                 deriving (Eq, Ord, Generic, Show, Typeable, FromJSON)++data NodeNetworkInterface = NodeNetworkInterface {+      nodeNetIfaceMacAddress :: MacAddress+    , nodeNetIfaceName       :: NetworkInterfaceName+    , nodeNetIfaceAddress    :: Server+    } deriving (Eq, Show, Generic, Typeable)++data NodeThreadPoolsInfo = NodeThreadPoolsInfo {+      nodeThreadPoolsRefresh           :: NodeThreadPoolInfo+    , nodeThreadPoolsManagement        :: NodeThreadPoolInfo+    , nodeThreadPoolsPercolate         :: Maybe NodeThreadPoolInfo+    , nodeThreadPoolsListener          :: Maybe NodeThreadPoolInfo+    , nodeThreadPoolsFetchShardStarted :: Maybe NodeThreadPoolInfo+    , nodeThreadPoolsSearch            :: NodeThreadPoolInfo+    , nodeThreadPoolsFlush             :: NodeThreadPoolInfo+    , nodeThreadPoolsWarmer            :: NodeThreadPoolInfo+    , nodeThreadPoolsOptimize          :: Maybe NodeThreadPoolInfo+    , nodeThreadPoolsBulk              :: NodeThreadPoolInfo+    , nodeThreadPoolsSuggest           :: Maybe NodeThreadPoolInfo+    , nodeThreadPoolsMerge             :: NodeThreadPoolInfo+    , nodeThreadPoolsSnapshot          :: NodeThreadPoolInfo+    , nodeThreadPoolsGet               :: NodeThreadPoolInfo+    , nodeThreadPoolsFetchShardStore   :: Maybe NodeThreadPoolInfo+    , nodeThreadPoolsIndex             :: NodeThreadPoolInfo+    , nodeThreadPoolsGeneric           :: NodeThreadPoolInfo+    } deriving (Eq, Show, Generic, Typeable)++data NodeThreadPoolInfo = NodeThreadPoolInfo {+      nodeThreadPoolQueueSize :: ThreadPoolSize+    , nodeThreadPoolKeepalive :: Maybe NominalDiffTime+    , nodeThreadPoolMin       :: Maybe Int+    , nodeThreadPoolMax       :: Maybe Int+    , nodeThreadPoolType      :: ThreadPoolType+    } deriving (Eq, Show, Generic, Typeable)++data ThreadPoolSize = ThreadPoolBounded Int+                    | ThreadPoolUnbounded+                    deriving (Eq, Show, Generic, Typeable)++data ThreadPoolType = ThreadPoolScaling+                    | ThreadPoolFixed+                    | ThreadPoolCached+                    deriving (Eq, Show, Generic, Typeable)++data NodeJVMInfo = NodeJVMInfo {+      nodeJVMInfoMemoryPools             :: [JVMMemoryPool]+    , nodeJVMInfoMemoryPoolsGCCollectors :: [JVMGCCollector]+    , nodeJVMInfoMemoryInfo              :: JVMMemoryInfo+    , nodeJVMInfoStartTime               :: UTCTime+    , nodeJVMInfoVMVendor                :: Text+    , nodeJVMVMVersion                   :: VersionNumber+    -- ^ JVM doesn't seme to follow normal version conventions+    , nodeJVMVMName                      :: Text+    , nodeJVMVersion                     :: VersionNumber+    , nodeJVMPID                         :: PID+    } deriving (Eq, Show, Generic, Typeable)++-- | Handles quirks in the way JVM versions are rendered (1.7.0_101 -> 1.7.0.101)+newtype JVMVersion = JVMVersion { unJVMVersion :: VersionNumber }++data JVMMemoryInfo = JVMMemoryInfo {+      jvmMemoryInfoDirectMax   :: Bytes+    , jvmMemoryInfoNonHeapMax  :: Bytes+    , jvmMemoryInfoNonHeapInit :: Bytes+    , jvmMemoryInfoHeapMax     :: Bytes+    , jvmMemoryInfoHeapInit    :: Bytes+    } deriving (Eq, Show, Generic, Typeable)++newtype JVMMemoryPool = JVMMemoryPool {+      jvmMemoryPool :: Text+    } deriving (Eq, Show, Generic, Typeable, FromJSON)++newtype JVMGCCollector = JVMGCCollector {+      jvmGCCollector :: Text+    } deriving (Eq, Show, Generic, Typeable, FromJSON)++newtype PID = PID {+      pid :: Int+    } deriving (Eq, Show, Generic, Typeable, FromJSON)++data NodeOSInfo = NodeOSInfo {+      nodeOSRefreshInterval     :: NominalDiffTime+    , nodeOSName                :: Text+    , nodeOSArch                :: Text+    , nodeOSVersion             :: VersionNumber+    , nodeOSAvailableProcessors :: Int+    , nodeOSAllocatedProcessors :: Int+    } deriving (Eq, Show, Generic, Typeable)++data CPUInfo = CPUInfo {+      cpuCacheSize      :: Bytes+    , cpuCoresPerSocket :: Int+    , cpuTotalSockets   :: Int+    , cpuTotalCores     :: Int+    , cpuMHZ            :: Int+    , cpuModel          :: Text+    , cpuVendor         :: Text+    } deriving (Eq, Show, Generic, Typeable)++data NodeProcessInfo = NodeProcessInfo {+      nodeProcessMLockAll           :: Bool+    -- ^ See <https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html>+    , nodeProcessMaxFileDescriptors :: Maybe Int+    , nodeProcessId                 :: PID+    , nodeProcessRefreshInterval    :: NominalDiffTime+    } deriving (Eq, Show, Generic, Typeable)++data SnapshotRepoUpdateSettings = SnapshotRepoUpdateSettings {+     repoUpdateVerify :: Bool+     -- ^ After creation/update, synchronously check that nodes can+     -- write to this repo. Defaults to True. You may use False if you+     -- need a faster response and plan on verifying manually later+     -- with 'verifySnapshotRepo'.+    } deriving (Eq, Show, Generic, Typeable)+++-- | Reasonable defaults for repo creation/update+--+-- * repoUpdateVerify True+defaultSnapshotRepoUpdateSettings :: SnapshotRepoUpdateSettings+defaultSnapshotRepoUpdateSettings = SnapshotRepoUpdateSettings True+++-- | A filesystem-based snapshot repo that ships with+-- ElasticSearch. This is an instance of 'SnapshotRepo' so it can be+-- used with 'updateSnapshotRepo'+data FsSnapshotRepo = FsSnapshotRepo {+      fsrName                   :: SnapshotRepoName+    , fsrLocation               :: FilePath+    , fsrCompressMetadata       :: Bool+    , fsrChunkSize              :: Maybe Bytes+    -- ^ Size by which to split large files during snapshotting.+    , fsrMaxRestoreBytesPerSec  :: Maybe Bytes+    -- ^ Throttle node restore rate. If not supplied, defaults to 40mb/sec+    , fsrMaxSnapshotBytesPerSec :: Maybe Bytes+    -- ^ Throttle node snapshot rate. If not supplied, defaults to 40mb/sec+    } deriving (Eq, Generic, Show, Typeable)+++instance SnapshotRepo FsSnapshotRepo where+  toGSnapshotRepo FsSnapshotRepo {..} =+    GenericSnapshotRepo fsrName fsRepoType (GenericSnapshotRepoSettings settings)+    where+      Object settings = object $ [ "location" .= fsrLocation+                                 , "compress" .= fsrCompressMetadata+                                 ] ++ optionalPairs+      optionalPairs = catMaybes [ ("chunk_size" .=) <$> fsrChunkSize+                                , ("max_restore_bytes_per_sec" .=) <$> fsrMaxRestoreBytesPerSec+                                , ("max_snapshot_bytes_per_sec" .=) <$> fsrMaxSnapshotBytesPerSec+                                ]+  fromGSnapshotRepo GenericSnapshotRepo {..}+    | gSnapshotRepoType == fsRepoType = do+      let o = gSnapshotRepoSettingsObject gSnapshotRepoSettings+      parseRepo $ do+        FsSnapshotRepo gSnapshotRepoName <$> o .: "location"+                                         <*> o .:? "compress" .!= False+                                         <*> o .:? "chunk_size"+                                         <*> o .:? "max_restore_bytes_per_sec"+                                         <*> o .:? "max_snapshot_bytes_per_sec"+    | otherwise = Left (RepoTypeMismatch fsRepoType gSnapshotRepoType)+++parseRepo :: Parser a -> Either SnapshotRepoConversionError a+parseRepo parser = case parseEither (const parser) () of+  Left e  -> Left (OtherRepoConversionError (T.pack e))+  Right a -> Right a+++fsRepoType :: SnapshotRepoType+fsRepoType = SnapshotRepoType "fs"++-- | Law: fromGSnapshotRepo (toGSnapshotRepo r) == Right r+class SnapshotRepo r where+  toGSnapshotRepo :: r -> GenericSnapshotRepo+  fromGSnapshotRepo :: GenericSnapshotRepo -> Either SnapshotRepoConversionError r+++data SnapshotRepoConversionError = RepoTypeMismatch SnapshotRepoType SnapshotRepoType+                                 -- ^ Expected type and actual type+                                 | OtherRepoConversionError Text+                                 deriving (Show, Eq, Generic, Typeable)+++instance Exception SnapshotRepoConversionError+++data SnapshotCreateSettings = SnapshotCreateSettings {+      snapWaitForCompletion  :: Bool+      -- ^ Should the API call return immediately after initializing+      -- the snapshot or wait until completed? Note that if this is+      -- enabled it could wait a long time, so you should adjust your+      -- 'ManagerSettings' accordingly to set long timeouts or+      -- explicitly handle timeouts.+    , snapIndices            :: Maybe IndexSelection+    -- ^ Nothing will snapshot all indices. Just [] is permissable and+    -- will essentially be a no-op snapshot.+    , snapIgnoreUnavailable  :: Bool+    -- ^ If set to True, any matched indices that don't exist will be+    -- ignored. Otherwise it will be an error and fail.+    , snapIncludeGlobalState :: Bool+    , snapPartial            :: Bool+    -- ^ If some indices failed to snapshot (e.g. if not all primary+    -- shards are available), should the process proceed?+    } deriving (Eq, Generic, Show, Typeable)+++-- | Reasonable defaults for snapshot creation+--+-- * snapWaitForCompletion False+-- * snapIndices Nothing+-- * snapIgnoreUnavailable False+-- * snapIncludeGlobalState True+-- * snapPartial False+defaultSnapshotCreateSettings :: SnapshotCreateSettings+defaultSnapshotCreateSettings = SnapshotCreateSettings {+      snapWaitForCompletion = False+    , snapIndices = Nothing+    , snapIgnoreUnavailable = False+    , snapIncludeGlobalState = True+    , snapPartial = False+    }+++data SnapshotSelection = SnapshotList (NonEmpty SnapshotPattern)+                       | AllSnapshots deriving (Eq, Generic, Show, Typeable)+++-- | 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 SnapshotPattern = ExactSnap SnapshotName+                     | SnapPattern Text+                     deriving (Eq, Generic, Show, Typeable)+++-- | General information about the state of a snapshot. Has some+-- redundancies with 'SnapshotStatus'+data SnapshotInfo = SnapshotInfo {+      snapInfoShards    :: ShardResult+    , snapInfoFailures  :: [SnapshotShardFailure]+    , snapInfoDuration  :: NominalDiffTime+    , snapInfoEndTime   :: UTCTime+    , snapInfoStartTime :: UTCTime+    , snapInfoState     :: SnapshotState+    , snapInfoIndices   :: [IndexName]+    , snapInfoName      :: SnapshotName+    } deriving (Eq, Generic, Show, Typeable)+++instance FromJSON SnapshotInfo where+  parseJSON = withObject "SnapshotInfo" parse+    where+      parse o = SnapshotInfo <$> o .: "shards"+                             <*> o .: "failures"+                             <*> (unMS <$> o .: "duration_in_millis")+                             <*> (posixMS <$> o .: "end_time_in_millis")+                             <*> (posixMS <$> o .: "start_time_in_millis")+                             <*> o .: "state"+                             <*> o .: "indices"+                             <*> o .: "snapshot"++data SnapshotShardFailure = SnapshotShardFailure {+      snapShardFailureIndex   :: IndexName+    , snapShardFailureNodeId  :: Maybe NodeName -- I'm not 100% sure this isn't actually 'FullNodeId'+    , snapShardFailureReason  :: Text+    , snapShardFailureShardId :: ShardId+    } deriving (Eq, Show, Generic, Typeable)+++instance FromJSON SnapshotShardFailure where+  parseJSON = withObject "SnapshotShardFailure" parse+    where+      parse o = SnapshotShardFailure <$> o .: "index"+                                     <*> o .:? "node_id"+                                     <*> o .: "reason"+                                     <*> o .: "shard_id"+++newtype ShardId = ShardId { shardId :: Int }+                deriving (Eq, Show, Generic, Typeable, FromJSON)++-- | Milliseconds+newtype MS = MS NominalDiffTime+++-- keeps the unexported constructor warnings at bay+unMS :: MS -> NominalDiffTime+unMS (MS t) = t+++instance FromJSON MS where+  parseJSON = withScientific "MS" (return . MS . parse)+    where+      parse n = fromInteger ((truncate n) * 1000)+++data SnapshotState = SnapshotInit+                   | SnapshotStarted+                   | SnapshotSuccess+                   | SnapshotFailed+                   | SnapshotAborted+                   | SnapshotMissing+                   | SnapshotWaiting+                   deriving (Show, Eq, Generic, Typeable)++instance FromJSON SnapshotState where+  parseJSON = withText "SnapshotState" parse+    where+      parse "INIT"    = return SnapshotInit+      parse "STARTED" = return SnapshotStarted+      parse "SUCCESS" = return SnapshotSuccess+      parse "FAILED"  = return SnapshotFailed+      parse "ABORTED" = return SnapshotAborted+      parse "MISSING" = return SnapshotMissing+      parse "WAITING" = return SnapshotWaiting+      parse t         = fail ("Invalid snapshot state " <> T.unpack t)+++newtype SnapshotName = SnapshotName { snapshotName :: Text }+                     deriving (Show, Eq, Ord, Generic, Typeable, ToJSON, FromJSON)+++data SnapshotRestoreSettings = SnapshotRestoreSettings {+      snapRestoreWaitForCompletion      :: Bool+      -- ^ Should the API call return immediately after initializing+      -- the restore or wait until completed? Note that if this is+      -- enabled, it could wait a long time, so you should adjust your+      -- 'ManagerSettings' accordingly to set long timeouts or+      -- explicitly handle timeouts.+    , snapRestoreIndices                :: Maybe IndexSelection+    -- ^ Nothing will restore all indices in the snapshot. Just [] is+    -- permissable and will essentially be a no-op restore.+    , snapRestoreIgnoreUnavailable      :: Bool+    -- ^ If set to True, any indices that do not exist will be ignored+    -- during snapshot rather than failing the restore.+    , snapRestoreIncludeGlobalState     :: Bool+    -- ^ If set to false, will ignore any global state in the snapshot+    -- and will not restore it.+    , snapRestoreRenamePattern          :: Maybe RestoreRenamePattern+    -- ^ A regex pattern for matching indices. Used with+    -- 'snapRestoreRenameReplacement', the restore can reference the+    -- matched index and create a new index name upon restore.+    , snapRestoreRenameReplacement      :: Maybe (NonEmpty RestoreRenameToken)+    -- ^ Expression of how index renames should be constructed.+    , snapRestorePartial                :: Bool+    -- ^ If some indices fail to restore, should the process proceed?+    , snapRestoreIncludeAliases         :: Bool+    -- ^ Should the restore also restore the aliases captured in the+    -- snapshot.+    , snapRestoreIndexSettingsOverrides :: Maybe RestoreIndexSettings+    -- ^ Settings to apply during the restore process. __NOTE:__ This+    -- option is not supported in ES < 1.5 and should be set to+    -- Nothing in that case.+    , snapRestoreIgnoreIndexSettings    :: Maybe (NonEmpty Text)+    -- ^ This type could be more rich but it isn't clear which+    -- settings are allowed to be ignored during restore, so we're+    -- going with including this feature in a basic form rather than+    -- omitting it. One example here would be+    -- "index.refresh_interval". Any setting specified here will+    -- revert back to the server default during the restore process.+    } deriving (Eq, Generic, Show, Typeable)++-- | Regex-stype pattern, e.g. "index_(.+)" to match index names+newtype RestoreRenamePattern = RestoreRenamePattern { rrPattern :: Text }+                             deriving (Show, Eq, Generic, Typeable, Ord, ToJSON)+++-- | 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+-- <https://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html docs> to find out more if you're into that sort of thing.+data RestoreRenameToken = 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+                        deriving (Show, Eq, Generic, Typeable)+++-- | A group number for regex matching. Only values from 1-9 are+-- supported. Construct with 'mkRRGroupRefNum'+newtype RRGroupRefNum = RRGroupRefNum { rrGroupRefNum :: Int }+                      deriving (Show, Eq, Generic, Typeable, Ord)++instance Bounded RRGroupRefNum where+  minBound = RRGroupRefNum 1+  maxBound = RRGroupRefNum 9+++-- | Only allows valid group number references (1-9).+mkRRGroupRefNum :: Int -> Maybe RRGroupRefNum+mkRRGroupRefNum i+  | i >= (rrGroupRefNum minBound) && i <= (rrGroupRefNum maxBound) =+    Just $ RRGroupRefNum i+  | otherwise = Nothing+++-- | 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+defaultSnapshotRestoreSettings :: SnapshotRestoreSettings+defaultSnapshotRestoreSettings = SnapshotRestoreSettings {+      snapRestoreWaitForCompletion = False+    , snapRestoreIndices = Nothing+    , snapRestoreIgnoreUnavailable  = False+    , snapRestoreIncludeGlobalState = True+    , snapRestoreRenamePattern = Nothing+    , snapRestoreRenameReplacement = Nothing+    , snapRestorePartial = False+    , snapRestoreIncludeAliases = True+    , snapRestoreIndexSettingsOverrides = Nothing+    , snapRestoreIgnoreIndexSettings = Nothing+    }+++-- | 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.+data RestoreIndexSettings = RestoreIndexSettings {+      restoreOverrideReplicas :: Maybe ReplicaCount+    } deriving (Show, Eq, Generic, Typeable)+++instance ToJSON RestoreIndexSettings where+  toJSON RestoreIndexSettings {..} = object prs+    where+      prs = catMaybes [("index.number_of_replicas" .=) <$> restoreOverrideReplicas]+++instance FromJSON NodesInfo where+  parseJSON = withObject "NodesInfo" parse+    where+      parse o = do+        nodes <- o .: "nodes"+        infos <- forM (HM.toList nodes) $ \(fullNID, v) -> do+          node <- parseJSON v+          parseNodeInfo (FullNodeId fullNID) node+        cn <- o .: "cluster_name"+        return (NodesInfo infos cn)++instance FromJSON NodesStats where+  parseJSON = withObject "NodesStats" parse+    where+      parse o = do+        nodes <- o .: "nodes"+        stats <- forM (HM.toList nodes) $ \(fullNID, v) -> do+          node <- parseJSON v+          parseNodeStats (FullNodeId fullNID) node+        cn <- o .: "cluster_name"+        return (NodesStats stats cn)++instance FromJSON NodeBreakerStats where+  parseJSON = withObject "NodeBreakerStats" parse+    where+      parse o = NodeBreakerStats <$> o .: "tripped"+                                 <*> o .: "overhead"+                                 <*> o .: "estimated_size_in_bytes"+                                 <*> o .: "limit_size_in_bytes"++instance FromJSON NodeHTTPStats where+  parseJSON = withObject "NodeHTTPStats" parse+    where+      parse o = NodeHTTPStats <$> o .: "total_opened"+                              <*> o .: "current_open"++instance FromJSON NodeTransportStats where+  parseJSON = withObject "NodeTransportStats" parse+    where+      parse o = NodeTransportStats <$> o .: "tx_size_in_bytes"+                                   <*> o .: "tx_count"+                                   <*> o .: "rx_size_in_bytes"+                                   <*> o .: "rx_count"+                                   <*> o .: "server_open"++instance FromJSON NodeFSStats where+  parseJSON = withObject "NodeFSStats" parse+    where+      parse o = NodeFSStats <$> o .: "data"+                            <*> o .: "total"+                            <*> (posixMS <$> o .: "timestamp")++instance FromJSON NodeDataPathStats where+  parseJSON = withObject "NodeDataPathStats" parse+    where+      parse o =+        NodeDataPathStats <$> (fmap unStringlyTypedDouble <$> o .:? "disk_service_time")+                          <*> (fmap unStringlyTypedDouble <$> o .:? "disk_queue")+                          <*> o .:? "disk_io_size_in_bytes"+                          <*> o .:? "disk_write_size_in_bytes"+                          <*> o .:? "disk_read_size_in_bytes"+                          <*> o .:? "disk_io_op"+                          <*> o .:? "disk_writes"+                          <*> o .:? "disk_reads"+                          <*> o .: "available_in_bytes"+                          <*> o .: "free_in_bytes"+                          <*> o .: "total_in_bytes"+                          <*> o .:? "type"+                          <*> o .:? "dev"+                          <*> o .: "mount"+                          <*> o .: "path"++newtype StringlyTypedDouble = StringlyTypedDouble { unStringlyTypedDouble :: Double }+++instance FromJSON StringlyTypedDouble where+  parseJSON = fmap StringlyTypedDouble . parseJSON . unStringlyTypeJSON+++instance FromJSON NodeFSTotalStats where+  parseJSON = withObject "NodeFSTotalStats" parse+    where+      parse o = NodeFSTotalStats <$> (fmap unStringlyTypedDouble <$> o .:? "disk_service_time")+                                 <*> (fmap unStringlyTypedDouble <$> o .:? "disk_queue")+                                 <*> o .:? "disk_io_size_in_bytes"+                                 <*> o .:? "disk_write_size_in_bytes"+                                 <*> o .:? "disk_read_size_in_bytes"+                                 <*> o .:? "disk_io_op"+                                 <*> o .:? "disk_writes"+                                 <*> o .:? "disk_reads"+                                 <*> o .: "available_in_bytes"+                                 <*> o .: "free_in_bytes"+                                 <*> o .: "total_in_bytes"++instance FromJSON NodeNetworkStats where+  parseJSON = withObject "NodeNetworkStats" parse+    where+      parse o = do+        tcp <- o .: "tcp"+        NodeNetworkStats <$> tcp .: "out_rsts"+                         <*> tcp .: "in_errs"+                         <*> tcp .: "attempt_fails"+                         <*> tcp .: "estab_resets"+                         <*> tcp .: "retrans_segs"+                         <*> tcp .: "out_segs"+                         <*> tcp .: "in_segs"+                         <*> tcp .: "curr_estab"+                         <*> tcp .: "passive_opens"+                         <*> tcp .: "active_opens"++instance FromJSON NodeThreadPoolsStats where+  parseJSON = withObject "NodeThreadPoolsStats" parse+    where+      parse o = NodeThreadPoolsStats <$> o .: "snapshot"+                                     <*> o .: "bulk"+                                     <*> o .: "force_merge"+                                     <*> o .: "get"+                                     <*> o .: "management"+                                     <*> o .:? "fetch_shard_store"+                                     <*> o .:? "optimize"+                                     <*> o .: "flush"+                                     <*> o .: "search"+                                     <*> o .: "warmer"+                                     <*> o .: "generic"+                                     <*> o .:? "suggest"+                                     <*> o .: "refresh"+                                     <*> o .: "index"+                                     <*> o .:? "listener"+                                     <*> o .:? "fetch_shard_started"+                                     <*> o .:? "percolate"+instance FromJSON NodeThreadPoolStats where+    parseJSON = withObject "NodeThreadPoolStats" parse+      where+        parse o = NodeThreadPoolStats <$> o .: "completed"+                                      <*> o .: "largest"+                                      <*> o .: "rejected"+                                      <*> o .: "active"+                                      <*> o .: "queue"+                                      <*> o .: "threads"++instance FromJSON NodeJVMStats where+  parseJSON = withObject "NodeJVMStats" parse+    where+      parse o = do+        bufferPools <- o .: "buffer_pools"+        mapped <- bufferPools .: "mapped"+        direct <- bufferPools .: "direct"+        gc <- o .: "gc"+        collectors <- gc .: "collectors"+        oldC <- collectors .: "old"+        youngC <- collectors .: "young"+        threads <- o .: "threads"+        mem <- o .: "mem"+        pools <- mem .: "pools"+        oldM <- pools .: "old"+        survivorM <- pools .: "survivor"+        youngM <- pools .: "young"+        NodeJVMStats <$> pure mapped+                     <*> pure direct+                     <*> pure oldC+                     <*> pure youngC+                     <*> threads .: "peak_count"+                     <*> threads .: "count"+                     <*> pure oldM+                     <*> pure survivorM+                     <*> pure youngM+                     <*> mem .: "non_heap_committed_in_bytes"+                     <*> mem .: "non_heap_used_in_bytes"+                     <*> mem .: "heap_max_in_bytes"+                     <*> mem .: "heap_committed_in_bytes"+                     <*> mem .: "heap_used_percent"+                     <*> mem .: "heap_used_in_bytes"+                     <*> (unMS <$> o .: "uptime_in_millis")+                     <*> (posixMS <$> o .: "timestamp")++instance FromJSON JVMBufferPoolStats where+  parseJSON = withObject "JVMBufferPoolStats" parse+    where+      parse o = JVMBufferPoolStats <$> o .: "total_capacity_in_bytes"+                                   <*> o .: "used_in_bytes"+                                   <*> o .: "count"++instance FromJSON JVMGCStats where+  parseJSON = withObject "JVMGCStats" parse+    where+      parse o = JVMGCStats <$> (unMS <$> o .: "collection_time_in_millis")+                           <*> o .: "collection_count"++instance FromJSON JVMPoolStats where+  parseJSON = withObject "JVMPoolStats" parse+    where+      parse o = JVMPoolStats <$> o .: "peak_max_in_bytes"+                             <*> o .: "peak_used_in_bytes"+                             <*> o .: "max_in_bytes"+                             <*> o .: "used_in_bytes"++instance FromJSON NodeProcessStats where+  parseJSON = withObject "NodeProcessStats" parse+    where+      parse o = do+        mem <- o .: "mem"+        cpu <- o .: "cpu"+        NodeProcessStats <$> (posixMS <$> o .: "timestamp")+                         <*> o .: "open_file_descriptors"+                         <*> o .: "max_file_descriptors"+                         <*> cpu .: "percent"+                         <*> (unMS <$> cpu .: "total_in_millis")+                         <*> mem .: "total_virtual_in_bytes"++instance FromJSON NodeOSStats where+  parseJSON = withObject "NodeOSStats" parse+    where+      parse o = do+        swap <- o .: "swap"+        mem <- o .: "mem"+        cpu <- o .: "cpu"+        load <- o .:? "load_average"+        NodeOSStats <$> (posixMS <$> o .: "timestamp")+                    <*> cpu .: "percent"+                    <*> pure load+                    <*> mem .: "total_in_bytes"+                    <*> mem .: "free_in_bytes"+                    <*> mem .: "free_percent"+                    <*> mem .: "used_in_bytes"+                    <*> mem .: "used_percent"+                    <*> swap .: "total_in_bytes"+                    <*> swap .: "free_in_bytes"+                    <*> swap .: "used_in_bytes"++instance FromJSON LoadAvgs where+  parseJSON = withArray "LoadAvgs" parse+    where+      parse v = case V.toList v of+        [one, five, fifteen] -> LoadAvgs <$> parseJSON one+                                         <*> parseJSON five+                                         <*> parseJSON fifteen+        _                    -> fail "Expecting a triple of Doubles"++instance FromJSON NodeIndicesStats where+  parseJSON = withObject "NodeIndicesStats" parse+    where+      parse o = do+        let (.::) mv k = case mv of+              Just v  -> Just <$> v .: k+              Nothing -> pure Nothing+        mRecovery <- o .:? "recovery"+        mQueryCache <- o .:? "query_cache"+        mSuggest <- o .:? "suggest"+        translog <- o .: "translog"+        segments <- o .: "segments"+        completion <- o .: "completion"+        mPercolate <- o .:? "percolate"+        fielddata <- o .: "fielddata"+        warmer <- o .: "warmer"+        flush <- o .: "flush"+        refresh <- o .: "refresh"+        merges <- o .: "merges"+        search <- o .: "search"+        getStats <- o .: "get"+        indexing <- o .: "indexing"+        store <- o .: "store"+        docs <- o .: "docs"+        NodeIndicesStats <$> (fmap unMS <$> mRecovery .:: "throttle_time_in_millis")+                         <*> mRecovery .:: "current_as_target"+                         <*> mRecovery .:: "current_as_source"+                         <*> mQueryCache .:: "miss_count"+                         <*> mQueryCache .:: "hit_count"+                         <*> mQueryCache .:: "evictions"+                         <*> mQueryCache .:: "memory_size_in_bytes"+                         <*> mSuggest .:: "current"+                         <*> (fmap unMS <$> mSuggest .:: "time_in_millis")+                         <*> mSuggest .:: "total"+                         <*> translog .: "size_in_bytes"+                         <*> translog .: "operations"+                         <*> segments .:? "fixed_bit_set_memory_in_bytes"+                         <*> segments .: "version_map_memory_in_bytes"+                         <*> segments .:? "index_writer_max_memory_in_bytes"+                         <*> segments .: "index_writer_memory_in_bytes"+                         <*> segments .: "memory_in_bytes"+                         <*> segments .: "count"+                         <*> completion .: "size_in_bytes"+                         <*> mPercolate .:: "queries"+                         <*> mPercolate .:: "memory_size_in_bytes"+                         <*> mPercolate .:: "current"+                         <*> (fmap unMS <$> mPercolate .:: "time_in_millis")+                         <*> mPercolate .:: "total"+                         <*> fielddata .: "evictions"+                         <*> fielddata .: "memory_size_in_bytes"+                         <*> (unMS <$> warmer .: "total_time_in_millis")+                         <*> warmer .: "total"+                         <*> warmer .: "current"+                         <*> (unMS <$> flush .: "total_time_in_millis")+                         <*> flush .: "total"+                         <*> (unMS <$> refresh .: "total_time_in_millis")+                         <*> refresh .: "total"+                         <*> merges .: "total_size_in_bytes"+                         <*> merges .: "total_docs"+                         <*> (unMS <$> merges .: "total_time_in_millis")+                         <*> merges .: "total"+                         <*> merges .: "current_size_in_bytes"+                         <*> merges .: "current_docs"+                         <*> merges .: "current"+                         <*> search .: "fetch_current"+                         <*> (unMS <$> search .: "fetch_time_in_millis")+                         <*> search .: "fetch_total"+                         <*> search .: "query_current"+                         <*> (unMS <$> search .: "query_time_in_millis")+                         <*> search .: "query_total"+                         <*> search .: "open_contexts"+                         <*> getStats .: "current"+                         <*> (unMS <$> getStats .: "missing_time_in_millis")+                         <*> getStats .: "missing_total"+                         <*> (unMS <$> getStats .: "exists_time_in_millis")+                         <*> getStats .: "exists_total"+                         <*> (unMS <$> getStats .: "time_in_millis")+                         <*> getStats .: "total"+                         <*> (fmap unMS <$> indexing .:? "throttle_time_in_millis")+                         <*> indexing .:? "is_throttled"+                         <*> indexing .:? "noop_update_total"+                         <*> indexing .: "delete_current"+                         <*> (unMS <$> indexing .: "delete_time_in_millis")+                         <*> indexing .: "delete_total"+                         <*> indexing .: "index_current"+                         <*> (unMS <$> indexing .: "index_time_in_millis")+                         <*> indexing .: "index_total"+                         <*> (unMS <$> store .: "throttle_time_in_millis")+                         <*> store .: "size_in_bytes"+                         <*> docs .: "deleted"+                         <*> docs .: "count"++instance FromJSON NodeBreakersStats where+  parseJSON = withObject "NodeBreakersStats" parse+    where+      parse o = NodeBreakersStats <$> o .: "parent"+                                  <*> o .: "request"+                                  <*> o .: "fielddata"++parseNodeStats :: FullNodeId -> Object -> Parser NodeStats+parseNodeStats fnid o = do+  NodeStats <$> o .: "name"+            <*> pure fnid+            <*> o .:? "breakers"+            <*> o .: "http"+            <*> o .: "transport"+            <*> o .: "fs"+            <*> o .:? "network"+            <*> o .: "thread_pool"+            <*> o .: "jvm"+            <*> o .: "process"+            <*> o .: "os"+            <*> o .: "indices"++parseNodeInfo :: FullNodeId -> Object -> Parser NodeInfo+parseNodeInfo nid o =+  NodeInfo <$> o .:? "http_address"+           <*> o .: "build_hash"+           <*> o .: "version"+           <*> o .: "ip"+           <*> o .: "host"+           <*> o .: "transport_address"+           <*> o .: "name"+           <*> pure nid+           <*> o .: "plugins"+           <*> o .: "http"+           <*> o .: "transport"+           <*> o .:? "network"+           <*> o .: "thread_pool"+           <*> o .: "jvm"+           <*> o .: "process"+           <*> o .: "os"+           <*> o .: "settings"++instance FromJSON NodePluginInfo where+  parseJSON = withObject "NodePluginInfo" parse+    where+      parse o = NodePluginInfo <$> o .:?  "site"+                               <*> o .:?  "jvm"+                               <*> o .:   "description"+                               <*> o .:   "version"+                               <*> o .:   "name"++instance FromJSON NodeHTTPInfo where+  parseJSON = withObject "NodeHTTPInfo" parse+    where+      parse o = NodeHTTPInfo <$> o .: "max_content_length_in_bytes"+                             <*> parseJSON (Object o)++instance FromJSON BoundTransportAddress where+  parseJSON = withObject "BoundTransportAddress" parse+    where+      parse o = BoundTransportAddress <$> o .: "publish_address"+                                      <*> o .: "bound_address"++instance FromJSON NodeOSInfo where+  parseJSON = withObject "NodeOSInfo" parse+    where+      parse o = do+        NodeOSInfo <$> (unMS <$> o .: "refresh_interval_in_millis")+                   <*> o .: "name"+                   <*> o .: "arch"+                   <*> o .: "version"+                   <*> o .: "available_processors"+                   <*> o .: "allocated_processors"+++instance FromJSON CPUInfo where+  parseJSON = withObject "CPUInfo" parse+    where+      parse o = CPUInfo <$> o .: "cache_size_in_bytes"+                        <*> o .: "cores_per_socket"+                        <*> o .: "total_sockets"+                        <*> o .: "total_cores"+                        <*> o .: "mhz"+                        <*> o .: "model"+                        <*> o .: "vendor"++instance FromJSON NodeProcessInfo where+  parseJSON = withObject "NodeProcessInfo" parse+    where+      parse o = NodeProcessInfo <$> o .: "mlockall"+                                <*> o .:? "max_file_descriptors"+                                <*> o .: "id"+                                <*> (unMS <$> o .: "refresh_interval_in_millis")++instance FromJSON NodeJVMInfo where+  parseJSON = withObject "NodeJVMInfo" parse+    where+      parse o = NodeJVMInfo <$> o .: "memory_pools"+                            <*> o .: "gc_collectors"+                            <*> o .: "mem"+                            <*> (posixMS <$> o .: "start_time_in_millis")+                            <*> o .: "vm_vendor"+                            <*> o .: "vm_version"+                            <*> o .: "vm_name"+                            <*> (unJVMVersion <$> o .: "version")+                            <*> o .: "pid"++instance FromJSON JVMVersion where+  parseJSON (String t) =+    JVMVersion <$> parseJSON (String (T.replace "_" "." t))+  parseJSON v = JVMVersion <$> parseJSON v++instance FromJSON JVMMemoryInfo where+  parseJSON = withObject "JVMMemoryInfo" parse+    where+      parse o = JVMMemoryInfo <$> o .: "direct_max_in_bytes"+                              <*> o .: "non_heap_max_in_bytes"+                              <*> o .: "non_heap_init_in_bytes"+                              <*> o .: "heap_max_in_bytes"+                              <*> o .: "heap_init_in_bytes"++instance FromJSON NodeThreadPoolsInfo where+  parseJSON = withObject "NodeThreadPoolsInfo" parse+    where+      parse o = NodeThreadPoolsInfo <$> o .: "refresh"+                                    <*> o .: "management"+                                    <*> o .:? "percolate"+                                    <*> o .:? "listener"+                                    <*> o .:? "fetch_shard_started"+                                    <*> o .: "search"+                                    <*> o .: "flush"+                                    <*> o .: "warmer"+                                    <*> o .:? "optimize"+                                    <*> o .: "bulk"+                                    <*> o .:? "suggest"+                                    <*> o .: "force_merge"+                                    <*> o .: "snapshot"+                                    <*> o .: "get"+                                    <*> o .:? "fetch_shard_store"+                                    <*> o .: "index"+                                    <*> o .: "generic"++instance FromJSON NodeThreadPoolInfo where+  parseJSON = withObject "NodeThreadPoolInfo" parse+    where+      parse o = do+        ka <- maybe (return Nothing) (fmap Just . parseStringInterval) =<< o .:? "keep_alive"+        NodeThreadPoolInfo <$> (parseJSON . unStringlyTypeJSON =<< o .: "queue_size")+                           <*> pure ka+                           <*> o .:? "min"+                           <*> o .:? "max"+                           <*> o .: "type"++parseStringInterval :: (Monad m) => String -> m NominalDiffTime+parseStringInterval s = case span isNumber s of+  ("", _) -> fail "Invalid interval"+  (nS, unitS) -> case (readMay nS, readMay unitS) of+    (Just n, Just unit) -> return (fromInteger (n * unitNDT unit))+    (Nothing, _)        -> fail "Invalid interval number"+    (_, Nothing)        -> fail "Invalid interval unit"+  where+    unitNDT Seconds = 1+    unitNDT Minutes = 60+    unitNDT Hours   = 60 * 60+    unitNDT Days    = 24 * 60 * 60+    unitNDT Weeks   = 7 * 24 * 60 * 60++instance FromJSON ThreadPoolSize where+  parseJSON v = parseAsNumber v <|> parseAsString v+    where+      parseAsNumber = parseAsInt <=< parseJSON+      parseAsInt (-1) = return ThreadPoolUnbounded+      parseAsInt n+        | n >= 0 = return (ThreadPoolBounded n)+        | otherwise = fail "Thread pool size must be >= -1."+      parseAsString = withText "ThreadPoolSize" $ \t ->+        case first (readMay . T.unpack) (T.span isNumber t) of+          (Just n, "k") -> return (ThreadPoolBounded (n * 1000))+          (Just n, "")  -> return (ThreadPoolBounded n)+          _             -> fail ("Invalid thread pool size " <> T.unpack t)++instance FromJSON ThreadPoolType where+  parseJSON = withText "ThreadPoolType" parse+    where+      parse "scaling" = return ThreadPoolScaling+      parse "fixed"   = return ThreadPoolFixed+      parse "cached"  = return ThreadPoolCached+      parse e         = fail ("Unexpected thread pool type" <> T.unpack e)++instance FromJSON NodeTransportInfo where+  parseJSON = withObject "NodeTransportInfo" parse+    where+      parse o = NodeTransportInfo <$> (maybe (return mempty) parseProfiles =<< o .:? "profiles")+                                  <*> parseJSON (Object o)+      parseProfiles (Object o)  | HM.null o = return []+      parseProfiles v@(Array _) = parseJSON v+      parseProfiles Null        = return []+      parseProfiles _           = fail "Could not parse profiles"++instance FromJSON NodeNetworkInfo where+  parseJSON = withObject "NodeNetworkInfo" parse+    where+      parse o = NodeNetworkInfo <$> o .: "primary_interface"+                                <*> (unMS <$> o .: "refresh_interval_in_millis")+++instance FromJSON NodeNetworkInterface where+  parseJSON = withObject "NodeNetworkInterface" parse+    where+      parse o = NodeNetworkInterface <$> o .: "mac_address"+                                     <*> o .: "name"+                                     <*> o .: "address"++newtype MaybeNA a = MaybeNA { unMaybeNA :: Maybe a }+  deriving (Show, Eq)++instance FromJSON a => FromJSON (MaybeNA a) where+  parseJSON (String "NA") = pure $ MaybeNA Nothing+  parseJSON o             = MaybeNA . Just <$> parseJSON o
+ src/Database/V5/Bloodhound/Types/Class.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE CPP #-}+module Database.V5.Bloodhound.Types.Class+       ( Seminearring(..) )+       where++#if !MIN_VERSION_base(4,8,0)+import Data.Monoid+#endif++class Monoid a => Seminearring a where+  -- 0, +, *+  (<||>) :: a -> a -> a+  (<&&>) :: a -> a -> a+  (<&&>) = mappend++infixr 5 <||>+infixr 5 <&&>
+ src/Database/V5/Bloodhound/Types/Internal.hs view
@@ -0,0 +1,57 @@+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}++-------------------------------------------------------------------------------+-- |+-- Module : Database.Bloodhound.Types.Internal+-- Copyright : (C) 2014 Chris Allen+-- License : BSD-style (see the file LICENSE)+-- Maintainer : Chris Allen <cma@bitemyapp.com>+-- Stability : provisional+-- Portability : DeriveGeneric, RecordWildCards+--+-- Internal data types for Bloodhound. These types may change without+-- notice so import at your own risk.+-------------------------------------------------------------------------------+module Database.V5.Bloodhound.Types.Internal+    ( BHEnv(..)+    , Server(..)+    , MonadBH(..)+    ) where+++import           Control.Applicative  as A+import           Control.Monad.Reader+import           Data.Aeson+import           Data.Text            (Text)+import           Data.Typeable        (Typeable)+import           GHC.Generics         (Generic)+import           Network.HTTP.Client++{-| Common environment for Elasticsearch calls. Connections will be+    pipelined according to the provided HTTP connection manager.+-}+data BHEnv = BHEnv { bhServer      :: Server+                   , bhManager     :: Manager+                   , bhRequestHook :: Request -> IO Request+                   -- ^ Low-level hook that is run before every request is sent. Used to implement custom authentication strategies. Defaults to 'return' with 'mkBHEnv'.+                   }++instance (Functor m, Applicative m, MonadIO m) => MonadBH (ReaderT BHEnv m) where+  getBHEnv = ask++{-| 'Server' is used with the client functions to point at the ES instance+-}+newtype Server = Server Text deriving (Eq, Show, Generic, Typeable, FromJSON)++{-| 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.+-}+class (Functor m, A.Applicative m, MonadIO m) => MonadBH m where+  getBHEnv :: m BHEnv+
+ tests/V5/tests.hs view
@@ -0,0 +1,1649 @@+{-# LANGUAGE CPP                        #-}+{-# LANGUAGE DefaultSignatures          #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleContexts           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE OverloadedStrings          #-}+{-# LANGUAGE RecordWildCards            #-}+{-# LANGUAGE ScopedTypeVariables        #-}+{-# LANGUAGE TypeOperators              #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+#if __GLASGOW_HASKELL__ < 800+{-# OPTIONS_GHC -fcontext-stack=100 #-}+#endif+module Main where++import           Control.Applicative+import           Control.Error+import           Control.Exception               (evaluate)+import           Control.Monad+import           Control.Monad.Catch+import           Control.Monad.Reader+import           Data.Aeson+import           Data.Aeson.Types                (parseEither)+import qualified Data.ByteString.Lazy.Char8      as BL8+import qualified Data.HashMap.Strict             as HM+import           Data.List                       (nub)+import qualified Data.List                       as L+import           Data.List.NonEmpty              (NonEmpty (..))+import qualified Data.List.NonEmpty              as NE+import qualified Data.Map.Strict                 as M+import           Data.Monoid+import           Data.Ord                        (comparing)+import           Data.Proxy+import           Data.Text                       (Text)+import qualified Data.Text                       as T+import           Data.Time.Calendar              (Day (..), fromGregorian)+import           Data.Time.Clock                 (NominalDiffTime, UTCTime (..),+                                                  secondsToDiffTime)+import           Data.Typeable+import qualified Data.Vector                     as V+import qualified Data.Version                    as Vers+import           Database.V5.Bloodhound+import           GHC.Generics                    as G+import           Network.HTTP.Client             hiding (Proxy)+import qualified Network.HTTP.Types.Method       as NHTM+import qualified Network.HTTP.Types.Status       as NHTS+import qualified Network.URI                     as URI+import           Prelude                         hiding (filter)+import           System.IO.Temp+import           System.PosixCompat.Files+import           Test.Hspec+import           Test.QuickCheck.Property.Monoid (T (..), eq, prop_Monoid)++import           Test.Hspec.QuickCheck           (prop)+import           Test.QuickCheck++import qualified Generics.SOP as SOP+import qualified Generics.SOP.GGP as SOP++testServer  :: Server+testServer  = Server "http://localhost:9200"+testIndex   :: IndexName+testIndex   = IndexName "bloodhound-tests-twitter-1"+testMapping :: MappingName+testMapping = MappingName "tweet"++withTestEnv :: BH IO a -> IO a+withTestEnv = withBH defaultManagerSettings testServer++validateStatus :: Show body => Response body -> Int -> Expectation+validateStatus resp expected =+  if actual == expected+    then return ()+    else expectationFailure ("Expected " <> show expected <> " but got " <> show actual <> ": " <> show body)+  where+    actual = NHTS.statusCode (responseStatus resp)+    body = responseBody resp++createExampleIndex :: (MonadBH m) => m Reply+createExampleIndex = createIndex (IndexSettings (ShardCount 1) (ReplicaCount 0)) testIndex+deleteExampleIndex :: (MonadBH m) => m Reply+deleteExampleIndex = deleteIndex testIndex++es13 :: Vers.Version+es13 = Vers.Version [1, 3, 0] []++es12 :: Vers.Version+es12 = Vers.Version [1, 2, 0] []++es11 :: Vers.Version+es11 = Vers.Version [1, 1, 0] []++es14 :: Vers.Version+es14 = Vers.Version [1, 4, 0] []++es15 :: Vers.Version+es15 = Vers.Version [1, 5, 0] []++es16 :: Vers.Version+es16 = Vers.Version [1, 6, 0] []++es20 :: Vers.Version+es20 = Vers.Version [2, 0, 0] []++es50 :: Vers.Version+es50 = Vers.Version [5, 0, 0] []++getServerVersion :: IO (Maybe Vers.Version)+getServerVersion = fmap extractVersion <$> withTestEnv getStatus+  where+    extractVersion              = versionNumber . number . version++-- | Get configured repo paths for snapshotting. Note that by default+-- this is not enabled and if we are over es 1.5, we won't be able to+-- test snapshotting. Note that this can and should be part of the+-- client functionality in a much less ad-hoc incarnation.+getRepoPaths :: IO [FilePath]+getRepoPaths = withTestEnv $ do+  bhe <- getBHEnv+  let Server s = bhServer bhe+  let tUrl = s <> "/" <> "_nodes"+  initReq <- parseRequest (URI.escapeURIString URI.isAllowedInURI (T.unpack tUrl))+  let req = setRequestIgnoreStatus $ initReq { method = NHTM.methodGet }+  Right (Object o) <- parseEsResponse =<< liftIO (httpLbs req (bhManager bhe))+  return $ fromMaybe mempty $ do+    Object nodes <- HM.lookup "nodes" o+    Object firstNode <- snd <$> headMay (HM.toList nodes)+    Object settings <- HM.lookup "settings" firstNode+    Object path <- HM.lookup "path" settings+    Array repo <- HM.lookup "repo" path+    return [ T.unpack t | String t <- V.toList repo]++-- | 1.5 and earlier don't care about repo paths+canSnapshot :: IO Bool+canSnapshot = do+  caresAboutRepos <- atleast es16+  repoPaths <- getRepoPaths+  return (not caresAboutRepos || not (null (repoPaths)))++atleast :: Vers.Version -> IO Bool+atleast v = getServerVersion >>= \x -> return $ x >= Just v++atmost :: Vers.Version -> IO Bool+atmost v = getServerVersion >>= \x -> return $ x <= Just v++is :: Vers.Version -> IO Bool+is v = getServerVersion >>= \x -> return $ x == Just v++when' :: Monad m => m Bool -> m () -> m ()+when' b f = b >>= \x -> when x f++(==~) :: (ApproxEq a) => a -> a -> Property+a ==~ b = counterexample (showApproxEq a ++ " !=~ " ++ showApproxEq b) (a =~ b)++propJSON :: forall a. (Arbitrary a, ToJSON a, FromJSON a, Show a, ApproxEq a, Typeable a) => Proxy a -> Spec+propJSON _ = prop testName $ \(a :: a) ->+  let jsonStr = "via " <> BL8.unpack (encode a)+  in counterexample jsonStr (parseEither parseJSON (toJSON a) ==~ Right a)+  where testName = show ty <> " FromJSON/ToJSON roundtrips"+        ty = typeOf (undefined :: a)++data Location = Location { lat :: Double+                         , lon :: Double } deriving (Eq, Generic, Show)++data Tweet = Tweet { user     :: Text+                   , postDate :: UTCTime+                   , message  :: Text+                   , age      :: Int+                   , location :: Location+                   , extra    :: Maybe Text }+           deriving (Eq, Generic, Show)++instance ToJSON   Tweet where+  toJSON = genericToJSON defaultOptions+instance FromJSON Tweet where+  parseJSON = genericParseJSON defaultOptions+instance ToJSON   Location where+  toJSON = genericToJSON defaultOptions+instance FromJSON Location where+  parseJSON = genericParseJSON defaultOptions++data ParentMapping = ParentMapping deriving (Eq, Show)++instance ToJSON ParentMapping where+  toJSON ParentMapping =+    object ["properties" .=+      object [ "user"     .= object ["type"    .= ("string" :: Text)+                                    , "fielddata" .= True+                                    ]+            -- Serializing the date as a date is breaking other tests, mysteriously.+            -- , "postDate" .= object [ "type"   .= ("date" :: Text)+            --                        , "format" .= ("YYYY-MM-dd`T`HH:mm:ss.SSSZZ" :: Text)]+            , "message"  .= object ["type" .= ("string" :: Text)]+            , "age"      .= object ["type" .= ("integer" :: Text)]+            , "location" .= object ["type" .= ("geo_point" :: Text)]+            , "extra"    .= object ["type" .= ("keyword" :: Text)]+            ]]++data ChildMapping = ChildMapping deriving (Eq, Show)++instance ToJSON ChildMapping where+  toJSON ChildMapping =+    object ["_parent" .= object ["type" .= ("parent" :: Text)]+           , "properties" .=+                object [ "user"     .= object ["type"    .= ("string" :: Text)+                                              , "fielddata" .= True+                                              ]+                  -- Serializing the date as a date is breaking other tests, mysteriously.+                  -- , "postDate" .= object [ "type"   .= ("date" :: Text)+                  --                        , "format" .= ("YYYY-MM-dd`T`HH:mm:ss.SSSZZ" :: Text)]+                  , "message"  .= object ["type" .= ("string" :: Text)]+                  , "age"      .= object ["type" .= ("integer" :: Text)]+                  , "location" .= object ["type" .= ("geo_point" :: Text)]+                  , "extra"    .= object ["type" .= ("keyword" :: Text)]+                  ]]++data TweetMapping = TweetMapping deriving (Eq, Show)++instance ToJSON TweetMapping where+  toJSON TweetMapping =+    object ["tweet" .=+      object ["properties" .=+        object [ "user"     .= object [ "type"    .= ("string" :: Text)+                                      , "fielddata" .= True+                                      ]+               -- Serializing the date as a date is breaking other tests, mysteriously.+               -- , "postDate" .= object [ "type"   .= ("date" :: Text)+               --                        , "format" .= ("YYYY-MM-dd`T`HH:mm:ss.SSSZZ" :: Text)]+               , "message"  .= object ["type" .= ("string" :: Text)]+               , "age"      .= object ["type" .= ("integer" :: Text)]+               , "location" .= object ["type" .= ("geo_point" :: Text)]+               , "extra"    .= object ["type" .= ("keyword" :: Text)]+               ]]]++exampleTweet :: Tweet+exampleTweet = Tweet { user     = "bitemyapp"+                     , postDate = UTCTime+                                  (ModifiedJulianDay 55000)+                                  (secondsToDiffTime 10)+                     , message  = "Use haskell!"+                     , age      = 10000+                     , location = Location 40.12 (-71.34)+                     , extra = Nothing }++tweetWithExtra :: Tweet+tweetWithExtra = Tweet { user     = "bitemyapp"+                       , postDate = UTCTime+                                    (ModifiedJulianDay 55000)+                                    (secondsToDiffTime 10)+                       , message  = "Use haskell!"+                       , age      = 10000+                       , location = Location 40.12 (-71.34)+                       , extra = Just "blah blah" }++newAge :: Int+newAge = 31337++newUser :: Text+newUser = "someotherapp"++tweetPatch :: Value+tweetPatch =+  object [ "age" .= newAge+         , "user" .= newUser+         ]++patchedTweet :: Tweet+patchedTweet = exampleTweet{age = newAge, user = newUser}++otherTweet :: Tweet+otherTweet = Tweet { user     = "notmyapp"+                   , postDate = UTCTime+                                (ModifiedJulianDay 55000)+                                (secondsToDiffTime 11)+                   , message  = "Use haskell!"+                   , age      = 1000+                   , location = Location 40.12 (-71.34)+                   , extra = Nothing }++resetIndex :: BH IO ()+resetIndex = do+  _ <- deleteExampleIndex+  _ <- createExampleIndex+  _ <- putMapping testIndex testMapping TweetMapping+  return ()++insertData :: BH IO Reply+insertData = do+  resetIndex+  insertData' defaultIndexDocumentSettings++insertData' :: IndexDocumentSettings -> BH IO Reply+insertData' ids = do+  r <- indexDocument testIndex testMapping ids exampleTweet (DocId "1")+  _ <- refreshIndex testIndex+  return r++updateData :: BH IO Reply+updateData = do+  r <- updateDocument testIndex testMapping defaultIndexDocumentSettings tweetPatch (DocId "1")+  _ <- refreshIndex testIndex+  return r++insertOther :: BH IO ()+insertOther = do+  _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings otherTweet (DocId "2")+  _ <- refreshIndex testIndex+  return ()++insertExtra :: BH IO ()+insertExtra = do+  _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings tweetWithExtra (DocId "4")+  _ <- refreshIndex testIndex+  return ()++insertWithSpaceInId :: BH IO ()+insertWithSpaceInId = do+  _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings exampleTweet (DocId "Hello World")+  _ <- refreshIndex testIndex+  return ()++searchTweet :: Search -> BH IO (Either EsError Tweet)+searchTweet search = do+  result <- searchTweets search+  let myTweet :: Either EsError Tweet+      myTweet = grabFirst result+  return myTweet++searchTweets :: Search -> BH IO (Either EsError (SearchResult Tweet))+searchTweets search = parseEsResponse =<< searchByIndex testIndex search++searchExpectNoResults :: Search -> BH IO ()+searchExpectNoResults search = do+  result <- searchTweets search+  let emptyHits = fmap (hits . searchHits) result+  liftIO $+    emptyHits `shouldBe` Right []++searchExpectAggs :: Search -> BH IO ()+searchExpectAggs search = do+  reply <- searchByIndex testIndex search+  let isEmpty x = return (M.null x)+  let result = decode (responseBody reply) :: Maybe (SearchResult Tweet)+  liftIO $+    (result >>= aggregations >>= isEmpty) `shouldBe` Just False++searchValidBucketAgg :: (BucketAggregation a, FromJSON a, Show a) =>+                        Search -> Text -> (Text -> AggregationResults -> Maybe (Bucket a)) -> BH IO ()+searchValidBucketAgg search aggKey extractor = do+  reply <- searchByIndex testIndex search+  let bucketDocs = docCount . head . buckets+  let result = decode (responseBody reply) :: Maybe (SearchResult Tweet)+  let count = result >>= aggregations >>= extractor aggKey >>= \x -> return (bucketDocs x)+  liftIO $+    count `shouldBe` Just 1++searchTermsAggHint :: [ExecutionHint] -> BH IO ()+searchTermsAggHint hints = do+      let terms hint = TermsAgg $ (mkTermsAggregation "user") { termExecutionHint = Just hint }+      let search hint = mkAggregateSearch Nothing $ mkAggregations "users" $ terms hint+      forM_ hints $ searchExpectAggs . search+      forM_ hints (\x -> searchValidBucketAgg (search x) "users" toTerms)++searchTweetHighlight :: Search -> BH IO (Either EsError (Maybe HitHighlight))+searchTweetHighlight search = do+  result <- searchTweets search+  let myHighlight = fmap (hitHighlight . head . hits . searchHits) result+  return myHighlight++searchExpectSource :: Source -> Either EsError Value -> BH IO ()+searchExpectSource src expected = do+  _ <- insertData+  let query = QueryMatchQuery $ mkMatchQuery (FieldName "_all") (QueryString "haskell")+  let search = (mkSearch (Just query) Nothing) { source = Just src }+  reply <- searchByIndex testIndex search+  result <- parseEsResponse reply+  let value = grabFirst result+  liftIO $+    value `shouldBe` expected++withSnapshotRepo+    :: ( MonadMask m+       , MonadBH m+       )+    => SnapshotRepoName+    -> (GenericSnapshotRepo -> m a)+    -> m a+withSnapshotRepo srn@(SnapshotRepoName n) f = do+  repoPaths <- liftIO getRepoPaths+  -- we'll use the first repo path if available, otherwise system temp+  -- dir. Note that this will fail on ES > 1.6, so be sure you use+  -- @when' canSnapshot@.+  case repoPaths of+    (firstRepoPath:_) -> withTempDirectory firstRepoPath (T.unpack n) $ \dir -> bracket (alloc dir) free f+    [] -> withSystemTempDirectory (T.unpack n) $ \dir -> bracket (alloc dir) free f+  where+    alloc dir = do+      liftIO (setFileMode dir mode)+      let repo = FsSnapshotRepo srn "bloodhound-tests-backups" True Nothing Nothing Nothing+      resp <- updateSnapshotRepo defaultSnapshotRepoUpdateSettings repo+      liftIO (validateStatus resp 200)+      return (toGSnapshotRepo repo)+    mode = ownerModes `unionFileModes` groupModes `unionFileModes` otherModes+    free GenericSnapshotRepo {..} = do+      resp <- deleteSnapshotRepo gSnapshotRepoName+      liftIO (validateStatus resp 200)+++withSnapshot+    :: ( MonadMask m+       , MonadBH m+       )+    => SnapshotRepoName+    -> SnapshotName+    -> m a+    -> m a+withSnapshot srn sn = bracket_ alloc free+  where+    alloc = do+      resp <- createSnapshot srn sn createSettings+      liftIO (validateStatus resp 200)+    -- We'll make this synchronous for testing purposes+    createSettings = defaultSnapshotCreateSettings { snapWaitForCompletion = True+                                                   , snapIndices = Just (IndexList (testIndex :| []))+                                                   -- We don't actually need to back up any data+                                                   }+    free = do+      deleteSnapshot srn sn++++data BulkTest = BulkTest { name :: Text } deriving (Eq, Generic, Show)+instance FromJSON BulkTest where+  parseJSON = genericParseJSON defaultOptions+instance ToJSON BulkTest where+  toJSON = genericToJSON defaultOptions++class GApproxEq f where+  gApproxEq :: f a -> f a -> Bool++-- | Unit type+instance GApproxEq U1 where+  gApproxEq U1 U1 = True++-- | Sum type, ensure same constructors, recurse+instance (GApproxEq a, GApproxEq b) => GApproxEq (a :+: b) where+  gApproxEq (L1 a) (L1 b) = gApproxEq a b+  gApproxEq (R1 a) (R1 b) = gApproxEq a b+  gApproxEq _ _           = False++-- | Product type, ensure each field is approx eq+instance (GApproxEq a, GApproxEq b) => GApproxEq (a :*: b) where+  gApproxEq (a1 :*: b1) (a2 :*: b2) = gApproxEq a1 a2 && gApproxEq b1 b2++-- | Value type, actually check the values for approx equality+instance (ApproxEq a) => GApproxEq (K1 i a) where+  gApproxEq (K1 a) (K1 b) = a =~ b++instance (GApproxEq f) => GApproxEq (M1 i t f) where+  gApproxEq (M1 a) (M1 b) = gApproxEq a b++-- | Typeclass for "equal where it matters". Use this to specify+-- less-strict equivalence for things such as lists that can wind up+-- in an unpredictable order+class ApproxEq a where+  (=~) :: a -> a -> Bool+  default (=~) :: (Generic a, GApproxEq (Rep a)) => a -> a -> Bool+  a =~ b = gApproxEq (G.from a) (G.from b)++  showApproxEq :: a -> String+  default showApproxEq :: (Show a) => a -> String+  showApproxEq = show++instance ApproxEq NominalDiffTime where (=~) = (==)+instance ApproxEq UTCTime where (=~) = (==)+instance ApproxEq Text where (=~) = (==)+instance ApproxEq Bool where (=~) = (==)+instance ApproxEq Int where (=~) = (==)+instance ApproxEq Double where (=~) = (==)+instance (ApproxEq a, Show a) => ApproxEq (NonEmpty a)+instance (ApproxEq a, Show a) => ApproxEq (Maybe a)+instance ApproxEq GeoPoint+instance ApproxEq Regexp+instance ApproxEq RangeValue+instance ApproxEq LessThan+instance ApproxEq LessThanEq+instance ApproxEq LessThanD+instance ApproxEq LessThanEqD+instance ApproxEq GreaterThan+instance ApproxEq GreaterThanEq+instance ApproxEq GreaterThanD+instance ApproxEq GreaterThanEqD+instance ApproxEq MinimumMatchHighLow+instance ApproxEq RegexpFlag+instance ApproxEq RegexpFlags+instance ApproxEq NullValue+instance ApproxEq Version+instance ApproxEq VersionNumber+instance ApproxEq DistanceRange+instance ApproxEq IndexName+instance ApproxEq MappingName+instance ApproxEq DocId+instance ApproxEq IndexAliasRouting+instance ApproxEq RoutingValue+instance ApproxEq ShardCount+instance ApproxEq ReplicaCount+instance ApproxEq TemplateName+instance ApproxEq TemplatePattern+instance ApproxEq QueryString+instance ApproxEq FieldName+instance ApproxEq CacheName+instance ApproxEq CacheKey+instance ApproxEq Existence+instance ApproxEq CutoffFrequency+instance ApproxEq Analyzer+instance ApproxEq Lenient+instance ApproxEq Tiebreaker+instance ApproxEq Boost+instance ApproxEq BoostTerms+instance ApproxEq MaxExpansions+instance ApproxEq MinimumMatch+instance ApproxEq DisableCoord+instance ApproxEq IgnoreTermFrequency+instance ApproxEq MinimumTermFrequency+instance ApproxEq MaxQueryTerms+instance ApproxEq Fuzziness+instance ApproxEq PrefixLength+instance ApproxEq TypeName+instance ApproxEq PercentMatch+instance ApproxEq StopWord+instance ApproxEq QueryPath+instance ApproxEq AllowLeadingWildcard+instance ApproxEq LowercaseExpanded+instance ApproxEq EnablePositionIncrements+instance ApproxEq AnalyzeWildcard+instance ApproxEq GeneratePhraseQueries+instance ApproxEq Locale+instance ApproxEq MaxWordLength+instance ApproxEq MinWordLength+instance ApproxEq PhraseSlop+instance ApproxEq MinDocFrequency+instance ApproxEq MaxDocFrequency+instance ApproxEq Filter+instance ApproxEq Query+instance ApproxEq SimpleQueryStringQuery+instance ApproxEq FieldOrFields+instance ApproxEq SimpleQueryFlag+instance ApproxEq RegexpQuery+instance ApproxEq QueryStringQuery+instance ApproxEq RangeQuery+instance ApproxEq PrefixQuery+instance ApproxEq NestedQuery+instance ApproxEq MoreLikeThisFieldQuery+instance ApproxEq MoreLikeThisQuery+instance ApproxEq IndicesQuery+instance ApproxEq HasParentQuery+instance ApproxEq HasChildQuery+instance ApproxEq FuzzyQuery+instance ApproxEq FuzzyLikeFieldQuery+instance ApproxEq FuzzyLikeThisQuery+instance ApproxEq DisMaxQuery+instance ApproxEq CommonTermsQuery+instance ApproxEq CommonMinimumMatch+instance ApproxEq BoostingQuery+instance ApproxEq BoolQuery+instance ApproxEq MatchQuery+instance ApproxEq MultiMatchQueryType+instance ApproxEq BooleanOperator+instance ApproxEq ZeroTermsQuery+instance ApproxEq MatchQueryType+instance ApproxEq AliasRouting+instance ApproxEq IndexAliasCreate+instance ApproxEq SearchAliasRouting+instance ApproxEq ScoreType+instance ApproxEq Distance+instance ApproxEq DistanceUnit+instance ApproxEq DistanceType+instance ApproxEq OptimizeBbox+instance ApproxEq GeoBoundingBoxConstraint+instance ApproxEq GeoFilterType+instance ApproxEq GeoBoundingBox+instance ApproxEq LatLon+instance ApproxEq RangeExecution+instance ApproxEq FSType+instance ApproxEq CompoundFormat+instance ApproxEq InitialShardCount+instance ApproxEq Bytes+instance ApproxEq ReplicaBounds+instance ApproxEq Term+instance ApproxEq BoolMatch+instance ApproxEq MultiMatchQuery+instance ApproxEq IndexSettings+instance ApproxEq AllocationPolicy+instance ApproxEq Char where+  (=~) = (==)+instance ApproxEq Vers.Version where+  (=~) = (==)+instance (ApproxEq a, Show a) => ApproxEq [a] where+  as =~ bs = and (zipWith (=~) as bs)+instance (ApproxEq l, Show l, ApproxEq r, Show r) => ApproxEq (Either l r) where+  Left a =~ Left b = a =~ b+  Right a =~ Right b = a =~ b+  _ =~ _ = False+  showApproxEq (Left x)  = "Left " <> showApproxEq x+  showApproxEq (Right x) = "Right " <> showApproxEq x+instance ApproxEq NodeAttrFilter+instance ApproxEq NodeAttrName+instance ApproxEq BuildHash++-- | Due to the way nodeattrfilters get serialized here, they may come+-- out in a different order, but they are morally equivalent+instance ApproxEq UpdatableIndexSetting where+  RoutingAllocationInclude a =~ RoutingAllocationInclude b =+    NE.sort a =~ NE.sort b+  RoutingAllocationExclude a =~ RoutingAllocationExclude b =+    NE.sort a =~ NE.sort b+  RoutingAllocationRequire a =~ RoutingAllocationRequire b =+    NE.sort a =~ NE.sort b+  a =~ b = a == b+  showApproxEq (RoutingAllocationInclude xs) = show (RoutingAllocationInclude (NE.sort xs))+  showApproxEq (RoutingAllocationExclude xs) = show (RoutingAllocationExclude (NE.sort xs))+  showApproxEq (RoutingAllocationRequire xs) = show (RoutingAllocationRequire (NE.sort xs))+  showApproxEq x = show x+++noDuplicates :: Eq a => [a] -> Bool+noDuplicates xs = nub xs == xs++instance Arbitrary NominalDiffTime where+  arbitrary = fromInteger <$> arbitrary++#if !MIN_VERSION_QuickCheck(2,8,0)+instance (Arbitrary k, Ord k, Arbitrary v) => Arbitrary (M.Map k v) where+  arbitrary = M.fromList <$> arbitrary+#endif++instance Arbitrary Text where+  arbitrary = T.pack <$> arbitrary++instance Arbitrary UTCTime where+  arbitrary = UTCTime+          <$> arbitrary+          <*> (fromRational . toRational <$> choose (0::Double, 86400))++instance Arbitrary Day where+    arbitrary = ModifiedJulianDay <$> (2000 +) <$> arbitrary+    shrink    = (ModifiedJulianDay <$>) . shrink . toModifiedJulianDay++#if !MIN_VERSION_QuickCheck(2,9,0)+instance Arbitrary a => Arbitrary (NonEmpty a) where+  arbitrary = liftA2 (:|) arbitrary arbitrary+#endif++arbitraryScore :: Gen Score+arbitraryScore = fmap getPositive <$> arbitrary++instance (Arbitrary a, Typeable a) => Arbitrary (Hit a) where+  arbitrary = Hit <$> arbitrary+                  <*> arbitrary+                  <*> arbitrary+                  <*> arbitraryScore+                  <*> arbitrary+                  <*> arbitrary+  shrink = genericShrink+++instance (Arbitrary a, Typeable a) => Arbitrary (SearchHits a) where+  arbitrary = reduceSize $ do+    tot <- getPositive <$> arbitrary+    score <- arbitraryScore+    hs <- arbitrary+    return $ SearchHits tot score hs+  shrink = genericShrink++reduceSize :: Gen a -> Gen a+reduceSize f = sized $ \n -> resize (n `div` 2) f++getSource :: EsResult a -> Maybe a+getSource = fmap _source . foundResult++grabFirst :: Either EsError (SearchResult a) -> Either EsError a+grabFirst r =+  case fmap (hitSource . head . hits . searchHits) r of+    (Left e)         -> Left e+    (Right Nothing)  -> Left (EsError 500 "Source was missing")+    (Right (Just x)) -> Right x++-------------------------------------------------------------------------------+arbitraryAlphaNum :: Gen Char+arbitraryAlphaNum = oneof [choose ('a', 'z')+                          ,choose ('A','Z')+                          , choose ('0', '9')]++instance Arbitrary RoutingValue where+  arbitrary = RoutingValue . T.pack <$> listOf1 arbitraryAlphaNum++instance Arbitrary AliasRouting where+  arbitrary = oneof [allAlias+                    ,one+                    ,theOther+                    ,both]+    where one = GranularAliasRouting+                <$> (Just <$> arbitrary)+                <*> pure Nothing+          theOther = GranularAliasRouting Nothing+                     <$> (Just <$> arbitrary)+          both = GranularAliasRouting+                 <$> (Just <$> arbitrary)+                 <*> (Just <$> arbitrary)+          allAlias = AllAliasRouting <$> arbitrary+  shrink = genericShrink+++instance Arbitrary FieldName where+  arbitrary = FieldName . T.pack <$> listOf1 arbitraryAlphaNum+  shrink = genericShrink+++instance Arbitrary RegexpFlags where+  arbitrary = oneof [ pure AllRegexpFlags+                    , pure NoRegexpFlags+                    , SomeRegexpFlags <$> genUniqueFlags+                    ]+    where genUniqueFlags = NE.fromList . nub <$> listOf1 arbitrary+  shrink = genericShrink+++instance Arbitrary IndexAliasCreate where+  arbitrary = IndexAliasCreate <$> arbitrary <*> reduceSize arbitrary+  shrink = genericShrink++instance Arbitrary Query where+  arbitrary = reduceSize $ oneof [ TermQuery <$> arbitrary <*> arbitrary+                                 , TermsQuery <$> arbitrary <*> arbitrary+                                 , QueryMatchQuery <$> arbitrary+                                 , QueryMultiMatchQuery <$> arbitrary+                                 , QueryBoolQuery <$> arbitrary+                                 , QueryBoostingQuery <$> arbitrary+                                 , QueryCommonTermsQuery <$> arbitrary+                                 , ConstantScoreQuery <$> arbitrary <*> arbitrary+                                 , QueryDisMaxQuery <$> arbitrary+                                 , QueryFuzzyLikeThisQuery <$> arbitrary+                                 , QueryFuzzyLikeFieldQuery <$> arbitrary+                                 , QueryFuzzyQuery <$> arbitrary+                                 , QueryHasChildQuery <$> arbitrary+                                 , QueryHasParentQuery <$> arbitrary+                                 , IdsQuery <$> arbitrary <*> arbitrary+                                 , QueryIndicesQuery <$> arbitrary+                                 , MatchAllQuery <$> arbitrary+                                 , QueryMoreLikeThisQuery <$> arbitrary+                                 , QueryMoreLikeThisFieldQuery <$> arbitrary+                                 , QueryNestedQuery <$> arbitrary+                                 , QueryPrefixQuery <$> arbitrary+                                 , QueryQueryStringQuery <$> arbitrary+                                 , QuerySimpleQueryStringQuery <$> arbitrary+                                 , QueryRangeQuery <$> arbitrary+                                 , QueryRegexpQuery <$> arbitrary+                                 ]+  shrink = genericShrink++instance Arbitrary Filter where+  arbitrary = Filter <$> arbitrary +  shrink = genericShrink++instance Arbitrary ReplicaBounds where+  arbitrary = oneof [ replicasBounded+                    , replicasLowerBounded+                    , pure ReplicasUnbounded+                    ]+    where replicasBounded = do Positive a <- arbitrary+                               Positive b <- arbitrary+                               return (ReplicasBounded a b)+          replicasLowerBounded = do Positive a <- arbitrary+                                    return (ReplicasLowerBounded a)++instance Arbitrary NodeAttrName where+  arbitrary = NodeAttrName . T.pack <$> listOf1 arbitraryAlphaNum+++instance Arbitrary NodeAttrFilter where+  arbitrary = do+    n <- arbitrary+    s:ss <- listOf1 (listOf1 arbitraryAlphaNum)+    let ts = T.pack <$> s :| ss+    return (NodeAttrFilter n ts)+  shrink = genericShrink++instance Arbitrary VersionNumber where+  arbitrary = mk . fmap getPositive . getNonEmpty <$> arbitrary+    where+      mk versions = VersionNumber (Vers.Version versions [])++instance Arbitrary IndexName where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MappingName where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary DocId where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Version where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary BuildHash where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary IndexAliasRouting where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary ShardCount where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary ReplicaCount where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary TemplateName where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary TemplatePattern where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary QueryString where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary CacheName where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary CacheKey where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Existence where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary CutoffFrequency where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Analyzer where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MaxExpansions where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Lenient where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Tiebreaker where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Boost where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary BoostTerms where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MinimumMatch where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary DisableCoord where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary IgnoreTermFrequency where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MinimumTermFrequency where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MaxQueryTerms where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Fuzziness where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary PrefixLength where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary TypeName where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary PercentMatch where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary StopWord where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary QueryPath where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary AllowLeadingWildcard where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary LowercaseExpanded where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary EnablePositionIncrements where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary AnalyzeWildcard where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GeneratePhraseQueries where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Locale where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MaxWordLength where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MinWordLength where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary PhraseSlop where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MinDocFrequency where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MaxDocFrequency where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Regexp where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary SimpleQueryStringQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary FieldOrFields where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary SimpleQueryFlag where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary RegexpQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary QueryStringQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary RangeQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary RangeValue where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary PrefixQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary NestedQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MoreLikeThisFieldQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MoreLikeThisQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary IndicesQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary HasParentQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary HasChildQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary FuzzyQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary FuzzyLikeFieldQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary FuzzyLikeThisQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary DisMaxQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary CommonTermsQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary DistanceRange where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MultiMatchQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary LessThanD where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary LessThanEqD where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GreaterThanD where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GreaterThanEqD where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary LessThan where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary LessThanEq where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GreaterThan where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GreaterThanEq where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GeoPoint where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary NullValue where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MinimumMatchHighLow where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary CommonMinimumMatch where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary BoostingQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary BoolQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MatchQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MultiMatchQueryType where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary BooleanOperator where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary ZeroTermsQuery where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary MatchQueryType where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary SearchAliasRouting where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary ScoreType where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Distance where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary DistanceUnit where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary DistanceType where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary OptimizeBbox where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GeoBoundingBoxConstraint where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GeoFilterType where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary GeoBoundingBox where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary LatLon where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary RangeExecution where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary RegexpFlag where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary BoolMatch where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Term where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary IndexSettings where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary UpdatableIndexSetting where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary Bytes where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary AllocationPolicy where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary InitialShardCount where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary FSType where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary CompoundFormat where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary FsSnapshotRepo where arbitrary = sopArbitrary; shrink = genericShrink+instance Arbitrary SnapshotRepoName where arbitrary = sopArbitrary; shrink = genericShrink++newtype UpdatableIndexSetting' = UpdatableIndexSetting' UpdatableIndexSetting+                               deriving (Show, Eq, ToJSON, FromJSON, ApproxEq, Typeable)++instance Arbitrary UpdatableIndexSetting' where+  arbitrary = do+    settings <- arbitrary+    return $ UpdatableIndexSetting' $ case settings of+      RoutingAllocationInclude xs -> RoutingAllocationInclude (dropDuplicateAttrNames xs)+      RoutingAllocationExclude xs -> RoutingAllocationExclude (dropDuplicateAttrNames xs)+      RoutingAllocationRequire xs -> RoutingAllocationRequire (dropDuplicateAttrNames xs)+      x -> x+    where+      dropDuplicateAttrNames = NE.fromList . L.nubBy sameAttrName . NE.toList+      sameAttrName a b = nodeAttrFilterName a == nodeAttrFilterName b++main :: IO ()+main = hspec $ do++  describe "index create/delete API" $ do+    it "creates and then deletes the requested index" $ withTestEnv $ do+      -- priming state.+      _ <- deleteExampleIndex+      resp <- createExampleIndex+      deleteResp <- deleteExampleIndex+      liftIO $ do+        validateStatus resp 200+        validateStatus deleteResp 200++  describe "error parsing"  $ do+    it "can parse EsErrors for < 2.0" $ when' (atmost es16) $ withTestEnv $ do+      res <- getDocument (IndexName "bogus") (MappingName "also_bogus") (DocId "bogus_as_well")+      let errorResp = eitherDecode (responseBody res)+      liftIO (errorResp `shouldBe` Right (EsError 404 "IndexMissingException[[bogus] missing]"))++    it "can parse EsErrors for >= 2.0" $ when' (atleast es20) $ withTestEnv $ do+      res <- getDocument (IndexName "bogus") (MappingName "also_bogus") (DocId "bogus_as_well")+      let errorResp = eitherDecode (responseBody res)+      liftIO (errorResp `shouldBe` Right (EsError 404 "no such index"))++  describe "document API" $ do+    it "indexes, updates, gets, and then deletes the generated document" $ withTestEnv $ do+      _ <- insertData+      _ <- updateData+      docInserted <- getDocument testIndex testMapping (DocId "1")+      let newTweet = eitherDecode+                     (responseBody docInserted) :: Either String (EsResult Tweet)+      liftIO $ (fmap getSource newTweet `shouldBe` Right (Just patchedTweet))++    it "indexes, gets, and then deletes the generated document with a DocId containing a space" $ withTestEnv $ do+      _ <- insertWithSpaceInId+      docInserted <- getDocument testIndex testMapping (DocId "Hello World")+      let newTweet = eitherDecode+                     (responseBody docInserted) :: Either String (EsResult Tweet)+      liftIO $ (fmap getSource newTweet `shouldBe` Right (Just exampleTweet))++    it "produces a parseable result when looking up a bogus document" $ withTestEnv $ do+      doc <- getDocument testIndex testMapping  (DocId "bogus")+      let noTweet = eitherDecode+                    (responseBody doc) :: Either String (EsResult Tweet)+      liftIO $ fmap foundResult noTweet `shouldBe` Right Nothing++    it "can use optimistic concurrency control" $ withTestEnv $ do+      let ev = ExternalDocVersion minBound+      let cfg = defaultIndexDocumentSettings { idsVersionControl = ExternalGT ev }+      resetIndex+      res <- insertData' cfg+      liftIO $ isCreated res `shouldBe` True+      res' <- insertData' cfg+      liftIO $ isVersionConflict res' `shouldBe` True++    it "indexes two documents in a parent/child relationship and checks that the child exists" $ withTestEnv $ do+      resetIndex+      _ <- putMapping testIndex (MappingName "child") ChildMapping+      _ <- putMapping testIndex (MappingName "parent") ParentMapping+      _ <- indexDocument testIndex (MappingName "parent") defaultIndexDocumentSettings exampleTweet (DocId "1")+      let parent = (Just . DocumentParent . DocId) "1"+          ids = IndexDocumentSettings NoVersionControl parent+      _ <- indexDocument testIndex (MappingName "child") ids otherTweet (DocId "2")+      _ <- refreshIndex testIndex+      exists <- documentExists testIndex (MappingName "child") parent (DocId "2")+      liftIO $ exists `shouldBe` True++  describe "template API" $ do+    it "can create a template" $ withTestEnv $ do+      let idxTpl = IndexTemplate (TemplatePattern "tweet-*") (Just (IndexSettings (ShardCount 1) (ReplicaCount 1))) [toJSON TweetMapping]+      resp <- putTemplate idxTpl (TemplateName "tweet-tpl")+      liftIO $ validateStatus resp 200++    it "can detect if a template exists" $ withTestEnv $ do+      exists <- templateExists (TemplateName "tweet-tpl")+      liftIO $ exists `shouldBe` True++    it "can delete a template" $ withTestEnv $ do+      resp <- deleteTemplate (TemplateName "tweet-tpl")+      liftIO $ validateStatus resp 200++    it "can detect if a template doesn't exist" $ withTestEnv $ do+      exists <- templateExists (TemplateName "tweet-tpl")+      liftIO $ exists `shouldBe` False++  describe "bulk API" $ do+    it "inserts all documents we request" $ withTestEnv $ do+      _ <- insertData+      let firstTest = BulkTest "blah"+      let secondTest = BulkTest "bloo"+      let firstDoc = BulkIndex testIndex+                     testMapping (DocId "2") (toJSON firstTest)+      let secondDoc = BulkCreate testIndex+                     testMapping (DocId "3") (toJSON secondTest)+      let stream = V.fromList [firstDoc, secondDoc]+      _ <- bulk stream+      _ <- refreshIndex testIndex+      fDoc <- getDocument testIndex testMapping (DocId "2")+      sDoc <- getDocument testIndex testMapping (DocId "3")+      let maybeFirst  = eitherDecode $ responseBody fDoc :: Either String (EsResult BulkTest)+      let maybeSecond = eitherDecode $ responseBody sDoc :: Either String (EsResult BulkTest)+      liftIO $ do+        fmap getSource maybeFirst `shouldBe` Right (Just firstTest)+        fmap getSource maybeSecond `shouldBe` Right (Just secondTest)+++  describe "query API" $ do+    it "returns document for term query and identity filter" $ withTestEnv $ do+      _ <- insertData+      let query = TermQuery (Term "user" "bitemyapp") Nothing+      let filter = Filter $ MatchAllQuery Nothing+      let search = mkSearch (Just query) (Just filter)+      myTweet <- searchTweet search+      liftIO $+        myTweet `shouldBe` Right exampleTweet++    it "handles constant score queries" $ withTestEnv $ do+      _ <- insertData+      let query = TermsQuery "user" ("bitemyapp" :| [])+      let cfQuery = ConstantScoreQuery query (Boost 1.0)+      let filter = Filter $ MatchAllQuery Nothing+      let search = mkSearch (Just cfQuery) (Just filter)+      myTweet <- searchTweet search+      liftIO $+        myTweet `shouldBe` Right exampleTweet++    it "returns document for terms query and identity filter" $ withTestEnv $ do+      _ <- insertData+      let query = TermsQuery "user" ("bitemyapp" :| [])+      let filter = Filter $ MatchAllQuery Nothing+      let search = mkSearch (Just query) (Just filter)+      myTweet <- searchTweet search+      liftIO $+        myTweet `shouldBe` Right exampleTweet++    it "returns document for match query" $ withTestEnv $ do+      _ <- insertData+      let query = QueryMatchQuery $ mkMatchQuery (FieldName "user") (QueryString "bitemyapp")+      let search = mkSearch (Just query) Nothing+      myTweet <- searchTweet search+      liftIO $+        myTweet `shouldBe` Right exampleTweet++    it "returns document for multi-match query" $ withTestEnv $ do+      _ <- insertData+      let flds = [FieldName "user", FieldName "message"]+      let query = QueryMultiMatchQuery $ mkMultiMatchQuery flds (QueryString "bitemyapp")+      let search = mkSearch (Just query) Nothing+      myTweet <- searchTweet search+      liftIO $+        myTweet `shouldBe` Right exampleTweet++    it "returns document for bool query" $ withTestEnv $ do+      _ <- insertData+      let innerQuery = QueryMatchQuery $+                       mkMatchQuery (FieldName "user") (QueryString "bitemyapp")+      let query = QueryBoolQuery $+                  mkBoolQuery [innerQuery] [] [] []+      let search = mkSearch (Just query) Nothing+      myTweet <- searchTweet search+      liftIO $+        myTweet `shouldBe` Right exampleTweet++    it "returns document for boosting query" $ withTestEnv $ do+      _ <- insertData+      let posQuery = QueryMatchQuery $ mkMatchQuery (FieldName "user") (QueryString "bitemyapp")+      let negQuery = QueryMatchQuery $ mkMatchQuery (FieldName "user") (QueryString "notmyapp")+      let query = QueryBoostingQuery $ BoostingQuery posQuery negQuery (Boost 0.2)+      let search = mkSearch (Just query) Nothing+      myTweet <- searchTweet search+      liftIO $+        myTweet `shouldBe` Right exampleTweet++    it "returns document for common terms query" $ withTestEnv $ do+      _ <- insertData+      let query = QueryCommonTermsQuery $+                  CommonTermsQuery (FieldName "user")+                  (QueryString "bitemyapp")+                  (CutoffFrequency 0.0001)+                  Or Or Nothing Nothing Nothing Nothing+      let search = mkSearch (Just query) Nothing+      myTweet <- searchTweet search+      liftIO $+        myTweet `shouldBe` Right exampleTweet+++  describe "sorting" $ do+    it "returns documents in the right order" $ withTestEnv $ do+      _ <- insertData+      _ <- insertOther+      let sortSpec = DefaultSortSpec $ mkSort (FieldName "age") Ascending+      let search = Search Nothing+                   Nothing (Just [sortSpec]) Nothing Nothing+                   False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing+      result <- searchTweets search+      let myTweet = grabFirst result+      liftIO $+        myTweet `shouldBe` Right otherTweet++  describe "Aggregation API" $ do+    it "returns term aggregation results" $ withTestEnv $ do+      _ <- insertData+      let terms = TermsAgg $ mkTermsAggregation "user"+      let search = mkAggregateSearch Nothing $ mkAggregations "users" terms+      searchExpectAggs search+      searchValidBucketAgg search "users" toTerms++    it "return sub-aggregation results" $ withTestEnv $ do+      _ <- insertData+      let subaggs = mkAggregations "age_agg" . TermsAgg $ mkTermsAggregation "age"+          agg = TermsAgg $ (mkTermsAggregation "user") { termAggs = Just subaggs}+          search = mkAggregateSearch Nothing $ mkAggregations "users" agg+      reply <- searchByIndex testIndex search+      let result = decode (responseBody reply) :: Maybe (SearchResult Tweet)+          usersAggResults = result >>= aggregations >>= toTerms "users"+          subAggResults = usersAggResults >>= (listToMaybe . buckets) >>= termsAggs >>= toTerms "age_agg"+          subAddResultsExists = isJust subAggResults+      liftIO $ (subAddResultsExists) `shouldBe` True++    it "returns cardinality aggregation results" $ withTestEnv $ do+      _ <- insertData+      let cardinality = CardinalityAgg $ mkCardinalityAggregation $ FieldName "user"+      let search = mkAggregateSearch Nothing $ mkAggregations "users" cardinality+      let search' = search { Database.V5.Bloodhound.from = From 0, size = Size 0 }+      searchExpectAggs search'+      let docCountPair k n = (k, object ["value" .= Number n])+      res <- searchTweets search'+      liftIO $+        fmap aggregations res `shouldBe` Right (Just (M.fromList [ docCountPair "users" 1]))++    it "can give collection hint parameters to term aggregations" $ when' (atleast es13) $ withTestEnv $ do+      _ <- insertData+      let terms = TermsAgg $ (mkTermsAggregation "user") { termCollectMode = Just BreadthFirst }+      let search = mkAggregateSearch Nothing $ mkAggregations "users" terms+      searchExpectAggs search+      searchValidBucketAgg search "users" toTerms++    -- One of these fails with 1.7.3+    it "can give execution hint parameters to term aggregations" $ when' (atmost es11) $ withTestEnv $ do+      _ <- insertData+      searchTermsAggHint [Map, Ordinals]++    it "can give execution hint parameters to term aggregations" $ when' (is es12) $ withTestEnv $ do+      _ <- insertData+      searchTermsAggHint [GlobalOrdinals, GlobalOrdinalsHash, GlobalOrdinalsLowCardinality, Map, Ordinals]++    it "can give execution hint parameters to term aggregations" $ when' (atleast es12) $ withTestEnv $ do+      _ <- insertData+      searchTermsAggHint [GlobalOrdinals, GlobalOrdinalsHash, GlobalOrdinalsLowCardinality, Map]+    -- One of the above.++    it "can execute value_count aggregations" $ withTestEnv $ do+      _ <- insertData+      _ <- insertOther+      let ags = mkAggregations "user_count" (ValueCountAgg (FieldValueCount (FieldName "user"))) <>+                mkAggregations "bogus_count" (ValueCountAgg (FieldValueCount (FieldName "bogus")))+      let search = mkAggregateSearch Nothing ags+      let docCountPair k n = (k, object ["value" .= Number n])+      res <- searchTweets search+      liftIO $+        fmap aggregations res `shouldBe` Right (Just (M.fromList [ docCountPair "user_count" 2+                                                                 , docCountPair "bogus_count" 0+                                                                 ]))++    it "can execute date_range aggregations" $ withTestEnv $ do+      let now = fromGregorian 2015 3 14+      let ltAMonthAgo = UTCTime (fromGregorian 2015 3 1) 0+      let ltAWeekAgo = UTCTime (fromGregorian 2015 3 10) 0+      let oldDoc = exampleTweet { postDate = ltAMonthAgo }+      let newDoc = exampleTweet { postDate = ltAWeekAgo }+      _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings oldDoc (DocId "1")+      _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings newDoc (DocId "2")+      _ <- refreshIndex testIndex+      let thisMonth = DateRangeFrom (DateMathExpr (DMDate now) [SubtractTime 1 DMMonth])+      let thisWeek = DateRangeFrom (DateMathExpr (DMDate now) [SubtractTime 1 DMWeek])+      let agg = DateRangeAggregation (FieldName "postDate") Nothing (thisMonth :| [thisWeek])+      let ags = mkAggregations "date_ranges" (DateRangeAgg agg)+      let search = mkAggregateSearch Nothing ags+      res <- searchTweets search+      liftIO $ hitsTotal . searchHits <$> res `shouldBe` Right 2+      let bucks = do magrs <- fmapL show (aggregations <$> res)+                     agrs <- note "no aggregations returned" magrs+                     rawBucks <- note "no date_ranges aggregation" $ M.lookup "date_ranges" agrs+                     parseEither parseJSON rawBucks+      let fromMonthT = UTCTime (fromGregorian 2015 2 14) 0+      let fromWeekT = UTCTime (fromGregorian 2015 3 7) 0+      liftIO $ buckets <$> bucks `shouldBe` Right [ DateRangeResult "2015-02-14T00:00:00.000Z-*"+                                                                    (Just fromMonthT)+                                                                    (Just "2015-02-14T00:00:00.000Z")+                                                                    Nothing+                                                                    Nothing+                                                                    2+                                                                    Nothing+                                                  , DateRangeResult "2015-03-07T00:00:00.000Z-*"+                                                                    (Just fromWeekT)+                                                                    (Just "2015-03-07T00:00:00.000Z")+                                                                    Nothing+                                                                    Nothing+                                                                    1+                                                                    Nothing+                                     ]++    it "returns date histogram aggregation results" $ withTestEnv $ do+      _ <- insertData+      let histogram = DateHistogramAgg $ mkDateHistogram (FieldName "postDate") Minute+      let search = mkAggregateSearch Nothing (mkAggregations "byDate" histogram)+      searchExpectAggs search+      searchValidBucketAgg search "byDate" toDateHistogram++    it "can execute missing aggregations" $ withTestEnv $ do+      _ <- insertData+      _ <- insertExtra+      let ags = mkAggregations "missing_agg" (MissingAgg (MissingAggregation "extra"))+      let search = mkAggregateSearch Nothing ags+      let docCountPair k n = (k, object ["doc_count" .= Number n])+      res <- searchTweets search+      liftIO $+        fmap aggregations res `shouldBe` Right (Just (M.fromList [docCountPair "missing_agg" 1]))++  describe "Highlights API" $ do++    it "returns highlight from query when there should be one" $ withTestEnv $ do+      _ <- insertData+      _ <- insertOther+      let query = QueryMatchQuery $ mkMatchQuery (FieldName "message") (QueryString "haskell")+      let testHighlight = Highlights Nothing [FieldHighlight (FieldName "message") Nothing]++      let search = mkHighlightSearch (Just query) testHighlight+      myHighlight <- searchTweetHighlight search+      liftIO $+        myHighlight `shouldBe` Right (Just (M.fromList [("message",["Use <em>haskell</em>!"])]))++    it "doesn't return highlight from a query when it shouldn't" $ withTestEnv $ do+      _ <- insertData+      _ <- insertOther+      let query = QueryMatchQuery $ mkMatchQuery (FieldName "message") (QueryString "haskell")+      let testHighlight = Highlights Nothing [FieldHighlight (FieldName "user") Nothing]++      let search = mkHighlightSearch (Just query) testHighlight+      myHighlight <- searchTweetHighlight search+      liftIO $+        myHighlight `shouldBe` Right Nothing++  describe "Source filtering" $ do++    it "doesn't include source when sources are disabled" $ withTestEnv $ do+      searchExpectSource+        NoSource+        (Left (EsError 500 "Source was missing"))++    it "includes a source" $ withTestEnv $ do+      searchExpectSource+        (SourcePatterns (PopPattern (Pattern "message")))+        (Right (Object (HM.fromList [("message", String "Use haskell!")])))++    it "includes sources" $ withTestEnv $ do+      searchExpectSource+        (SourcePatterns (PopPatterns [Pattern "user", Pattern "message"]))+        (Right (Object (HM.fromList [("user",String "bitemyapp"),("message", String "Use haskell!")])))++    it "includes source patterns" $ withTestEnv $ do+      searchExpectSource+        (SourcePatterns (PopPattern (Pattern "*ge")))+        (Right (Object (HM.fromList [("age", Number 10000),("message", String "Use haskell!")])))++    it "excludes source patterns" $ withTestEnv $ do+      searchExpectSource+        (SourceIncludeExclude (Include [])+        (Exclude [Pattern "l*", Pattern "*ge", Pattern "postDate", Pattern "extra"]))+        (Right (Object (HM.fromList [("user",String "bitemyapp")])))++  describe "ToJSON RegexpFlags" $ do+    it "generates the correct JSON for AllRegexpFlags" $+      toJSON AllRegexpFlags `shouldBe` String "ALL"++    it "generates the correct JSON for NoRegexpFlags" $+      toJSON NoRegexpFlags `shouldBe` String "NONE"++    it "generates the correct JSON for SomeRegexpFlags" $+      let flags = AnyString :| [ Automaton+                               , Complement+                               , Empty+                               , Intersection+                               , Interval ]+      in toJSON (SomeRegexpFlags flags) `shouldBe` String "ANYSTRING|AUTOMATON|COMPLEMENT|EMPTY|INTERSECTION|INTERVAL"++    prop "removes duplicates from flags" $ \(flags :: RegexpFlags) ->+      let String str = toJSON flags+          flagStrs   = T.splitOn "|" str+      in noDuplicates flagStrs++  describe "omitNulls" $ do+    it "checks that omitNulls drops list elements when it should" $+       let dropped = omitNulls $ [ "test1" .= (toJSON ([] :: [Int]))+                                 , "test2" .= (toJSON ("some value" :: Text))]+       in dropped `shouldBe` Object (HM.fromList [("test2", String "some value")])++    it "checks that omitNulls doesn't drop list elements when it shouldn't" $+       let notDropped = omitNulls $ [ "test1" .= (toJSON ([1] :: [Int]))+                                    , "test2" .= (toJSON ("some value" :: Text))]+       in notDropped `shouldBe` Object (HM.fromList [ ("test1", Array (V.fromList [Number 1.0]))+                                                 , ("test2", String "some value")])+    it "checks that omitNulls drops non list elements when it should" $+       let dropped = omitNulls $ [ "test1" .= (toJSON Null)+                                 , "test2" .= (toJSON ("some value" :: Text))]+       in dropped `shouldBe` Object (HM.fromList [("test2", String "some value")])+    it "checks that omitNulls doesn't drop non list elements when it shouldn't" $+       let notDropped = omitNulls $ [ "test1" .= (toJSON (1 :: Int))+                                    , "test2" .= (toJSON ("some value" :: Text))]+       in notDropped `shouldBe` Object (HM.fromList [ ("test1", Number 1.0)+                                                   , ("test2", String "some value")])+  describe "Monoid (SearchHits a)" $ do+    prop "abides the monoid laws" $ eq $+      prop_Monoid (T :: T (SearchHits ()))++  describe "mkDocVersion" $ do+    prop "can never construct an out of range docVersion" $ \i ->+      let res = mkDocVersion i+      in case res of+        Nothing -> property True+        Just dv -> (dv >= minBound) .&&.+                   (dv <= maxBound) .&&.+                   docVersionNumber dv === i++  describe "FsSnapshotRepo" $ do+    prop "SnapshotRepo laws" $ \fsr ->+      fromGSnapshotRepo (toGSnapshotRepo fsr) === Right (fsr :: FsSnapshotRepo)++  describe "snapshot repos" $ do+    it "always parses all snapshot repos API" $ when' canSnapshot $ withTestEnv $ do+      res <- getSnapshotRepos AllSnapshotRepos+      liftIO $ case res of+        Left e -> expectationFailure ("Expected a right but got Left " <> show e)+        Right _ -> return ()++    it "finds an existing list of repos" $ when' canSnapshot $ withTestEnv $ do+      let r1n = SnapshotRepoName "bloodhound-repo1"+      let r2n = SnapshotRepoName "bloodhound-repo2"+      withSnapshotRepo r1n $ \r1 ->+        withSnapshotRepo r2n $ \r2 -> do+          repos <- getSnapshotRepos (SnapshotRepoList (ExactRepo r1n :| [ExactRepo r2n]))+          liftIO $ case repos of+            Right xs -> do+              let srt = L.sortBy (comparing gSnapshotRepoName)+              srt xs `shouldBe` srt [r1, r2]+            Left e -> expectationFailure (show e)++    it "creates and updates with updateSnapshotRepo" $ when' canSnapshot $ withTestEnv $ do+      let r1n = SnapshotRepoName "bloodhound-repo1"+      withSnapshotRepo r1n $ \r1 -> do+        let Just (String dir) = HM.lookup "location" (gSnapshotRepoSettingsObject (gSnapshotRepoSettings r1))+        let noCompression = FsSnapshotRepo r1n (T.unpack dir) False Nothing Nothing Nothing+        resp <- updateSnapshotRepo defaultSnapshotRepoUpdateSettings noCompression+        liftIO (validateStatus resp 200)+        Right [roundtrippedNoCompression] <- getSnapshotRepos (SnapshotRepoList (ExactRepo r1n :| []))+        liftIO (roundtrippedNoCompression `shouldBe` toGSnapshotRepo noCompression)++    -- verify came around in 1.4 it seems+    it "can verify existing repos" $ when' canSnapshot $ when' (atleast es14) $ withTestEnv $ do+      let r1n = SnapshotRepoName "bloodhound-repo1"+      withSnapshotRepo r1n $ \_ -> do+        res <- verifySnapshotRepo r1n+        liftIO $ case res of+          Right (SnapshotVerification vs)+            | null vs -> expectationFailure "Expected nonempty set of verifying nodes"+            | otherwise -> return ()+          Left e -> expectationFailure (show e)++  describe "snapshots" $ do+    it "always parses all snapshots API" $ when' canSnapshot $ withTestEnv $ do+      let r1n = SnapshotRepoName "bloodhound-repo1"+      withSnapshotRepo r1n $ \_ -> do+        res <- getSnapshots r1n AllSnapshots+        liftIO $ case res of+          Left e -> expectationFailure ("Expected a right but got Left " <> show e)+          Right _ -> return ()++    it "can parse a snapshot that it created" $ when' canSnapshot $ withTestEnv $ do+      let r1n = SnapshotRepoName "bloodhound-repo1"+      withSnapshotRepo r1n $ \_ -> do+        let s1n = SnapshotName "example-snapshot"+        withSnapshot r1n s1n $ do+          res <- getSnapshots r1n (SnapshotList (ExactSnap s1n :| []))+          liftIO $ case res of+            Right [snap]+              | snapInfoState snap == SnapshotSuccess &&+                snapInfoName snap == s1n -> return ()+              | otherwise -> expectationFailure (show snap)+            Right [] -> expectationFailure "There were no snapshots"+            Right snaps -> expectationFailure ("Expected 1 snapshot but got" <> show (length snaps))+            Left e -> expectationFailure (show e)++  describe "snapshot restore" $ do+    it "can restore a snapshot that we create" $ when' canSnapshot $ withTestEnv $ do+      let r1n = SnapshotRepoName "bloodhound-repo1"+      withSnapshotRepo r1n $ \_ -> do+        let s1n = SnapshotName "example-snapshot"+        withSnapshot r1n s1n $ do+          let settings = defaultSnapshotRestoreSettings { snapRestoreWaitForCompletion = True }+          -- have to close an index to restore it+          resp1 <- closeIndex testIndex+          liftIO (validateStatus resp1 200)+          resp2 <- restoreSnapshot r1n s1n settings+          liftIO (validateStatus resp2 200)++    it "can restore and rename" $ when' canSnapshot $ withTestEnv $ do+      let r1n = SnapshotRepoName "bloodhound-repo1"+      withSnapshotRepo r1n $ \_ -> do+        let s1n = SnapshotName "example-snapshot"+        withSnapshot r1n s1n $ do+          let pat = RestoreRenamePattern "bloodhound-tests-twitter-(\\d+)"+          let replace = RRTLit "restored-" :| [RRSubWholeMatch]+          let expectedIndex = IndexName "restored-bloodhound-tests-twitter-1"+          oldEnoughForOverrides <- liftIO (atleast es15)+          let overrides = RestoreIndexSettings { restoreOverrideReplicas = Just (ReplicaCount 0) }+          let settings = defaultSnapshotRestoreSettings { snapRestoreWaitForCompletion = True+                                                        , snapRestoreRenamePattern = Just pat+                                                        , snapRestoreRenameReplacement = Just replace+                                                        , snapRestoreIndexSettingsOverrides = if oldEnoughForOverrides+                                                                                              then Just overrides+                                                                                              else Nothing+                                                        }+          -- have to close an index to restore it+          let go = do+                resp <- restoreSnapshot r1n s1n settings+                liftIO (validateStatus resp 200)+                exists <- indexExists expectedIndex+                liftIO (exists `shouldBe` True)+          go `finally` deleteIndex expectedIndex++  describe "getNodesInfo" $ do+     it "fetches the responding node when LocalNode is used" $ withTestEnv $ do+       res <- getNodesInfo LocalNode+       liftIO $ case res of+         -- This is really just a smoke test for response+         -- parsing. Node info is so variable, there's not much I can+         -- assert here.+         Right NodesInfo {..} -> length nodesInfo `shouldBe` 1+         Left e -> expectationFailure ("Expected NodesInfo but got " <> show e)++  describe "getNodesStats" $ do+     it "fetches the responding node when LocalNode is used" $ withTestEnv $ do+       res <- getNodesStats LocalNode+       liftIO $ case res of+         -- This is really just a smoke test for response+         -- parsing. Node stats is so variable, there's not much I can+         -- assert here.+         Right NodesStats {..} -> length nodesStats `shouldBe` 1+         Left e -> expectationFailure ("Expected NodesStats but got " <> show e)++  describe "Enum DocVersion" $ do+    it "follows the laws of Enum, Bounded" $ do+      evaluate (succ maxBound :: DocVersion) `shouldThrow` anyErrorCall+      evaluate (pred minBound :: DocVersion) `shouldThrow` anyErrorCall+      evaluate (toEnum 0 :: DocVersion) `shouldThrow` anyErrorCall+      evaluate (toEnum 9200000000000000001 :: DocVersion) `shouldThrow` anyErrorCall+      enumFrom (pred maxBound :: DocVersion) `shouldBe` [pred maxBound, maxBound]+      enumFrom (pred maxBound :: DocVersion) `shouldBe` [pred maxBound, maxBound]+      enumFromThen minBound (pred maxBound :: DocVersion) `shouldBe` [minBound, pred maxBound]++  describe "scan&scroll API" $ do+    it "returns documents using the scan&scroll API" $ withTestEnv $ do+      _ <- insertData+      _ <- insertOther+      let search = (mkSearch (Just $ MatchAllQuery Nothing) Nothing) { size = (Size 1) }+      regular_search <- searchTweet search+      scan_search' <- scanSearch testIndex testMapping search :: BH IO [Hit Tweet]+      let scan_search = map hitSource scan_search'+      liftIO $+        regular_search `shouldBe` Right exampleTweet -- Check that the size restrtiction is being honored+      liftIO $+        scan_search `shouldMatchList` [Just exampleTweet, Just otherTweet]++  describe "index aliases" $ do+    it "handles the simple case of aliasing an existing index" $ do+      let alias = IndexAlias (testIndex) (IndexAliasName (IndexName "bloodhound-tests-twitter-1-alias"))+      let create = IndexAliasCreate Nothing Nothing+      let action = AddAlias alias create++      withTestEnv $ do+        resetIndex+        resp <- updateIndexAliases (action :| [])+        liftIO $ validateStatus resp 200+      let cleanup = withTestEnv (updateIndexAliases (RemoveAlias alias :| []))+      (do aliases <- withTestEnv getIndexAliases+          let expected = IndexAliasSummary alias create+          case aliases of+            Right (IndexAliasesSummary summs) ->+              L.find ((== alias) . indexAliasSummaryAlias) summs `shouldBe` Just expected+            Left e -> expectationFailure ("Expected an IndexAliasesSummary but got " <> show e)) `finally` cleanup++  describe "Index Listing" $ do+    it "returns a list of index names" $ withTestEnv $ do+      _ <- createExampleIndex+      ixns <- listIndices+      liftIO (ixns `shouldContain` [testIndex])++  describe "Index Settings" $ do+    it "persists settings" $ withTestEnv $ do+      _ <- deleteExampleIndex+      _ <- createExampleIndex+      let updates = BlocksWrite False :| []+      updateResp <- updateIndexSettings updates testIndex+      liftIO $ validateStatus updateResp 200+      getResp <- getIndexSettings testIndex+      liftIO $+        getResp `shouldBe` Right (IndexSettingsSummary+                                    testIndex+                                    (IndexSettings (ShardCount 1) (ReplicaCount 0))+                                    (NE.toList updates))++  describe "Index Optimization" $ do+    it "returns a successful response upon completion" $ withTestEnv $ do+      _ <- createExampleIndex+      resp <- forceMergeIndex (IndexList (testIndex :| [])) defaultForceMergeIndexSettings+      liftIO $ validateStatus resp 200++  describe "JSON instances" $ do+    propJSON (Proxy :: Proxy Version)+    propJSON (Proxy :: Proxy IndexName)+    propJSON (Proxy :: Proxy MappingName)+    propJSON (Proxy :: Proxy DocId)+    propJSON (Proxy :: Proxy IndexAliasRouting)+    propJSON (Proxy :: Proxy RoutingValue)+    propJSON (Proxy :: Proxy ShardCount)+    propJSON (Proxy :: Proxy ReplicaCount)+    propJSON (Proxy :: Proxy TemplateName)+    propJSON (Proxy :: Proxy TemplatePattern)+    propJSON (Proxy :: Proxy QueryString)+    propJSON (Proxy :: Proxy FieldName)+    propJSON (Proxy :: Proxy CacheName)+    propJSON (Proxy :: Proxy CacheKey)+    propJSON (Proxy :: Proxy Existence)+    propJSON (Proxy :: Proxy CutoffFrequency)+    propJSON (Proxy :: Proxy Analyzer)+    propJSON (Proxy :: Proxy MaxExpansions)+    propJSON (Proxy :: Proxy Lenient)+    propJSON (Proxy :: Proxy Tiebreaker)+    propJSON (Proxy :: Proxy Boost)+    propJSON (Proxy :: Proxy BoostTerms)+    propJSON (Proxy :: Proxy MinimumMatch)+    propJSON (Proxy :: Proxy DisableCoord)+    propJSON (Proxy :: Proxy IgnoreTermFrequency)+    propJSON (Proxy :: Proxy MinimumTermFrequency)+    propJSON (Proxy :: Proxy MaxQueryTerms)+    propJSON (Proxy :: Proxy Fuzziness)+    propJSON (Proxy :: Proxy PrefixLength)+    propJSON (Proxy :: Proxy TypeName)+    propJSON (Proxy :: Proxy PercentMatch)+    propJSON (Proxy :: Proxy StopWord)+    propJSON (Proxy :: Proxy QueryPath)+    propJSON (Proxy :: Proxy AllowLeadingWildcard)+    propJSON (Proxy :: Proxy LowercaseExpanded)+    propJSON (Proxy :: Proxy EnablePositionIncrements)+    propJSON (Proxy :: Proxy AnalyzeWildcard)+    propJSON (Proxy :: Proxy GeneratePhraseQueries)+    propJSON (Proxy :: Proxy Locale)+    propJSON (Proxy :: Proxy MaxWordLength)+    propJSON (Proxy :: Proxy MinWordLength)+    propJSON (Proxy :: Proxy PhraseSlop)+    propJSON (Proxy :: Proxy MinDocFrequency)+    propJSON (Proxy :: Proxy MaxDocFrequency)+    propJSON (Proxy :: Proxy Filter)+    propJSON (Proxy :: Proxy Query)+    propJSON (Proxy :: Proxy SimpleQueryStringQuery)+    propJSON (Proxy :: Proxy FieldOrFields)+    propJSON (Proxy :: Proxy SimpleQueryFlag)+    propJSON (Proxy :: Proxy RegexpQuery)+    propJSON (Proxy :: Proxy QueryStringQuery)+    propJSON (Proxy :: Proxy RangeQuery)+    propJSON (Proxy :: Proxy PrefixQuery)+    propJSON (Proxy :: Proxy NestedQuery)+    propJSON (Proxy :: Proxy MoreLikeThisFieldQuery)+    propJSON (Proxy :: Proxy MoreLikeThisQuery)+    propJSON (Proxy :: Proxy IndicesQuery)+    propJSON (Proxy :: Proxy HasParentQuery)+    propJSON (Proxy :: Proxy HasChildQuery)+    propJSON (Proxy :: Proxy FuzzyQuery)+    propJSON (Proxy :: Proxy FuzzyLikeFieldQuery)+    propJSON (Proxy :: Proxy FuzzyLikeThisQuery)+    propJSON (Proxy :: Proxy DisMaxQuery)+    propJSON (Proxy :: Proxy CommonTermsQuery)+    propJSON (Proxy :: Proxy CommonMinimumMatch)+    propJSON (Proxy :: Proxy BoostingQuery)+    propJSON (Proxy :: Proxy BoolQuery)+    propJSON (Proxy :: Proxy MatchQuery)+    propJSON (Proxy :: Proxy MultiMatchQueryType)+    propJSON (Proxy :: Proxy BooleanOperator)+    propJSON (Proxy :: Proxy ZeroTermsQuery)+    propJSON (Proxy :: Proxy MatchQueryType)+    propJSON (Proxy :: Proxy AliasRouting)+    propJSON (Proxy :: Proxy IndexAliasCreate)+    propJSON (Proxy :: Proxy SearchAliasRouting)+    propJSON (Proxy :: Proxy ScoreType)+    propJSON (Proxy :: Proxy Distance)+    propJSON (Proxy :: Proxy DistanceUnit)+    propJSON (Proxy :: Proxy DistanceType)+    propJSON (Proxy :: Proxy OptimizeBbox)+    propJSON (Proxy :: Proxy GeoBoundingBoxConstraint)+    propJSON (Proxy :: Proxy GeoFilterType)+    propJSON (Proxy :: Proxy GeoBoundingBox)+    propJSON (Proxy :: Proxy LatLon)+    propJSON (Proxy :: Proxy RangeExecution)+    prop "RegexpFlags FromJSON/ToJSON roundtrips, removing dups " $ \rfs ->+      let expected = case rfs of+                       SomeRegexpFlags fs -> SomeRegexpFlags (NE.fromList (nub (NE.toList fs)))+                       x -> x+      in parseEither parseJSON (toJSON rfs) === Right expected+    propJSON (Proxy :: Proxy BoolMatch)+    propJSON (Proxy :: Proxy Term)+    propJSON (Proxy :: Proxy MultiMatchQuery)+    propJSON (Proxy :: Proxy IndexSettings)+    propJSON (Proxy :: Proxy UpdatableIndexSetting')+    propJSON (Proxy :: Proxy ReplicaBounds)+    propJSON (Proxy :: Proxy Bytes)+    propJSON (Proxy :: Proxy AllocationPolicy)+    propJSON (Proxy :: Proxy InitialShardCount)+    propJSON (Proxy :: Proxy FSType)+    propJSON (Proxy :: Proxy CompoundFormat)++-- Temporary solution for lacking of generic derivation of Arbitrary+-- We use generics-sop, as it's much more concise than directly using GHC.Generics+--+-- This will be unneeded after https://github.com/nick8325/quickcheck/pull/112+-- is merged and released+sopArbitrary :: forall a. (Generic a, SOP.GTo a, SOP.All SOP.SListI (SOP.GCode a), SOP.All2 Arbitrary (SOP.GCode a)) => Gen a+sopArbitrary = fmap SOP.gto sopArbitrary'++sopArbitrary' :: forall xss. (SOP.All SOP.SListI xss, SOP.All2 Arbitrary xss) => Gen (SOP.SOP SOP.I xss)+sopArbitrary' = SOP.hsequence =<< elements (SOP.apInjs_POP $ SOP.hcpure p arbitrary)+  where+    p :: Proxy Arbitrary+    p = Proxy
− tests/doctests.hs
@@ -1,4 +0,0 @@-import Test.DocTest--main :: IO ()-main = doctest ["-i src", "Database.Bloodhound"]
− tests/tests.hs
@@ -1,1868 +0,0 @@-{-# LANGUAGE CPP                        #-}-{-# LANGUAGE DefaultSignatures          #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleContexts           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE OverloadedStrings          #-}-{-# LANGUAGE RecordWildCards            #-}-{-# LANGUAGE ScopedTypeVariables        #-}-{-# LANGUAGE TypeOperators              #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}-#if __GLASGOW_HASKELL__ < 800-{-# OPTIONS_GHC -fcontext-stack=100 #-}-#endif-module Main where--import           Control.Applicative-import           Control.Error-import           Control.Exception               (evaluate)-import           Control.Monad-import           Control.Monad.Catch-import           Control.Monad.Reader-import           Data.Aeson-import           Data.Aeson.Types                (parseEither)-import qualified Data.ByteString.Lazy.Char8      as BL8-import qualified Data.HashMap.Strict             as HM-import           Data.List                       (nub)-import qualified Data.List                       as L-import           Data.List.NonEmpty              (NonEmpty (..))-import qualified Data.List.NonEmpty              as NE-import qualified Data.Map.Strict                 as M-import           Data.Monoid-import           Data.Ord                        (comparing)-import           Data.Proxy-import           Data.Text                       (Text)-import qualified Data.Text                       as T-import           Data.Time.Calendar              (Day (..), fromGregorian)-import           Data.Time.Clock                 (NominalDiffTime, UTCTime (..),-                                                  secondsToDiffTime)-import           Data.Typeable-import qualified Data.Vector                     as V-import qualified Data.Version                    as Vers-import           Database.Bloodhound-import           GHC.Generics                    as G-import           Network.HTTP.Client             hiding (Proxy)-import qualified Network.HTTP.Types.Method       as NHTM-import qualified Network.HTTP.Types.Status       as NHTS-import qualified Network.URI                     as URI-import           Prelude                         hiding (filter)-import           System.IO.Temp-import           System.Posix.Files-import           Test.Hspec-import           Test.QuickCheck.Property.Monoid (T (..), eq, prop_Monoid)--import           Test.Hspec.QuickCheck           (prop)-import           Test.QuickCheck--import qualified Generics.SOP as SOP-import qualified Generics.SOP.GGP as SOP--testServer  :: Server-testServer  = Server "http://localhost:9200"-testIndex   :: IndexName-testIndex   = IndexName "bloodhound-tests-twitter-1"-testMapping :: MappingName-testMapping = MappingName "tweet"--withTestEnv :: BH IO a -> IO a-withTestEnv = withBH defaultManagerSettings testServer--validateStatus :: Show body => Response body -> Int -> Expectation-validateStatus resp expected =-  if actual == expected-    then return ()-    else expectationFailure ("Expected " <> show expected <> " but got " <> show actual <> ": " <> show body)-  where-    actual = NHTS.statusCode (responseStatus resp)-    body = responseBody resp--createExampleIndex :: (MonadBH m) => m Reply-createExampleIndex = createIndex (IndexSettings (ShardCount 1) (ReplicaCount 0)) testIndex-deleteExampleIndex :: (MonadBH m) => m Reply-deleteExampleIndex = deleteIndex testIndex--es13 :: Vers.Version-es13 = Vers.Version [1, 3, 0] []--es12 :: Vers.Version-es12 = Vers.Version [1, 2, 0] []--es11 :: Vers.Version-es11 = Vers.Version [1, 1, 0] []--es14 :: Vers.Version-es14 = Vers.Version [1, 4, 0] []--es15 :: Vers.Version-es15 = Vers.Version [1, 5, 0] []--es16 :: Vers.Version-es16 = Vers.Version [1, 6, 0] []--es20 :: Vers.Version-es20 = Vers.Version [2, 0, 0] []--getServerVersion :: IO (Maybe Vers.Version)-getServerVersion = fmap extractVersion <$> withTestEnv getStatus-  where-    extractVersion              = versionNumber . number . version---- | Get configured repo paths for snapshotting. Note that by default--- this is not enabled and if we are over es 1.5, we won't be able to--- test snapshotting. Note that this can and should be part of the--- client functionality in a much less ad-hoc incarnation.-getRepoPaths :: IO [FilePath]-getRepoPaths = withTestEnv $ do-  bhe <- getBHEnv-  let Server s = bhServer bhe-  let tUrl = s <> "/" <> "_nodes"-  initReq <- parseRequest (URI.escapeURIString URI.isAllowedInURI (T.unpack tUrl))-  let req = setRequestIgnoreStatus $ initReq { method = NHTM.methodGet }-  Right (Object o) <- parseEsResponse =<< liftIO (httpLbs req (bhManager bhe))-  return $ fromMaybe mempty $ do-    Object nodes <- HM.lookup "nodes" o-    Object firstNode <- snd <$> headMay (HM.toList nodes)-    Object settings <- HM.lookup "settings" firstNode-    Object path <- HM.lookup "path" settings-    Array repo <- HM.lookup "repo" path-    return [ T.unpack t | String t <- V.toList repo]---- | 1.5 and earlier don't care about repo paths-canSnapshot :: IO Bool-canSnapshot = do-  caresAboutRepos <- atleast es16-  repoPaths <- getRepoPaths-  return (not caresAboutRepos || not (null (repoPaths)))--atleast :: Vers.Version -> IO Bool-atleast v = getServerVersion >>= \x -> return $ x >= Just v--atmost :: Vers.Version -> IO Bool-atmost v = getServerVersion >>= \x -> return $ x <= Just v--is :: Vers.Version -> IO Bool-is v = getServerVersion >>= \x -> return $ x == Just v--when' :: Monad m => m Bool -> m () -> m ()-when' b f = b >>= \x -> when x f--(==~) :: (ApproxEq a) => a -> a -> Property-a ==~ b = counterexample (showApproxEq a ++ " !=~ " ++ showApproxEq b) (a =~ b)--propJSON :: forall a. (Arbitrary a, ToJSON a, FromJSON a, Show a, ApproxEq a, Typeable a) => Proxy a -> Spec-propJSON _ = prop testName $ \(a :: a) ->-  let jsonStr = "via " <> BL8.unpack (encode a)-  in counterexample jsonStr (parseEither parseJSON (toJSON a) ==~ Right a)-  where testName = show ty <> " FromJSON/ToJSON roundtrips"-        ty = typeOf (undefined :: a)--data Location = Location { lat :: Double-                         , lon :: Double } deriving (Eq, Generic, Show)--data Tweet = Tweet { user     :: Text-                   , postDate :: UTCTime-                   , message  :: Text-                   , age      :: Int-                   , location :: Location-                   , extra    :: Maybe Text }-           deriving (Eq, Generic, Show)--instance ToJSON   Tweet where-  toJSON = genericToJSON defaultOptions-instance FromJSON Tweet where-  parseJSON = genericParseJSON defaultOptions-instance ToJSON   Location where-  toJSON = genericToJSON defaultOptions-instance FromJSON Location where-  parseJSON = genericParseJSON defaultOptions--data ParentMapping = ParentMapping deriving (Eq, Show)--instance ToJSON ParentMapping where-  toJSON ParentMapping =-    object ["properties" .=-      object [ "user"     .= object ["type"    .= ("string" :: Text)]-            -- Serializing the date as a date is breaking other tests, mysteriously.-            -- , "postDate" .= object [ "type"   .= ("date" :: Text)-            --                        , "format" .= ("YYYY-MM-dd`T`HH:mm:ss.SSSZZ" :: Text)]-            , "message"  .= object ["type" .= ("string" :: Text)]-            , "age"      .= object ["type" .= ("integer" :: Text)]-            , "location" .= object ["type" .= ("geo_point" :: Text)]-            ]]--data ChildMapping = ChildMapping deriving (Eq, Show)--instance ToJSON ChildMapping where-  toJSON ChildMapping =-    object ["_parent" .= object ["type" .= ("parent" :: Text)]-           , "properties" .=-                object [ "user"     .= object ["type"    .= ("string" :: Text)]-                  -- Serializing the date as a date is breaking other tests, mysteriously.-                  -- , "postDate" .= object [ "type"   .= ("date" :: Text)-                  --                        , "format" .= ("YYYY-MM-dd`T`HH:mm:ss.SSSZZ" :: Text)]-                  , "message"  .= object ["type" .= ("string" :: Text)]-                  , "age"      .= object ["type" .= ("integer" :: Text)]-                  , "location" .= object ["type" .= ("geo_point" :: Text)]-                  ]]--data TweetMapping = TweetMapping deriving (Eq, Show)--instance ToJSON TweetMapping where-  toJSON TweetMapping =-    object ["properties" .=-      object [ "user"     .= object ["type"    .= ("string" :: Text)]-             -- Serializing the date as a date is breaking other tests, mysteriously.-             -- , "postDate" .= object [ "type"   .= ("date" :: Text)-             --                        , "format" .= ("YYYY-MM-dd`T`HH:mm:ss.SSSZZ" :: Text)]-             , "message"  .= object ["type" .= ("string" :: Text)]-             , "age"      .= object ["type" .= ("integer" :: Text)]-             , "location" .= object ["type" .= ("geo_point" :: Text)]-             ]]--exampleTweet :: Tweet-exampleTweet = Tweet { user     = "bitemyapp"-                     , postDate = UTCTime-                                  (ModifiedJulianDay 55000)-                                  (secondsToDiffTime 10)-                     , message  = "Use haskell!"-                     , age      = 10000-                     , location = Location 40.12 (-71.34)-                     , extra = Nothing }--tweetWithExtra :: Tweet-tweetWithExtra = Tweet { user     = "bitemyapp"-                       , postDate = UTCTime-                                    (ModifiedJulianDay 55000)-                                    (secondsToDiffTime 10)-                       , message  = "Use haskell!"-                       , age      = 10000-                       , location = Location 40.12 (-71.34)-                       , extra = Just "blah blah" }--newAge :: Int-newAge = 31337--newUser :: Text-newUser = "someotherapp"--tweetPatch :: Value-tweetPatch =-  object [ "age" .= newAge-         , "user" .= newUser-         ]--patchedTweet :: Tweet-patchedTweet = exampleTweet{age = newAge, user = newUser}--otherTweet :: Tweet-otherTweet = Tweet { user     = "notmyapp"-                   , postDate = UTCTime-                                (ModifiedJulianDay 55000)-                                (secondsToDiffTime 11)-                   , message  = "Use haskell!"-                   , age      = 1000-                   , location = Location 40.12 (-71.34)-                   , extra = Nothing }--resetIndex :: BH IO ()-resetIndex = do-  _ <- deleteExampleIndex-  _ <- createExampleIndex-  _ <- putMapping testIndex testMapping TweetMapping-  return ()--insertData :: BH IO Reply-insertData = do-  resetIndex-  insertData' defaultIndexDocumentSettings--insertData' :: IndexDocumentSettings -> BH IO Reply-insertData' ids = do-  r <- indexDocument testIndex testMapping ids exampleTweet (DocId "1")-  _ <- refreshIndex testIndex-  return r--updateData :: BH IO Reply-updateData = do-  r <- updateDocument testIndex testMapping defaultIndexDocumentSettings tweetPatch (DocId "1")-  _ <- refreshIndex testIndex-  return r--insertOther :: BH IO ()-insertOther = do-  _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings otherTweet (DocId "2")-  _ <- refreshIndex testIndex-  return ()--insertExtra :: BH IO ()-insertExtra = do-  _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings tweetWithExtra (DocId "4")-  _ <- refreshIndex testIndex-  return ()--insertWithSpaceInId :: BH IO ()-insertWithSpaceInId = do-  _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings exampleTweet (DocId "Hello World")-  _ <- refreshIndex testIndex-  return ()--searchTweet :: Search -> BH IO (Either EsError Tweet)-searchTweet search = do-  result <- searchTweets search-  let myTweet :: Either EsError Tweet-      myTweet = grabFirst result-  return myTweet--searchTweets :: Search -> BH IO (Either EsError (SearchResult Tweet))-searchTweets search = parseEsResponse =<< searchByIndex testIndex search--searchExpectNoResults :: Search -> BH IO ()-searchExpectNoResults search = do-  result <- searchTweets search-  let emptyHits = fmap (hits . searchHits) result-  liftIO $-    emptyHits `shouldBe` Right []--searchExpectAggs :: Search -> BH IO ()-searchExpectAggs search = do-  reply <- searchByIndex testIndex search-  let isEmpty x = return (M.null x)-  let result = decode (responseBody reply) :: Maybe (SearchResult Tweet)-  liftIO $-    (result >>= aggregations >>= isEmpty) `shouldBe` Just False--searchValidBucketAgg :: (BucketAggregation a, FromJSON a, Show a) =>-                        Search -> Text -> (Text -> AggregationResults -> Maybe (Bucket a)) -> BH IO ()-searchValidBucketAgg search aggKey extractor = do-  reply <- searchByIndex testIndex search-  let bucketDocs = docCount . head . buckets-  let result = decode (responseBody reply) :: Maybe (SearchResult Tweet)-  let count = result >>= aggregations >>= extractor aggKey >>= \x -> return (bucketDocs x)-  liftIO $-    count `shouldBe` Just 1--searchTermsAggHint :: [ExecutionHint] -> BH IO ()-searchTermsAggHint hints = do-      let terms hint = TermsAgg $ (mkTermsAggregation "user") { termExecutionHint = Just hint }-      let search hint = mkAggregateSearch Nothing $ mkAggregations "users" $ terms hint-      forM_ hints $ searchExpectAggs . search-      forM_ hints (\x -> searchValidBucketAgg (search x) "users" toTerms)--searchTweetHighlight :: Search -> BH IO (Either EsError (Maybe HitHighlight))-searchTweetHighlight search = do-  result <- searchTweets search-  let myHighlight = fmap (hitHighlight . head . hits . searchHits) result-  return myHighlight--searchExpectSource :: Source -> Either EsError Value -> BH IO ()-searchExpectSource src expected = do-  _ <- insertData-  let query = QueryMatchQuery $ mkMatchQuery (FieldName "_all") (QueryString "haskell")-  let search = (mkSearch (Just query) Nothing) { source = Just src }-  reply <- searchByIndex testIndex search-  result <- parseEsResponse reply-  let value = grabFirst result-  liftIO $-    value `shouldBe` expected--withSnapshotRepo-    :: ( MonadMask m-       , MonadBH m-       )-    => SnapshotRepoName-    -> (GenericSnapshotRepo -> m a)-    -> m a-withSnapshotRepo srn@(SnapshotRepoName n) f = do-  repoPaths <- liftIO getRepoPaths-  -- we'll use the first repo path if available, otherwise system temp-  -- dir. Note that this will fail on ES > 1.6, so be sure you use-  -- @when' canSnapshot@.-  case repoPaths of-    (firstRepoPath:_) -> withTempDirectory firstRepoPath (T.unpack n) $ \dir -> bracket (alloc dir) free f-    [] -> withSystemTempDirectory (T.unpack n) $ \dir -> bracket (alloc dir) free f-  where-    alloc dir = do-      liftIO (setFileMode dir mode)-      let repo = FsSnapshotRepo srn "bloodhound-tests-backups" True Nothing Nothing Nothing-      resp <- updateSnapshotRepo defaultSnapshotRepoUpdateSettings repo-      liftIO (validateStatus resp 200)-      return (toGSnapshotRepo repo)-    mode = ownerModes `unionFileModes` groupModes `unionFileModes` otherModes-    free GenericSnapshotRepo {..} = do-      resp <- deleteSnapshotRepo gSnapshotRepoName-      liftIO (validateStatus resp 200)---withSnapshot-    :: ( MonadMask m-       , MonadBH m-       )-    => SnapshotRepoName-    -> SnapshotName-    -> m a-    -> m a-withSnapshot srn sn = bracket_ alloc free-  where-    alloc = do-      resp <- createSnapshot srn sn createSettings-      liftIO (validateStatus resp 200)-    -- We'll make this synchronous for testing purposes-    createSettings = defaultSnapshotCreateSettings { snapWaitForCompletion = True-                                                   , snapIndices = Just (IndexList (testIndex :| []))-                                                   -- We don't actually need to back up any data-                                                   }-    free = do-      deleteSnapshot srn sn----data BulkTest = BulkTest { name :: Text } deriving (Eq, Generic, Show)-instance FromJSON BulkTest where-  parseJSON = genericParseJSON defaultOptions-instance ToJSON BulkTest where-  toJSON = genericToJSON defaultOptions--class GApproxEq f where-  gApproxEq :: f a -> f a -> Bool---- | Unit type-instance GApproxEq U1 where-  gApproxEq U1 U1 = True---- | Sum type, ensure same constructors, recurse-instance (GApproxEq a, GApproxEq b) => GApproxEq (a :+: b) where-  gApproxEq (L1 a) (L1 b) = gApproxEq a b-  gApproxEq (R1 a) (R1 b) = gApproxEq a b-  gApproxEq _ _           = False---- | Product type, ensure each field is approx eq-instance (GApproxEq a, GApproxEq b) => GApproxEq (a :*: b) where-  gApproxEq (a1 :*: b1) (a2 :*: b2) = gApproxEq a1 a2 && gApproxEq b1 b2---- | Value type, actually check the values for approx equality-instance (ApproxEq a) => GApproxEq (K1 i a) where-  gApproxEq (K1 a) (K1 b) = a =~ b--instance (GApproxEq f) => GApproxEq (M1 i t f) where-  gApproxEq (M1 a) (M1 b) = gApproxEq a b---- | Typeclass for "equal where it matters". Use this to specify--- less-strict equivalence for things such as lists that can wind up--- in an unpredictable order-class ApproxEq a where-  (=~) :: a -> a -> Bool-  default (=~) :: (Generic a, GApproxEq (Rep a)) => a -> a -> Bool-  a =~ b = gApproxEq (G.from a) (G.from b)--  showApproxEq :: a -> String-  default showApproxEq :: (Show a) => a -> String-  showApproxEq = show--instance ApproxEq NominalDiffTime where (=~) = (==)-instance ApproxEq UTCTime where (=~) = (==)-instance ApproxEq Text where (=~) = (==)-instance ApproxEq Bool where (=~) = (==)-instance ApproxEq Int where (=~) = (==)-instance ApproxEq Double where (=~) = (==)-instance (ApproxEq a, Show a) => ApproxEq (NonEmpty a)-instance (ApproxEq a, Show a) => ApproxEq (Maybe a)-instance ApproxEq GeoPoint-instance ApproxEq Regexp-instance ApproxEq RangeValue-instance ApproxEq LessThan-instance ApproxEq LessThanEq-instance ApproxEq LessThanD-instance ApproxEq LessThanEqD-instance ApproxEq GreaterThan-instance ApproxEq GreaterThanEq-instance ApproxEq GreaterThanD-instance ApproxEq GreaterThanEqD-instance ApproxEq MinimumMatchHighLow-instance ApproxEq RegexpFlag-instance ApproxEq RegexpFlags-instance ApproxEq NullValue-instance ApproxEq Version-instance ApproxEq VersionNumber-instance ApproxEq DistanceRange-instance ApproxEq IndexName-instance ApproxEq MappingName-instance ApproxEq DocId-instance ApproxEq IndexAliasRouting-instance ApproxEq RoutingValue-instance ApproxEq ShardCount-instance ApproxEq ReplicaCount-instance ApproxEq TemplateName-instance ApproxEq TemplatePattern-instance ApproxEq QueryString-instance ApproxEq FieldName-instance ApproxEq CacheName-instance ApproxEq CacheKey-instance ApproxEq Existence-instance ApproxEq CutoffFrequency-instance ApproxEq Analyzer-instance ApproxEq Lenient-instance ApproxEq Tiebreaker-instance ApproxEq Boost-instance ApproxEq BoostTerms-instance ApproxEq MaxExpansions-instance ApproxEq MinimumMatch-instance ApproxEq DisableCoord-instance ApproxEq IgnoreTermFrequency-instance ApproxEq MinimumTermFrequency-instance ApproxEq MaxQueryTerms-instance ApproxEq Fuzziness-instance ApproxEq PrefixLength-instance ApproxEq TypeName-instance ApproxEq PercentMatch-instance ApproxEq StopWord-instance ApproxEq QueryPath-instance ApproxEq AllowLeadingWildcard-instance ApproxEq LowercaseExpanded-instance ApproxEq EnablePositionIncrements-instance ApproxEq AnalyzeWildcard-instance ApproxEq GeneratePhraseQueries-instance ApproxEq Locale-instance ApproxEq MaxWordLength-instance ApproxEq MinWordLength-instance ApproxEq PhraseSlop-instance ApproxEq MinDocFrequency-instance ApproxEq MaxDocFrequency-instance ApproxEq Filter-instance ApproxEq Query-instance ApproxEq SimpleQueryStringQuery-instance ApproxEq FieldOrFields-instance ApproxEq SimpleQueryFlag-instance ApproxEq RegexpQuery-instance ApproxEq QueryStringQuery-instance ApproxEq RangeQuery-instance ApproxEq PrefixQuery-instance ApproxEq NestedQuery-instance ApproxEq MoreLikeThisFieldQuery-instance ApproxEq MoreLikeThisQuery-instance ApproxEq IndicesQuery-instance ApproxEq HasParentQuery-instance ApproxEq HasChildQuery-instance ApproxEq FuzzyQuery-instance ApproxEq FuzzyLikeFieldQuery-instance ApproxEq FuzzyLikeThisQuery-instance ApproxEq FilteredQuery-instance ApproxEq DisMaxQuery-instance ApproxEq CommonTermsQuery-instance ApproxEq CommonMinimumMatch-instance ApproxEq BoostingQuery-instance ApproxEq BoolQuery-instance ApproxEq MatchQuery-instance ApproxEq MultiMatchQueryType-instance ApproxEq BooleanOperator-instance ApproxEq ZeroTermsQuery-instance ApproxEq MatchQueryType-instance ApproxEq AliasRouting-instance ApproxEq IndexAliasCreate-instance ApproxEq SearchAliasRouting-instance ApproxEq ScoreType-instance ApproxEq Distance-instance ApproxEq DistanceUnit-instance ApproxEq DistanceType-instance ApproxEq OptimizeBbox-instance ApproxEq GeoBoundingBoxConstraint-instance ApproxEq GeoFilterType-instance ApproxEq GeoBoundingBox-instance ApproxEq LatLon-instance ApproxEq RangeExecution-instance ApproxEq FSType-instance ApproxEq CompoundFormat-instance ApproxEq InitialShardCount-instance ApproxEq Bytes-instance ApproxEq ReplicaBounds-instance ApproxEq Term-instance ApproxEq BoolMatch-instance ApproxEq MultiMatchQuery-instance ApproxEq IndexSettings-instance ApproxEq AllocationPolicy-instance ApproxEq Char where-  (=~) = (==)-instance ApproxEq Vers.Version where-  (=~) = (==)-instance (ApproxEq a, Show a) => ApproxEq [a] where-  as =~ bs = and (zipWith (=~) as bs)-instance (ApproxEq l, ApproxEq r) => ApproxEq (Either l r) where-  Left a =~ Left b = a =~ b-  Right a =~ Right b = a =~ b-  _ =~ _ = False-  showApproxEq (Left x)  = "Left " <> showApproxEq x-  showApproxEq (Right x) = "Right " <> showApproxEq x-instance ApproxEq NodeAttrFilter-instance ApproxEq NodeAttrName-instance ApproxEq BuildHash---- | Due to the way nodeattrfilters get serialized here, they may come--- out in a different order, but they are morally equivalent-instance ApproxEq UpdatableIndexSetting where-  RoutingAllocationInclude a =~ RoutingAllocationInclude b =-    NE.sort a =~ NE.sort b-  RoutingAllocationExclude a =~ RoutingAllocationExclude b =-    NE.sort a =~ NE.sort b-  RoutingAllocationRequire a =~ RoutingAllocationRequire b =-    NE.sort a =~ NE.sort b-  a =~ b = a == b-  showApproxEq (RoutingAllocationInclude xs) = show (RoutingAllocationInclude (NE.sort xs))-  showApproxEq (RoutingAllocationExclude xs) = show (RoutingAllocationExclude (NE.sort xs))-  showApproxEq (RoutingAllocationRequire xs) = show (RoutingAllocationRequire (NE.sort xs))-  showApproxEq x = show x---noDuplicates :: Eq a => [a] -> Bool-noDuplicates xs = nub xs == xs--instance Arbitrary NominalDiffTime where-  arbitrary = fromInteger <$> arbitrary--#if !MIN_VERSION_QuickCheck(2,8,0)-instance (Arbitrary k, Ord k, Arbitrary v) => Arbitrary (M.Map k v) where-  arbitrary = M.fromList <$> arbitrary-#endif--instance Arbitrary Text where-  arbitrary = T.pack <$> arbitrary--instance Arbitrary UTCTime where-  arbitrary = UTCTime-          <$> arbitrary-          <*> (fromRational . toRational <$> choose (0::Double, 86400))--instance Arbitrary Day where-    arbitrary = ModifiedJulianDay <$> (2000 +) <$> arbitrary-    shrink    = (ModifiedJulianDay <$>) . shrink . toModifiedJulianDay--#if !MIN_VERSION_QuickCheck(2,9,0)-instance Arbitrary a => Arbitrary (NonEmpty a) where-  arbitrary = liftA2 (:|) arbitrary arbitrary-#endif--arbitraryScore :: Gen Score-arbitraryScore = fmap getPositive <$> arbitrary--instance (Arbitrary a, Typeable a) => Arbitrary (Hit a) where-  arbitrary = Hit <$> arbitrary-                  <*> arbitrary-                  <*> arbitrary-                  <*> arbitraryScore-                  <*> arbitrary-                  <*> arbitrary-  shrink = genericShrink---instance (Arbitrary a, Typeable a) => Arbitrary (SearchHits a) where-  arbitrary = reduceSize $ do-    tot <- getPositive <$> arbitrary-    score <- arbitraryScore-    hs <- arbitrary-    return $ SearchHits tot score hs-  shrink = genericShrink--reduceSize :: Gen a -> Gen a-reduceSize f = sized $ \n -> resize (n `div` 2) f--getSource :: EsResult a -> Maybe a-getSource = fmap _source . foundResult--grabFirst :: Either EsError (SearchResult a) -> Either EsError a-grabFirst r =-  case fmap (hitSource . head . hits . searchHits) r of-    (Left e)         -> Left e-    (Right Nothing)  -> Left (EsError 500 "Source was missing")-    (Right (Just x)) -> Right x----------------------------------------------------------------------------------arbitraryAlphaNum :: Gen Char-arbitraryAlphaNum = oneof [choose ('a', 'z')-                          ,choose ('A','Z')-                          , choose ('0', '9')]--instance Arbitrary RoutingValue where-  arbitrary = RoutingValue . T.pack <$> listOf1 arbitraryAlphaNum--instance Arbitrary AliasRouting where-  arbitrary = oneof [allAlias-                    ,one-                    ,theOther-                    ,both]-    where one = GranularAliasRouting-                <$> (Just <$> arbitrary)-                <*> pure Nothing-          theOther = GranularAliasRouting Nothing-                     <$> (Just <$> arbitrary)-          both = GranularAliasRouting-                 <$> (Just <$> arbitrary)-                 <*> (Just <$> arbitrary)-          allAlias = AllAliasRouting <$> arbitrary-  shrink = genericShrink---instance Arbitrary FieldName where-  arbitrary = FieldName . T.pack <$> listOf1 arbitraryAlphaNum-  shrink = genericShrink---instance Arbitrary RegexpFlags where-  arbitrary = oneof [ pure AllRegexpFlags-                    , pure NoRegexpFlags-                    , SomeRegexpFlags <$> genUniqueFlags-                    ]-    where genUniqueFlags = NE.fromList . nub <$> listOf1 arbitrary-  shrink = genericShrink---instance Arbitrary IndexAliasCreate where-  arbitrary = IndexAliasCreate <$> arbitrary <*> reduceSize arbitrary-  shrink = genericShrink--instance Arbitrary Query where-  arbitrary = reduceSize $ oneof [ TermQuery <$> arbitrary <*> arbitrary-                                 , TermsQuery <$> arbitrary <*> arbitrary-                                 , QueryMatchQuery <$> arbitrary-                                 , QueryMultiMatchQuery <$> arbitrary-                                 , QueryBoolQuery <$> arbitrary-                                 , QueryBoostingQuery <$> arbitrary-                                 , QueryCommonTermsQuery <$> arbitrary-                                 , ConstantScoreFilter <$> arbitrary <*> arbitrary-                                 , ConstantScoreQuery <$> arbitrary <*> arbitrary-                                 , QueryDisMaxQuery <$> arbitrary-                                 , QueryFilteredQuery <$> arbitrary-                                 , QueryFuzzyLikeThisQuery <$> arbitrary-                                 , QueryFuzzyLikeFieldQuery <$> arbitrary-                                 , QueryFuzzyQuery <$> arbitrary-                                 , QueryHasChildQuery <$> arbitrary-                                 , QueryHasParentQuery <$> arbitrary-                                 , IdsQuery <$> arbitrary <*> arbitrary-                                 , QueryIndicesQuery <$> arbitrary-                                 , MatchAllQuery <$> arbitrary-                                 , QueryMoreLikeThisQuery <$> arbitrary-                                 , QueryMoreLikeThisFieldQuery <$> arbitrary-                                 , QueryNestedQuery <$> arbitrary-                                 , QueryPrefixQuery <$> arbitrary-                                 , QueryQueryStringQuery <$> arbitrary-                                 , QuerySimpleQueryStringQuery <$> arbitrary-                                 , QueryRangeQuery <$> arbitrary-                                 , QueryRegexpQuery <$> arbitrary-                                 ]-  shrink = genericShrink--instance Arbitrary Filter where-  arbitrary = reduceSize $ oneof [ AndFilter <$> arbitrary <*> arbitrary-                                 , OrFilter <$> arbitrary <*> arbitrary-                                 , NotFilter <$> arbitrary <*> arbitrary-                                 , pure IdentityFilter-                                 , BoolFilter <$> arbitrary-                                 , ExistsFilter <$> arbitrary-                                 , GeoBoundingBoxFilter <$> arbitrary-                                 , GeoDistanceFilter <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary-                                 , GeoDistanceRangeFilter <$> arbitrary <*> arbitrary-                                 , GeoPolygonFilter <$> arbitrary <*> arbitrary-                                 , IdsFilter <$> arbitrary <*> arbitrary-                                 , LimitFilter <$> arbitrary-                                 , MissingFilter <$> arbitrary <*> arbitrary <*> arbitrary-                                 , PrefixFilter <$> arbitrary <*> arbitrary <*> arbitrary-                                 , QueryFilter <$> arbitrary <*> arbitrary-                                 , RangeFilter <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary-                                 , RegexpFilter <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary-                                 , TermFilter <$> arbitrary <*> arbitrary]-  shrink = genericShrink--instance Arbitrary ReplicaBounds where-  arbitrary = oneof [ replicasBounded-                    , replicasLowerBounded-                    , pure ReplicasUnbounded-                    ]-    where replicasBounded = do Positive a <- arbitrary-                               Positive b <- arbitrary-                               return (ReplicasBounded a b)-          replicasLowerBounded = do Positive a <- arbitrary-                                    return (ReplicasLowerBounded a)--instance Arbitrary NodeAttrName where-  arbitrary = NodeAttrName . T.pack <$> listOf1 arbitraryAlphaNum---instance Arbitrary NodeAttrFilter where-  arbitrary = do-    n <- arbitrary-    s:ss <- listOf1 (listOf1 arbitraryAlphaNum)-    let ts = T.pack <$> s :| ss-    return (NodeAttrFilter n ts)-  shrink = genericShrink--instance Arbitrary VersionNumber where-  arbitrary = mk . fmap getPositive . getNonEmpty <$> arbitrary-    where-      mk versions = VersionNumber (Vers.Version versions [])--instance Arbitrary IndexName where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MappingName where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary DocId where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Version where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary BuildHash where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary IndexAliasRouting where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary ShardCount where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary ReplicaCount where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary TemplateName where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary TemplatePattern where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary QueryString where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary CacheName where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary CacheKey where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Existence where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary CutoffFrequency where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Analyzer where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MaxExpansions where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Lenient where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Tiebreaker where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Boost where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary BoostTerms where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MinimumMatch where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary DisableCoord where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary IgnoreTermFrequency where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MinimumTermFrequency where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MaxQueryTerms where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Fuzziness where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary PrefixLength where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary TypeName where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary PercentMatch where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary StopWord where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary QueryPath where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary AllowLeadingWildcard where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary LowercaseExpanded where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary EnablePositionIncrements where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary AnalyzeWildcard where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GeneratePhraseQueries where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Locale where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MaxWordLength where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MinWordLength where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary PhraseSlop where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MinDocFrequency where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MaxDocFrequency where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Regexp where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary SimpleQueryStringQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary FieldOrFields where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary SimpleQueryFlag where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary RegexpQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary QueryStringQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary RangeQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary RangeValue where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary PrefixQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary NestedQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MoreLikeThisFieldQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MoreLikeThisQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary IndicesQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary HasParentQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary HasChildQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary FuzzyQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary FuzzyLikeFieldQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary FuzzyLikeThisQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary FilteredQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary DisMaxQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary CommonTermsQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary DistanceRange where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MultiMatchQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary LessThanD where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary LessThanEqD where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GreaterThanD where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GreaterThanEqD where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary LessThan where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary LessThanEq where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GreaterThan where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GreaterThanEq where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GeoPoint where-  arbitrary = GeoPoint <$> (arbitrary `suchThat` reasonableFieldName) <*> arbitrary-    where-      -- These are problematic for geopoint for obvious reasons-      reasonableFieldName (FieldName "from") = False-      reasonableFieldName (FieldName "to") = False-      reasonableFieldName _ = True-  shrink = genericShrink-instance Arbitrary NullValue where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MinimumMatchHighLow where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary CommonMinimumMatch where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary BoostingQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary BoolQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MatchQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MultiMatchQueryType where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary BooleanOperator where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary ZeroTermsQuery where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary MatchQueryType where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary SearchAliasRouting where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary ScoreType where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Distance where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary DistanceUnit where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary DistanceType where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary OptimizeBbox where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GeoBoundingBoxConstraint where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GeoFilterType where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary GeoBoundingBox where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary LatLon where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary RangeExecution where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary RegexpFlag where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary BoolMatch where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Term where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary IndexSettings where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary UpdatableIndexSetting where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary Bytes where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary AllocationPolicy where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary InitialShardCount where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary FSType where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary CompoundFormat where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary FsSnapshotRepo where arbitrary = sopArbitrary; shrink = genericShrink-instance Arbitrary SnapshotRepoName where arbitrary = sopArbitrary; shrink = genericShrink--newtype UpdatableIndexSetting' = UpdatableIndexSetting' UpdatableIndexSetting-                               deriving (Show, Eq, ToJSON, FromJSON, ApproxEq, Typeable)--instance Arbitrary UpdatableIndexSetting' where-  arbitrary = do-    settings <- arbitrary-    return $ UpdatableIndexSetting' $ case settings of-      RoutingAllocationInclude xs -> RoutingAllocationInclude (dropDuplicateAttrNames xs)-      RoutingAllocationExclude xs -> RoutingAllocationExclude (dropDuplicateAttrNames xs)-      RoutingAllocationRequire xs -> RoutingAllocationRequire (dropDuplicateAttrNames xs)-      x -> x-    where-      dropDuplicateAttrNames = NE.fromList . L.nubBy sameAttrName . NE.toList-      sameAttrName a b = nodeAttrFilterName a == nodeAttrFilterName b--main :: IO ()-main = hspec $ do--  describe "index create/delete API" $ do-    it "creates and then deletes the requested index" $ withTestEnv $ do-      -- priming state.-      _ <- deleteExampleIndex-      resp <- createExampleIndex-      deleteResp <- deleteExampleIndex-      liftIO $ do-        validateStatus resp 200-        validateStatus deleteResp 200--  describe "error parsing"  $ do-    it "can parse EsErrors for < 2.0" $ when' (atmost es16) $ withTestEnv $ do-      res <- getDocument (IndexName "bogus") (MappingName "also_bogus") (DocId "bogus_as_well")-      let errorResp = eitherDecode (responseBody res)-      liftIO (errorResp `shouldBe` Right (EsError 404 "IndexMissingException[[bogus] missing]"))--    it "can parse EsErrors for >= 2.0" $ when' (atleast es20) $ withTestEnv $ do-      res <- getDocument (IndexName "bogus") (MappingName "also_bogus") (DocId "bogus_as_well")-      let errorResp = eitherDecode (responseBody res)-      liftIO (errorResp `shouldBe` Right (EsError 404 "no such index"))--  describe "document API" $ do-    it "indexes, updates, gets, and then deletes the generated document" $ withTestEnv $ do-      _ <- insertData-      _ <- updateData-      docInserted <- getDocument testIndex testMapping (DocId "1")-      let newTweet = eitherDecode-                     (responseBody docInserted) :: Either String (EsResult Tweet)-      liftIO $ (fmap getSource newTweet `shouldBe` Right (Just patchedTweet))--    it "indexes, gets, and then deletes the generated document with a DocId containing a space" $ withTestEnv $ do-      _ <- insertWithSpaceInId-      docInserted <- getDocument testIndex testMapping (DocId "Hello World")-      let newTweet = eitherDecode-                     (responseBody docInserted) :: Either String (EsResult Tweet)-      liftIO $ (fmap getSource newTweet `shouldBe` Right (Just exampleTweet))--    it "produces a parseable result when looking up a bogus document" $ withTestEnv $ do-      doc <- getDocument testIndex testMapping  (DocId "bogus")-      let noTweet = eitherDecode-                    (responseBody doc) :: Either String (EsResult Tweet)-      liftIO $ fmap foundResult noTweet `shouldBe` Right Nothing--    it "can use optimistic concurrency control" $ withTestEnv $ do-      let ev = ExternalDocVersion minBound-      let cfg = defaultIndexDocumentSettings { idsVersionControl = ExternalGT ev }-      resetIndex-      res <- insertData' cfg-      liftIO $ isCreated res `shouldBe` True-      res' <- insertData' cfg-      liftIO $ isVersionConflict res' `shouldBe` True--    it "indexes two documents in a parent/child relationship and checks that the child exists" $ withTestEnv $ do-      resetIndex-      _ <- putMapping testIndex (MappingName "child") ChildMapping-      _ <- putMapping testIndex (MappingName "parent") ParentMapping-      _ <- indexDocument testIndex (MappingName "parent") defaultIndexDocumentSettings exampleTweet (DocId "1")-      let parent = (Just . DocumentParent . DocId) "1"-          ids = IndexDocumentSettings NoVersionControl parent-      _ <- indexDocument testIndex (MappingName "child") ids otherTweet (DocId "2")-      _ <- refreshIndex testIndex-      exists <- documentExists testIndex (MappingName "child") parent (DocId "2")-      liftIO $ exists `shouldBe` True--  describe "template API" $ do-    it "can create a template" $ withTestEnv $ do-      let idxTpl = IndexTemplate (TemplatePattern "tweet-*") (Just (IndexSettings (ShardCount 1) (ReplicaCount 1))) [toJSON TweetMapping]-      resp <- putTemplate idxTpl (TemplateName "tweet-tpl")-      liftIO $ validateStatus resp 200--    it "can detect if a template exists" $ withTestEnv $ do-      exists <- templateExists (TemplateName "tweet-tpl")-      liftIO $ exists `shouldBe` True--    it "can delete a template" $ withTestEnv $ do-      resp <- deleteTemplate (TemplateName "tweet-tpl")-      liftIO $ validateStatus resp 200--    it "can detect if a template doesn't exist" $ withTestEnv $ do-      exists <- templateExists (TemplateName "tweet-tpl")-      liftIO $ exists `shouldBe` False--  describe "bulk API" $ do-    it "inserts all documents we request" $ withTestEnv $ do-      _ <- insertData-      let firstTest = BulkTest "blah"-      let secondTest = BulkTest "bloo"-      let firstDoc = BulkIndex testIndex-                     testMapping (DocId "2") (toJSON firstTest)-      let secondDoc = BulkCreate testIndex-                     testMapping (DocId "3") (toJSON secondTest)-      let stream = V.fromList [firstDoc, secondDoc]-      _ <- bulk stream-      _ <- refreshIndex testIndex-      fDoc <- getDocument testIndex testMapping (DocId "2")-      sDoc <- getDocument testIndex testMapping (DocId "3")-      let maybeFirst  = eitherDecode $ responseBody fDoc :: Either String (EsResult BulkTest)-      let maybeSecond = eitherDecode $ responseBody sDoc :: Either String (EsResult BulkTest)-      liftIO $ do-        fmap getSource maybeFirst `shouldBe` Right (Just firstTest)-        fmap getSource maybeSecond `shouldBe` Right (Just secondTest)---  describe "query API" $ do-    it "returns document for term query and identity filter" $ withTestEnv $ do-      _ <- insertData-      let query = TermQuery (Term "user" "bitemyapp") Nothing-      let filter = IdentityFilter <&&> IdentityFilter-      let search = mkSearch (Just query) (Just filter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "handles constant score queries" $ withTestEnv $ do-      _ <- insertData-      let query = TermsQuery "user" ("bitemyapp" :| [])-      let cfQuery = ConstantScoreQuery query (Boost 1.0)-      let filter = IdentityFilter-      let search = mkSearch (Just cfQuery) (Just filter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet-    it "handles constant score filters" $ withTestEnv $ do-      _ <- insertData-      let query = TermsQuery "user" ("bitemyapp" :| [])-      let cfFilter = ConstantScoreFilter IdentityFilter (Boost 1.0)-      let boolQuery = mkBoolQuery [query, cfFilter] [] []-      let search = mkSearch (Just (QueryBoolQuery boolQuery)) Nothing-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet---    it "returns document for terms query and identity filter" $ withTestEnv $ do-      _ <- insertData-      let query = TermsQuery "user" ("bitemyapp" :| [])-      let filter = IdentityFilter <&&> IdentityFilter-      let search = mkSearch (Just query) (Just filter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for match query" $ withTestEnv $ do-      _ <- insertData-      let query = QueryMatchQuery $ mkMatchQuery (FieldName "user") (QueryString "bitemyapp")-      let search = mkSearch (Just query) Nothing-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for multi-match query" $ withTestEnv $ do-      _ <- insertData-      let flds = [FieldName "user", FieldName "message"]-      let query = QueryMultiMatchQuery $ mkMultiMatchQuery flds (QueryString "bitemyapp")-      let search = mkSearch (Just query) Nothing-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for bool query" $ withTestEnv $ do-      _ <- insertData-      let innerQuery = QueryMatchQuery $-                       mkMatchQuery (FieldName "user") (QueryString "bitemyapp")-      let query = QueryBoolQuery $-                  mkBoolQuery [innerQuery] [] []-      let search = mkSearch (Just query) Nothing-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for boosting query" $ withTestEnv $ do-      _ <- insertData-      let posQuery = QueryMatchQuery $ mkMatchQuery (FieldName "user") (QueryString "bitemyapp")-      let negQuery = QueryMatchQuery $ mkMatchQuery (FieldName "user") (QueryString "notmyapp")-      let query = QueryBoostingQuery $ BoostingQuery posQuery negQuery (Boost 0.2)-      let search = mkSearch (Just query) Nothing-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for common terms query" $ withTestEnv $ do-      _ <- insertData-      let query = QueryCommonTermsQuery $-                  CommonTermsQuery (FieldName "user")-                  (QueryString "bitemyapp")-                  (CutoffFrequency 0.0001)-                  Or Or Nothing Nothing Nothing Nothing-      let search = mkSearch (Just query) Nothing-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet---  describe "sorting" $ do-    it "returns documents in the right order" $ withTestEnv $ do-      _ <- insertData-      _ <- insertOther-      let sortSpec = DefaultSortSpec $ mkSort (FieldName "age") Ascending-      let search = Search Nothing-                   (Just IdentityFilter) (Just [sortSpec]) Nothing Nothing-                   False (From 0) (Size 10) SearchTypeQueryThenFetch Nothing Nothing-      result <- searchTweets search-      let myTweet = grabFirst result-      liftIO $-        myTweet `shouldBe` Right otherTweet---  describe "filtering API" $ do-    it "returns document for composed boolmatch and identity" $ withTestEnv $ do-      _ <- insertData-      let queryFilter = BoolFilter (MustMatch (Term "user" "bitemyapp") False)-                        <&&> IdentityFilter-      let search = mkSearch Nothing (Just queryFilter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for term filter" $ withTestEnv $ do-      _ <- insertData-      let termFilter = TermFilter (Term "user" "bitemyapp") False-      let search = mkSearch Nothing (Just termFilter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for existential filter" $ withTestEnv $ do-      _ <- insertData-      let search = mkSearch Nothing (Just (ExistsFilter (FieldName "user")))-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for geo boundingbox filter" $ withTestEnv $ do-      _ <- insertData-      let box = GeoBoundingBox (LatLon 40.73 (-74.1)) (LatLon 40.10 (-71.12))-      let bbConstraint = GeoBoundingBoxConstraint (FieldName "tweet.location") box False GeoFilterMemory-      let geoFilter = GeoBoundingBoxFilter bbConstraint-      let search = mkSearch Nothing (Just geoFilter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "doesn't return document for nonsensical boundingbox filter" $ withTestEnv $ do-      _ <- insertData-      let box          = GeoBoundingBox (LatLon 0.73 (-4.1)) (LatLon 0.10 (-1.12))-      let bbConstraint = GeoBoundingBoxConstraint (FieldName "tweet.location") box False GeoFilterMemory-      let geoFilter    = GeoBoundingBoxFilter bbConstraint-      let search       = mkSearch Nothing (Just geoFilter)-      searchExpectNoResults search--    it "returns document for geo distance filter" $ withTestEnv $ do-      _ <- insertData-      let geoPoint = GeoPoint (FieldName "tweet.location") (LatLon 40.12 (-71.34))-      let distance = Distance 10.0 Miles-      let optimizeBbox = OptimizeGeoFilterType GeoFilterMemory-      let geoFilter = GeoDistanceFilter geoPoint distance SloppyArc optimizeBbox False-      let search = mkSearch Nothing (Just geoFilter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for geo distance range filter" $ withTestEnv $ do-      _ <- insertData-      let geoPoint = GeoPoint (FieldName "tweet.location") (LatLon 40.12 (-71.34))-      let distanceRange = DistanceRange (Distance 0.0 Miles) (Distance 10.0 Miles)-      let geoFilter = GeoDistanceRangeFilter geoPoint distanceRange-      let search = mkSearch Nothing (Just geoFilter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "doesn't return document for wild geo distance range filter" $ withTestEnv $ do-      _ <- insertData-      let geoPoint = GeoPoint (FieldName "tweet.location") (LatLon 40.12 (-71.34))-      let distanceRange = DistanceRange (Distance 100.0 Miles) (Distance 1000.0 Miles)-      let geoFilter = GeoDistanceRangeFilter geoPoint distanceRange-      let search = mkSearch Nothing (Just geoFilter)-      searchExpectNoResults search--    it "returns document for geo polygon filter" $ withTestEnv $ do-      _ <- insertData-      let points = [LatLon 40.0 (-70.00),-                    LatLon 40.0 (-72.00),-                    LatLon 41.0 (-70.00),-                    LatLon 41.0 (-72.00)]-      let geoFilter = GeoPolygonFilter (FieldName "tweet.location") points-      let search = mkSearch Nothing (Just geoFilter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "doesn't return document for bad geo polygon filter" $ withTestEnv $ do-      _ <- insertData-      let points = [LatLon 40.0 (-70.00),-                    LatLon 40.0 (-71.00),-                    LatLon 41.0 (-70.00),-                    LatLon 41.0 (-71.00)]-      let geoFilter = GeoPolygonFilter (FieldName "tweet.location") points-      let search = mkSearch Nothing (Just geoFilter)-      searchExpectNoResults search--    it "returns document for ids filter" $ withTestEnv $ do-      _ <- insertData-      let filter = IdsFilter (MappingName "tweet") [DocId "1"]-      let search = mkSearch Nothing (Just filter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for Double range filter" $ withTestEnv $ do-      _ <- insertData-      let filter = RangeFilter (FieldName "age")-                   (RangeDoubleGtLt (GreaterThan 1000.0) (LessThan 100000.0))-                   RangeExecutionIndex False-      let search = mkSearch Nothing (Just filter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for UTCTime date filter" $ withTestEnv $ do-      _ <- insertData-      let filter = RangeFilter (FieldName "postDate")-                   (RangeDateGtLt-                    (GreaterThanD (UTCTime-                                (ModifiedJulianDay 54000)-                                (secondsToDiffTime 0)))-                    (LessThanD (UTCTime-                                (ModifiedJulianDay 55000)-                                (secondsToDiffTime 11))))-                   RangeExecutionIndex False-      let search = mkSearch Nothing (Just filter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "returns document for regexp filter" $ withTestEnv $ do-      _ <- insertData-      let filter = RegexpFilter (FieldName "user") (Regexp "bite.*app")-                   AllRegexpFlags (CacheName "test") False (CacheKey "key")-      let search = mkSearch Nothing (Just filter)-      myTweet <- searchTweet search-      liftIO $-        myTweet `shouldBe` Right exampleTweet--    it "doesn't return document for non-matching regexp filter" $ withTestEnv $ do-      _ <- insertData-      let filter = RegexpFilter (FieldName "user")-                   (Regexp "boy") AllRegexpFlags-                   (CacheName "test") False (CacheKey "key")-      let search = mkSearch Nothing (Just filter)-      searchExpectNoResults search--    it "returns document for query filter, uncached" $ withTestEnv $ do-      _ <- insertData-      let filter = QueryFilter (TermQuery (Term "user" "bitemyapp") Nothing) True-          search = mkSearch Nothing (Just filter)-      myTweet <- searchTweet search-      liftIO $ myTweet `shouldBe` Right exampleTweet--    it "returns document for query filter, cached" $ withTestEnv $ do-      _ <- insertData-      let filter = QueryFilter (TermQuery (Term "user" "bitemyapp") Nothing) False-          search = mkSearch Nothing (Just filter)-      myTweet <- searchTweet search-      liftIO $ myTweet `shouldBe` Right exampleTweet--  describe "Aggregation API" $ do-    it "returns term aggregation results" $ withTestEnv $ do-      _ <- insertData-      let terms = TermsAgg $ mkTermsAggregation "user"-      let search = mkAggregateSearch Nothing $ mkAggregations "users" terms-      searchExpectAggs search-      searchValidBucketAgg search "users" toTerms--    it "returns cardinality aggregation results" $ withTestEnv $ do-      _ <- insertData-      let cardinality = CardinalityAgg $ mkCardinalityAggregation $ FieldName "user"-      let search = mkAggregateSearch Nothing $ mkAggregations "users" cardinality-      let search' = search { Database.Bloodhound.from = From 0, size = Size 0 }-      searchExpectAggs search'-      let docCountPair k n = (k, object ["value" .= Number n])-      res <- searchTweets search'-      liftIO $-        fmap aggregations res `shouldBe` Right (Just (M.fromList [ docCountPair "users" 1]))--    it "can give collection hint parameters to term aggregations" $ when' (atleast es13) $ withTestEnv $ do-      _ <- insertData-      let terms = TermsAgg $ (mkTermsAggregation "user") { termCollectMode = Just BreadthFirst }-      let search = mkAggregateSearch Nothing $ mkAggregations "users" terms-      searchExpectAggs search-      searchValidBucketAgg search "users" toTerms--    -- One of these fails with 1.7.3-    it "can give execution hint parameters to term aggregations" $ when' (atmost es11) $ withTestEnv $ do-      _ <- insertData-      searchTermsAggHint [Map, Ordinals]--    it "can give execution hint parameters to term aggregations" $ when' (is es12) $ withTestEnv $ do-      _ <- insertData-      searchTermsAggHint [GlobalOrdinals, GlobalOrdinalsHash, GlobalOrdinalsLowCardinality, Map, Ordinals]--    it "can give execution hint parameters to term aggregations" $ when' (atleast es12) $ withTestEnv $ do-      _ <- insertData-      searchTermsAggHint [GlobalOrdinals, GlobalOrdinalsHash, GlobalOrdinalsLowCardinality, Map]-    -- One of the above.--    it "can execute value_count aggregations" $ withTestEnv $ do-      _ <- insertData-      _ <- insertOther-      let ags = mkAggregations "user_count" (ValueCountAgg (FieldValueCount (FieldName "user"))) <>-                mkAggregations "bogus_count" (ValueCountAgg (FieldValueCount (FieldName "bogus")))-      let search = mkAggregateSearch Nothing ags-      let docCountPair k n = (k, object ["value" .= Number n])-      res <- searchTweets search-      liftIO $-        fmap aggregations res `shouldBe` Right (Just (M.fromList [ docCountPair "user_count" 2-                                                                 , docCountPair "bogus_count" 0-                                                                 ]))--    it "can execute filter aggregations" $ withTestEnv $ do-      _ <- insertData-      _ <- insertOther-      let ags = mkAggregations "bitemyapps" (FilterAgg (FilterAggregation (TermFilter (Term "user" "bitemyapp") defaultCache) Nothing)) <>-                mkAggregations "notmyapps" (FilterAgg (FilterAggregation (TermFilter (Term "user" "notmyapp") defaultCache) Nothing))-      let search = mkAggregateSearch Nothing ags-      let docCountPair k n = (k, object ["doc_count" .= Number n])-      res <- searchTweets search-      liftIO $-        fmap aggregations res `shouldBe` Right (Just (M.fromList [ docCountPair "bitemyapps" 1-                                                                 , docCountPair "notmyapps" 1-                                                                 ]))-    it "can execute date_range aggregations" $ withTestEnv $ do-      let now = fromGregorian 2015 3 14-      let ltAMonthAgo = UTCTime (fromGregorian 2015 3 1) 0-      let ltAWeekAgo = UTCTime (fromGregorian 2015 3 10) 0-      let oldDoc = exampleTweet { postDate = ltAMonthAgo }-      let newDoc = exampleTweet { postDate = ltAWeekAgo }-      _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings oldDoc (DocId "1")-      _ <- indexDocument testIndex testMapping defaultIndexDocumentSettings newDoc (DocId "2")-      _ <- refreshIndex testIndex-      let thisMonth = DateRangeFrom (DateMathExpr (DMDate now) [SubtractTime 1 DMMonth])-      let thisWeek = DateRangeFrom (DateMathExpr (DMDate now) [SubtractTime 1 DMWeek])-      let agg = DateRangeAggregation (FieldName "postDate") Nothing (thisMonth :| [thisWeek])-      let ags = mkAggregations "date_ranges" (DateRangeAgg agg)-      let search = mkAggregateSearch Nothing ags-      res <- searchTweets search-      liftIO $ hitsTotal . searchHits <$> res `shouldBe` Right 2-      let bucks = do magrs <- fmapL show (aggregations <$> res)-                     agrs <- note "no aggregations returned" magrs-                     rawBucks <- note "no date_ranges aggregation" $ M.lookup "date_ranges" agrs-                     parseEither parseJSON rawBucks-      let fromMonthT = UTCTime (fromGregorian 2015 2 14) 0-      let fromWeekT = UTCTime (fromGregorian 2015 3 7) 0-      liftIO $ buckets <$> bucks `shouldBe` Right [ DateRangeResult "2015-02-14T00:00:00.000Z-*"-                                                                    (Just fromMonthT)-                                                                    (Just "2015-02-14T00:00:00.000Z")-                                                                    Nothing-                                                                    Nothing-                                                                    2-                                                                    Nothing-                                                  , DateRangeResult "2015-03-07T00:00:00.000Z-*"-                                                                    (Just fromWeekT)-                                                                    (Just "2015-03-07T00:00:00.000Z")-                                                                    Nothing-                                                                    Nothing-                                                                    1-                                                                    Nothing-                                     ]--    it "returns date histogram aggregation results" $ withTestEnv $ do-      _ <- insertData-      let histogram = DateHistogramAgg $ mkDateHistogram (FieldName "postDate") Minute-      let search = mkAggregateSearch Nothing (mkAggregations "byDate" histogram)-      searchExpectAggs search-      searchValidBucketAgg search "byDate" toDateHistogram--    it "returns date histogram using fractional date" $ withTestEnv $ do-      _ <- insertData-      let periods            = [Year, Quarter, Month, Week, Day, Hour, Minute, Second]-      let fractionals        = map (FractionalInterval 1.5) [Weeks, Days, Hours, Minutes, Seconds]-      let intervals          = periods ++ fractionals-      let histogram          = mkDateHistogram (FieldName "postDate")-      let search interval    = mkAggregateSearch Nothing $ mkAggregations "byDate" $ DateHistogramAgg (histogram interval)-      let expect interval    = searchExpectAggs (search interval)-      let valid interval     = searchValidBucketAgg (search interval) "byDate" toDateHistogram-      forM_ intervals expect-      forM_ intervals valid--    it "can execute missing aggregations" $ withTestEnv $ do-      _ <- insertData-      _ <- insertExtra-      let ags = mkAggregations "missing_agg" (MissingAgg (MissingAggregation "extra"))-      let search = mkAggregateSearch Nothing ags-      let docCountPair k n = (k, object ["doc_count" .= Number n])-      res <- searchTweets search-      liftIO $-        fmap aggregations res `shouldBe` Right (Just (M.fromList [docCountPair "missing_agg" 1]))--  describe "Highlights API" $ do--    it "returns highlight from query when there should be one" $ withTestEnv $ do-      _ <- insertData-      _ <- insertOther-      let query = QueryMatchQuery $ mkMatchQuery (FieldName "_all") (QueryString "haskell")-      let testHighlight = Highlights Nothing [FieldHighlight (FieldName "message") Nothing]--      let search = mkHighlightSearch (Just query) testHighlight-      myHighlight <- searchTweetHighlight search-      liftIO $-        myHighlight `shouldBe` Right (Just (M.fromList [("message",["Use <em>haskell</em>!"])]))--    it "doesn't return highlight from a query when it shouldn't" $ withTestEnv $ do-      _ <- insertData-      _ <- insertOther-      let query = QueryMatchQuery $ mkMatchQuery (FieldName "_all") (QueryString "haskell")-      let testHighlight = Highlights Nothing [FieldHighlight (FieldName "user") Nothing]--      let search = mkHighlightSearch (Just query) testHighlight-      myHighlight <- searchTweetHighlight search-      liftIO $-        myHighlight `shouldBe` Right Nothing--  describe "Source filtering" $ do--    it "doesn't include source when sources are disabled" $ withTestEnv $ do-      searchExpectSource-        NoSource-        (Left (EsError 500 "Source was missing"))--    it "includes a source" $ withTestEnv $ do-      searchExpectSource-        (SourcePatterns (PopPattern (Pattern "message")))-        (Right (Object (HM.fromList [("message", String "Use haskell!")])))--    it "includes sources" $ withTestEnv $ do-      searchExpectSource-        (SourcePatterns (PopPatterns [Pattern "user", Pattern "message"]))-        (Right (Object (HM.fromList [("user",String "bitemyapp"),("message", String "Use haskell!")])))--    it "includes source patterns" $ withTestEnv $ do-      searchExpectSource-        (SourcePatterns (PopPattern (Pattern "*ge")))-        (Right (Object (HM.fromList [("age", Number 10000),("message", String "Use haskell!")])))--    it "excludes source patterns" $ withTestEnv $ do-      searchExpectSource-        (SourceIncludeExclude (Include [])-        (Exclude [Pattern "l*", Pattern "*ge", Pattern "postDate", Pattern "extra"]))-        (Right (Object (HM.fromList [("user",String "bitemyapp")])))--  describe "ToJSON RegexpFlags" $ do-    it "generates the correct JSON for AllRegexpFlags" $-      toJSON AllRegexpFlags `shouldBe` String "ALL"--    it "generates the correct JSON for NoRegexpFlags" $-      toJSON NoRegexpFlags `shouldBe` String "NONE"--    it "generates the correct JSON for SomeRegexpFlags" $-      let flags = AnyString :| [ Automaton-                               , Complement-                               , Empty-                               , Intersection-                               , Interval ]-      in toJSON (SomeRegexpFlags flags) `shouldBe` String "ANYSTRING|AUTOMATON|COMPLEMENT|EMPTY|INTERSECTION|INTERVAL"--    prop "removes duplicates from flags" $ \(flags :: RegexpFlags) ->-      let String str = toJSON flags-          flagStrs   = T.splitOn "|" str-      in noDuplicates flagStrs--  describe "omitNulls" $ do-    it "checks that omitNulls drops list elements when it should" $-       let dropped = omitNulls $ [ "test1" .= (toJSON ([] :: [Int]))-                                 , "test2" .= (toJSON ("some value" :: Text))]-       in dropped `shouldBe` Object (HM.fromList [("test2", String "some value")])--    it "checks that omitNulls doesn't drop list elements when it shouldn't" $-       let notDropped = omitNulls $ [ "test1" .= (toJSON ([1] :: [Int]))-                                    , "test2" .= (toJSON ("some value" :: Text))]-       in notDropped `shouldBe` Object (HM.fromList [ ("test1", Array (V.fromList [Number 1.0]))-                                                 , ("test2", String "some value")])-    it "checks that omitNulls drops non list elements when it should" $-       let dropped = omitNulls $ [ "test1" .= (toJSON Null)-                                 , "test2" .= (toJSON ("some value" :: Text))]-       in dropped `shouldBe` Object (HM.fromList [("test2", String "some value")])-    it "checks that omitNulls doesn't drop non list elements when it shouldn't" $-       let notDropped = omitNulls $ [ "test1" .= (toJSON (1 :: Int))-                                    , "test2" .= (toJSON ("some value" :: Text))]-       in notDropped `shouldBe` Object (HM.fromList [ ("test1", Number 1.0)-                                                   , ("test2", String "some value")])-  describe "Monoid (SearchHits a)" $ do-    prop "abides the monoid laws" $ eq $-      prop_Monoid (T :: T (SearchHits ()))--  describe "mkDocVersion" $ do-    prop "can never construct an out of range docVersion" $ \i ->-      let res = mkDocVersion i-      in case res of-        Nothing -> property True-        Just dv -> (dv >= minBound) .&&.-                   (dv <= maxBound) .&&.-                   docVersionNumber dv === i--  describe "FsSnapshotRepo" $ do-    prop "SnapshotRepo laws" $ \fsr ->-      fromGSnapshotRepo (toGSnapshotRepo fsr) === Right (fsr :: FsSnapshotRepo)--  describe "snapshot repos" $ do-    it "always parses all snapshot repos API" $ when' canSnapshot $ withTestEnv $ do-      res <- getSnapshotRepos AllSnapshotRepos-      liftIO $ case res of-        Left e -> expectationFailure ("Expected a right but got Left " <> show e)-        Right _ -> return ()--    it "finds an existing list of repos" $ when' canSnapshot $ withTestEnv $ do-      let r1n = SnapshotRepoName "bloodhound-repo1"-      let r2n = SnapshotRepoName "bloodhound-repo2"-      withSnapshotRepo r1n $ \r1 ->-        withSnapshotRepo r2n $ \r2 -> do-          repos <- getSnapshotRepos (SnapshotRepoList (ExactRepo r1n :| [ExactRepo r2n]))-          liftIO $ case repos of-            Right xs -> do-              let srt = L.sortBy (comparing gSnapshotRepoName)-              srt xs `shouldBe` srt [r1, r2]-            Left e -> expectationFailure (show e)--    it "creates and updates with updateSnapshotRepo" $ when' canSnapshot $ withTestEnv $ do-      let r1n = SnapshotRepoName "bloodhound-repo1"-      withSnapshotRepo r1n $ \r1 -> do-        let Just (String dir) = HM.lookup "location" (gSnapshotRepoSettingsObject (gSnapshotRepoSettings r1))-        let noCompression = FsSnapshotRepo r1n (T.unpack dir) False Nothing Nothing Nothing-        resp <- updateSnapshotRepo defaultSnapshotRepoUpdateSettings noCompression-        liftIO (validateStatus resp 200)-        Right [roundtrippedNoCompression] <- getSnapshotRepos (SnapshotRepoList (ExactRepo r1n :| []))-        liftIO (roundtrippedNoCompression `shouldBe` toGSnapshotRepo noCompression)--    -- verify came around in 1.4 it seems-    it "can verify existing repos" $ when' canSnapshot $ when' (atleast es14) $ withTestEnv $ do-      let r1n = SnapshotRepoName "bloodhound-repo1"-      withSnapshotRepo r1n $ \_ -> do-        res <- verifySnapshotRepo r1n-        liftIO $ case res of-          Right (SnapshotVerification vs)-            | null vs -> expectationFailure "Expected nonempty set of verifying nodes"-            | otherwise -> return ()-          Left e -> expectationFailure (show e)--  describe "snapshots" $ do-    it "always parses all snapshots API" $ when' canSnapshot $ withTestEnv $ do-      let r1n = SnapshotRepoName "bloodhound-repo1"-      withSnapshotRepo r1n $ \_ -> do-        res <- getSnapshots r1n AllSnapshots-        liftIO $ case res of-          Left e -> expectationFailure ("Expected a right but got Left " <> show e)-          Right _ -> return ()--    it "can parse a snapshot that it created" $ when' canSnapshot $ withTestEnv $ do-      let r1n = SnapshotRepoName "bloodhound-repo1"-      withSnapshotRepo r1n $ \_ -> do-        let s1n = SnapshotName "example-snapshot"-        withSnapshot r1n s1n $ do-          res <- getSnapshots r1n (SnapshotList (ExactSnap s1n :| []))-          liftIO $ case res of-            Right [snap]-              | snapInfoState snap == SnapshotSuccess &&-                snapInfoName snap == s1n -> return ()-              | otherwise -> expectationFailure (show snap)-            Right [] -> expectationFailure "There were no snapshots"-            Right snaps -> expectationFailure ("Expected 1 snapshot but got" <> show (length snaps))-            Left e -> expectationFailure (show e)--  describe "snapshot restore" $ do-    it "can restore a snapshot that we create" $ when' canSnapshot $ withTestEnv $ do-      let r1n = SnapshotRepoName "bloodhound-repo1"-      withSnapshotRepo r1n $ \_ -> do-        let s1n = SnapshotName "example-snapshot"-        withSnapshot r1n s1n $ do-          let settings = defaultSnapshotRestoreSettings { snapRestoreWaitForCompletion = True }-          -- have to close an index to restore it-          resp1 <- closeIndex testIndex-          liftIO (validateStatus resp1 200)-          resp2 <- restoreSnapshot r1n s1n settings-          liftIO (validateStatus resp2 200)--    it "can restore and rename" $ when' canSnapshot $ withTestEnv $ do-      let r1n = SnapshotRepoName "bloodhound-repo1"-      withSnapshotRepo r1n $ \_ -> do-        let s1n = SnapshotName "example-snapshot"-        withSnapshot r1n s1n $ do-          let pat = RestoreRenamePattern "bloodhound-tests-twitter-(\\d+)"-          let replace = RRTLit "restored-" :| [RRSubWholeMatch]-          let expectedIndex = IndexName "restored-bloodhound-tests-twitter-1"-          oldEnoughForOverrides <- liftIO (atleast es15)-          let overrides = RestoreIndexSettings { restoreOverrideReplicas = Just (ReplicaCount 0) }-          let settings = defaultSnapshotRestoreSettings { snapRestoreWaitForCompletion = True-                                                        , snapRestoreRenamePattern = Just pat-                                                        , snapRestoreRenameReplacement = Just replace-                                                        , snapRestoreIndexSettingsOverrides = if oldEnoughForOverrides-                                                                                              then Just overrides-                                                                                              else Nothing-                                                        }-          -- have to close an index to restore it-          let go = do-                resp <- restoreSnapshot r1n s1n settings-                liftIO (validateStatus resp 200)-                exists <- indexExists expectedIndex-                liftIO (exists `shouldBe` True)-          go `finally` deleteIndex expectedIndex--  describe "getNodesInfo" $ do-     it "fetches the responding node when LocalNode is used" $ withTestEnv $ do-       res <- getNodesInfo LocalNode-       liftIO $ case res of-         -- This is really just a smoke test for response-         -- parsing. Node info is so variable, there's not much I can-         -- assert here.-         Right NodesInfo {..} -> length nodesInfo `shouldBe` 1-         Left e -> expectationFailure ("Expected NodesInfo but got " <> show e)--  describe "getNodesStats" $ do-     it "fetches the responding node when LocalNode is used" $ withTestEnv $ do-       res <- getNodesStats LocalNode-       liftIO $ case res of-         -- This is really just a smoke test for response-         -- parsing. Node stats is so variable, there's not much I can-         -- assert here.-         Right NodesStats {..} -> length nodesStats `shouldBe` 1-         Left e -> expectationFailure ("Expected NodesStats but got " <> show e)--  describe "Enum DocVersion" $ do-    it "follows the laws of Enum, Bounded" $ do-      evaluate (succ maxBound :: DocVersion) `shouldThrow` anyErrorCall-      evaluate (pred minBound :: DocVersion) `shouldThrow` anyErrorCall-      evaluate (toEnum 0 :: DocVersion) `shouldThrow` anyErrorCall-      evaluate (toEnum 9200000000000000001 :: DocVersion) `shouldThrow` anyErrorCall-      enumFrom (pred maxBound :: DocVersion) `shouldBe` [pred maxBound, maxBound]-      enumFrom (pred maxBound :: DocVersion) `shouldBe` [pred maxBound, maxBound]-      enumFromThen minBound (pred maxBound :: DocVersion) `shouldBe` [minBound, pred maxBound]--  describe "scan&scroll API" $ do-    it "returns documents using the scan&scroll API" $ withTestEnv $ do-      _ <- insertData-      _ <- insertOther-      let search = (mkSearch (Just $ MatchAllQuery Nothing) Nothing) { size = (Size 1) }-      regular_search <- searchTweet search-      scan_search' <- scanSearch testIndex testMapping search :: BH IO [Hit Tweet]-      let scan_search = map hitSource scan_search'-      liftIO $-        regular_search `shouldBe` Right exampleTweet -- Check that the size restrtiction is being honored-      liftIO $-        scan_search `shouldMatchList` [Just exampleTweet, Just otherTweet]--  describe "index aliases" $ do-    it "handles the simple case of aliasing an existing index" $ do-      let alias = IndexAlias (testIndex) (IndexAliasName (IndexName "bloodhound-tests-twitter-1-alias"))-      let create = IndexAliasCreate Nothing Nothing-      let action = AddAlias alias create--      withTestEnv $ do-        resetIndex-        resp <- updateIndexAliases (action :| [])-        liftIO $ validateStatus resp 200-      let cleanup = withTestEnv (updateIndexAliases (RemoveAlias alias :| []))-      (do aliases <- withTestEnv getIndexAliases-          let expected = IndexAliasSummary alias create-          case aliases of-            Right (IndexAliasesSummary summs) ->-              L.find ((== alias) . indexAliasSummaryAlias) summs `shouldBe` Just expected-            Left e -> expectationFailure ("Expected an IndexAliasesSummary but got " <> show e)) `finally` cleanup--    it "handles an alias with routing and a filter" $ do-      let alias = IndexAlias (testIndex) (IndexAliasName (IndexName "bloodhound-tests-twitter-1-alias"))-      let sar = SearchAliasRouting (RoutingValue "search val" :| [])-      let iar = IndexAliasRouting (RoutingValue "index val")-      let routing = GranularAliasRouting (Just sar) (Just iar)-      let filter = LimitFilter 42-      let create = IndexAliasCreate (Just routing) (Just filter)-      let action = AddAlias alias create--      withTestEnv $ do-        resetIndex-        resp <- updateIndexAliases (action :| [])-        liftIO $ validateStatus resp 200-      let cleanup = withTestEnv (updateIndexAliases (RemoveAlias alias :| []))-      (do aliases <- withTestEnv getIndexAliases-          let expected = IndexAliasSummary alias create-          case aliases of-            Right (IndexAliasesSummary summs) ->-              L.find ((== alias) . indexAliasSummaryAlias) summs `shouldBe` Just expected-            Left e -> expectationFailure ("Expected an IndexAliasesSummary but got " <> show e)) `finally` cleanup--  describe "Index Listing" $ do-    it "returns a list of index names" $ withTestEnv $ do-      _ <- createExampleIndex-      ixns <- listIndices-      liftIO (ixns `shouldContain` [testIndex])--  describe "Index Settings" $ do-    it "persists settings" $ withTestEnv $ do-      _ <- deleteExampleIndex-      _ <- createExampleIndex-      let updates = BlocksWrite False :| []-      updateResp <- updateIndexSettings updates testIndex-      liftIO $ validateStatus updateResp 200-      getResp <- getIndexSettings testIndex-      liftIO $-        getResp `shouldBe` Right (IndexSettingsSummary-                                    testIndex-                                    (IndexSettings (ShardCount 1) (ReplicaCount 0))-                                    (NE.toList updates))--  describe "Index Optimization" $ do-    it "returns a successful response upon completion" $ withTestEnv $ do-      _ <- createExampleIndex-      resp <- optimizeIndex (IndexList (testIndex :| [])) defaultIndexOptimizationSettings-      liftIO $ validateStatus resp 200--  describe "JSON instances" $ do-    propJSON (Proxy :: Proxy Version)-    propJSON (Proxy :: Proxy IndexName)-    propJSON (Proxy :: Proxy MappingName)-    propJSON (Proxy :: Proxy DocId)-    propJSON (Proxy :: Proxy IndexAliasRouting)-    propJSON (Proxy :: Proxy RoutingValue)-    propJSON (Proxy :: Proxy ShardCount)-    propJSON (Proxy :: Proxy ReplicaCount)-    propJSON (Proxy :: Proxy TemplateName)-    propJSON (Proxy :: Proxy TemplatePattern)-    propJSON (Proxy :: Proxy QueryString)-    propJSON (Proxy :: Proxy FieldName)-    propJSON (Proxy :: Proxy CacheName)-    propJSON (Proxy :: Proxy CacheKey)-    propJSON (Proxy :: Proxy Existence)-    propJSON (Proxy :: Proxy CutoffFrequency)-    propJSON (Proxy :: Proxy Analyzer)-    propJSON (Proxy :: Proxy MaxExpansions)-    propJSON (Proxy :: Proxy Lenient)-    propJSON (Proxy :: Proxy Tiebreaker)-    propJSON (Proxy :: Proxy Boost)-    propJSON (Proxy :: Proxy BoostTerms)-    propJSON (Proxy :: Proxy MinimumMatch)-    propJSON (Proxy :: Proxy DisableCoord)-    propJSON (Proxy :: Proxy IgnoreTermFrequency)-    propJSON (Proxy :: Proxy MinimumTermFrequency)-    propJSON (Proxy :: Proxy MaxQueryTerms)-    propJSON (Proxy :: Proxy Fuzziness)-    propJSON (Proxy :: Proxy PrefixLength)-    propJSON (Proxy :: Proxy TypeName)-    propJSON (Proxy :: Proxy PercentMatch)-    propJSON (Proxy :: Proxy StopWord)-    propJSON (Proxy :: Proxy QueryPath)-    propJSON (Proxy :: Proxy AllowLeadingWildcard)-    propJSON (Proxy :: Proxy LowercaseExpanded)-    propJSON (Proxy :: Proxy EnablePositionIncrements)-    propJSON (Proxy :: Proxy AnalyzeWildcard)-    propJSON (Proxy :: Proxy GeneratePhraseQueries)-    propJSON (Proxy :: Proxy Locale)-    propJSON (Proxy :: Proxy MaxWordLength)-    propJSON (Proxy :: Proxy MinWordLength)-    propJSON (Proxy :: Proxy PhraseSlop)-    propJSON (Proxy :: Proxy MinDocFrequency)-    propJSON (Proxy :: Proxy MaxDocFrequency)-    propJSON (Proxy :: Proxy Filter)-    propJSON (Proxy :: Proxy Query)-    propJSON (Proxy :: Proxy SimpleQueryStringQuery)-    propJSON (Proxy :: Proxy FieldOrFields)-    propJSON (Proxy :: Proxy SimpleQueryFlag)-    propJSON (Proxy :: Proxy RegexpQuery)-    propJSON (Proxy :: Proxy QueryStringQuery)-    propJSON (Proxy :: Proxy RangeQuery)-    propJSON (Proxy :: Proxy PrefixQuery)-    propJSON (Proxy :: Proxy NestedQuery)-    propJSON (Proxy :: Proxy MoreLikeThisFieldQuery)-    propJSON (Proxy :: Proxy MoreLikeThisQuery)-    propJSON (Proxy :: Proxy IndicesQuery)-    propJSON (Proxy :: Proxy HasParentQuery)-    propJSON (Proxy :: Proxy HasChildQuery)-    propJSON (Proxy :: Proxy FuzzyQuery)-    propJSON (Proxy :: Proxy FuzzyLikeFieldQuery)-    propJSON (Proxy :: Proxy FuzzyLikeThisQuery)-    propJSON (Proxy :: Proxy FilteredQuery)-    propJSON (Proxy :: Proxy DisMaxQuery)-    propJSON (Proxy :: Proxy CommonTermsQuery)-    propJSON (Proxy :: Proxy CommonMinimumMatch)-    propJSON (Proxy :: Proxy BoostingQuery)-    propJSON (Proxy :: Proxy BoolQuery)-    propJSON (Proxy :: Proxy MatchQuery)-    propJSON (Proxy :: Proxy MultiMatchQueryType)-    propJSON (Proxy :: Proxy BooleanOperator)-    propJSON (Proxy :: Proxy ZeroTermsQuery)-    propJSON (Proxy :: Proxy MatchQueryType)-    propJSON (Proxy :: Proxy AliasRouting)-    propJSON (Proxy :: Proxy IndexAliasCreate)-    propJSON (Proxy :: Proxy SearchAliasRouting)-    propJSON (Proxy :: Proxy ScoreType)-    propJSON (Proxy :: Proxy Distance)-    propJSON (Proxy :: Proxy DistanceUnit)-    propJSON (Proxy :: Proxy DistanceType)-    propJSON (Proxy :: Proxy OptimizeBbox)-    propJSON (Proxy :: Proxy GeoBoundingBoxConstraint)-    propJSON (Proxy :: Proxy GeoFilterType)-    propJSON (Proxy :: Proxy GeoBoundingBox)-    propJSON (Proxy :: Proxy LatLon)-    propJSON (Proxy :: Proxy RangeExecution)-    prop "RegexpFlags FromJSON/ToJSON roundtrips, removing dups " $ \rfs ->-      let expected = case rfs of-                       SomeRegexpFlags fs -> SomeRegexpFlags (NE.fromList (nub (NE.toList fs)))-                       x -> x-      in parseEither parseJSON (toJSON rfs) === Right expected-    propJSON (Proxy :: Proxy BoolMatch)-    propJSON (Proxy :: Proxy Term)-    propJSON (Proxy :: Proxy MultiMatchQuery)-    propJSON (Proxy :: Proxy IndexSettings)-    propJSON (Proxy :: Proxy UpdatableIndexSetting')-    propJSON (Proxy :: Proxy ReplicaBounds)-    propJSON (Proxy :: Proxy Bytes)-    propJSON (Proxy :: Proxy AllocationPolicy)-    propJSON (Proxy :: Proxy InitialShardCount)-    propJSON (Proxy :: Proxy FSType)-    propJSON (Proxy :: Proxy CompoundFormat)---- Temporary solution for lacking of generic derivation of Arbitrary--- We use generics-sop, as it's much more concise than directly using GHC.Generics------ This will be unneeded after https://github.com/nick8325/quickcheck/pull/112--- is merged and released-sopArbitrary :: forall a. (Generic a, SOP.GTo a, SOP.All SOP.SListI (SOP.GCode a), SOP.All2 Arbitrary (SOP.GCode a)) => Gen a-sopArbitrary = fmap SOP.gto sopArbitrary'--sopArbitrary' :: forall xss. (SOP.All SOP.SListI xss, SOP.All2 Arbitrary xss) => Gen (SOP.SOP SOP.I xss)-sopArbitrary' = SOP.hsequence =<< elements (SOP.apInjs_POP $ SOP.hcpure p arbitrary)-  where-    p :: Proxy Arbitrary-    p = Proxy