<commit_before>homepage: https://github.com/bitemyapp/bloodhound
changelog-type: markdown
hash: c9faf820afc51fd49ea9375d2cb067203f85fec3daa6ace63ddc4a6bbda910e8
test-bench-deps:
  http-client: -any
  exceptions: -any
  bytestring: -any
  base: -any
  time: -any
  unordered-containers: ! '>=0.2.5.0 && <0.3'
  hspec: ! '>=1.8'
  text: -any
  unix-compat: -any
  semigroups: -any
  containers: -any
  quickcheck-properties: -any
  bloodhound: -any
  network-uri: -any
  mtl: -any
  temporary: -any
  errors: -any
  generics-sop: ! '>=0.2 && <0.4'
  QuickCheck: -any
  http-types: -any
  aeson: -any
  vector: -any
maintainer: <EMAIL>
synopsis: ElasticSearch client library for Haskell
changelog: ! "0.15.0.0\n===================\n\n- @jagare\n  - #204 Fix bug where Location
  was used instad of LatLon\n  - #207 Add instructions on how to run example code\n\n-
  @andrewthad\n  - #200 Add function for deleting alias\n  - #201 Add BulkCreateEncoding,
  which allows use of aeson's Encoding for faster bulk creates\n  - #203 Add support
  for total fields limit\n\n- @chrissound\n  - #196 Add missing import to example\n\n-
  @tmcgilchrist\n  - #186 Fix warnings and drop redundant constraints\n\n- @23Skidoo\n
  \ - #183 Bump dependencies to support GHC 8.2\n\n- @bermanjosh\n  - #182 Support
  for Suggesters and Template Queries\n\n- @dawei-dev\n  - #181 Fix typo\n\n\n0.14.0.0\n===================\n\n-
  @bitemyapp\n  - Aeson 1.2\n\n- @shmish111\n  - #177 Added stats aggregation\n\n-
  @justinwhite\n  - #176 Fixed typo\n\n- @WraithM\n  - #175 Sorted version of getInitialScroll
  for V5 client\n\n0.13.0.0\n===================\n\n- @michaelxavier\n  - #174 doctests
  are bad\n  - #171 Added Semigroup instances\n  - #165 Aeson 1.1\n\n- @bermanjosh\n
  \ - #168 Sub-aggregation support\n  - #167 Limit QuickCheck to 500 checks\n\n0.12.1.0\n===================\n*
  @michaelxavier\n  - #162 Allow Aeson 1.1\n* @bermanjosh\n  - #159 Fix bug with tie
  breaker json instance for MultiMatchQuery\n\n0.12.0.0\n===================\nThis
  release contains several new APIs, documentation fixes, and some minor type updates,
  and steps towards ES 2.0 support. Thanks to all of our contributors!\n\n* @bermanjosh\n
  \ - #139 Make `nodeOSLoad` record a `Maybe` for Windows compatibility\n  - #138
  Change the `nodePluginVersion` record to deal with plugins which report `NA` as
  their version.\n* @phadej\n  - #155 Shed `derive` dependency in test.\n  - #154
  Switch to `Simple` build type.\n  - #153 Loosen deps on aeson, hspec.\n* @andrewthad\n
  \ - #151 Add `waitForYellowIndex`\n* @michaelxavier\n  - #150 Fix some failing QuickCheck
  tests.\n  - #147 Drop dependency on deprecated doctest-prop.\n  - #137 Add node
  stats API.\n  - #128 Add nodes API.\n  - #127 Add haddock sections to break up API.\n
  \ - #126 Add snapshot/restore API.\n  - #125 Set lower bound for http-client\n  -
  #123 Allow replica count of 0 in smart constructor.\n* @23Skidoo\n  - #143 Fix an
  example.\n  - #142 Docs cleanup.\n* @alistair\n  - #135 Changes date formatting
  to have leading zeroes to bring us closer to ES 2.0 support.\n  - #133 Fix parent
  child tests for ES 2.0.\n  - #132 Parse status API from ES 2.0.\n  - #131 Add cardinality
  aggregations.\n* @dinnu93\n  - #130 Add OverloadedStrings to first example.\n* @MaxGabriel\n
  \ - #117 Fix haddocks italicizing forward slashes.\n\n0.11.1.0\n===================\n*
  @bitemyapp\n  - Add http-client-0.5.0 support\n\n0.11.0.0\n===================\n\nThanks
  to the following people, Bloodhound 0.10.0.0 is being released! This one gets a
  bit messy due to the Aeson 0.11 changeover, but this should be good to go now. Note
  that Aeson 0.11 returned to Aeson 0.9's behavior and semantics.\n\n* @MichaelXavier\n
  \ - #112 List indices support\n  - #94 Implement index optimization\n  - #91 Make
  `respIsTwoHunna` more semantic\n    - More detail: This is actually the cause of
  a bug in real code. If you happen to be\n      using parseEsResponse (which uses
  respIsTwoHunna) to parse the result of\n      certain operations such as creating
  an index, those operations return a\n      201 and unjustly are deemed to be a failure.\n
  \ - Cleaned up errant Haskell tokens in README\n  - #84 Added request auth hooks\n\n*
  @dzhus / @MailOnline\n  - #85 Add updateDocument\n\n* @ReadmeCritic\n  - #108 Update
  README URLs based on HTTP redirects\n\n* @MHova\n  - #105 Add helper data types
  and functions for Missing Aggregations\n  - Removed unused server versions from
  the tests\n  - Updated readme to reflect actual ES versions supported and tested\n
  \ - Added support for parsing results of Missing Aggregations\n  - #104 Export BucketValue\n
  \ - #102 Add local testing instructions to the README\n  - #89 Support Bool and
  Numeric keys in TermsResults\n  - Added Missing Aggregation support\n  - #98 Improve
  EsProtocolException documentation for human error\n  - Updated README to warn about
  2.0 compatibility\n  - Fix docs specifying an incorrect terminating condition\n\n*
  @bitemyapp\n  - Merge monkey, puzzled over spurious local doctest failures\n\n0.10.0.0\n===================\n\nThanks
  to the following people, Bloodhound 0.10.0.0 is being released! This one gets a
  bit messy due to the Aeson 0.10 upgrade, so you may want to wait for the dust to
  settle. YMMV.\n\n* @MichaelXavier\n  - #77: Add test for error parsing\n  - #76/#78:
  Support for updating (modifying) index settings\n  - #79/#80: Index aliases\n  -
  #81: Low-level scroll API support\n  - #82: Date range aggregation\n\n* @bitemyapp\n
  \ - Fucked around with dependencies and broke things in order to upgrade to Aeson
  0.10\n  - Please forgive me.\n\n0.9.0.0\n===================\n\nThanks to the following
  people, Bloodhound 0.9.0.0 is being released!\n\n* @MichaelXavier\n  - #75: A more
  explicit type for errors\n  - #74: Add readme and changelog to extra source files\n\n*
  @MaxDaten\n  - #38/#73 Provide safety by using URL-encoding\n\n* @centromere\n  -
  #72 Added parent support to documentExists\n\n\n0.8.0.0\n===================\n\nThanks
  to the following people, Bloodhound 0.8.0.0 is being released!\n\n* @MichaelXavier\n
  \ - #67: Deriving Monad(Throw|Catch|Mask)\n  - #64: Export BH constructor\n  - #61:
  Filter aggregation support\n  - #60: Add value_count aggregation support\n  - #58:
  Eliminate partiality in EsResult\n\n* @centromere\n  - #59: Fixed bug with IndexSettings
  serialization\n  - #56: Added fields support to Search\n  - #55: Added ability to
  specify a parent document\n  - #54: Fixed IndexTemplate serialization bug\n  - #52:
  Added ability to manipulate templates\n  - #51: Fixed mapping API\n  - #50: Fixed
  problem with put sending POST\n\n* @bermanjosh\n  - #63: Url query encoding bug\n
  \ - #53: Scan type\n\n* @sjakobi\n  - #69: Replace Control.Monad.Error with CM.Except
  via mtl-compat\n  - #70: Silence redundant import warning with base-4.8.*\n  - #71:
  Use \"newManager\" instead of deprecated \"withManager\"\n\n0.7.0.0\n===================\n\n*
  Added QueryFilter thanks to <NAME>!\n\n* Support for optimistic concurrency
  control thanks again to @MichaelXavier!\n\n0.6.0.1\n===================\n\n* Allow
  Aeson 0.9\n\n0.6.0.0\n===================\n\n* Moved to BHMonad, thanks to @MichaelXavier!
  Now there's a reader of config information and IO is lifted.\n\n* SearchHits have
  a Monoid now, makes combining search results nicer, allows for defaulting when a
  search cannot be performed.\n\n0.5.0.0\n===================\n\n* Fixed and changed
  TermsQuery (This caused the major bump)\n\n* Removed benchmarks from travis.yml\n\n*
  Added doctests, examples for Database.Bloodhound.Client. Haddocks should be much
  nicer.\n\n* Various fixes, reformatting\n\n0.4.0.0\n===================\n\n* Term
  and date aggregation - thanks to <NAME>! (@chrisguiney)\n\nFollowing
  three thanks to <NAME> (@latkins)\n\n* omitNulls changed to exclude empty lists
  and null values\n\n* BoolQuery must/mustNot/Should changed from Maybe (Query|[Query])
  to [Query] thanks to @latkins\n\n* Added vector dependency so we can check for V.null/V.empty
  on JSON arrays\n\n* Highlighting, thanks to @latkins! See http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-highlighting.html
  and http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/highlighting-intro.html
  for more\n\n* Added 1.4.0 support and CI integration\n\n* Can generate individual
  bulk operations, https://github.com/bitemyapp/bloodhound/issues/17, bulk requests
  should be more efficient now too - Vector instead of List.\n\n0.3.0.0\n===================\n\n*
  Status \"ok\" changed from Bool to Maybe Bool thanks to @borisyukd\n\n* Elasticsearch
  1.3.x compatibility fixed with changes to geo bounding boxes - thanks to Curtis
  Carter! (@ccarter)\n\n* CI coverage expanded to 1.0.x -> 1.3.x\n\n0.2.0.1\n===================\n\n*
  Killed off maybeJson/mField/catMaybes in favor of omitNulls\n\n* Experimenting with
  RecordWildcards\n\n* Merged Types and Instances module into Types to prevent possibility
  of orphans and cull orphan instance warnings.\n\n* Added note about current supported
  Elasticsearch version.\n\n0.2.0.0\n===================\n\n* Added TermFilter\n\n*
  Renamed createMapping to putMapping\n\n* Fixed and rebuilt documentation\n\n* RegexpFlags
  changed to a sum type instead of Text, thanks to @MichaelXavier!\n"
basic-deps:
  http-client: ! '>=0.4.30 && <0.6'
  mtl-compat: -any
  exceptions: -any
  bytestring: ! '>=0.10.0 && <0.11'
  base: ! '>=4.3 && <5'
  data-default-class: -any
  time: ! '>=1.4 && <1.9'
  unordered-containers: -any
  text: ! '>=0.11 && <1.3'
  semigroups: ! '>=0.15 && <0.19'
  containers: ! '>=0.5.0.0 && <0.6'
  blaze-builder: -any
  network-uri: ! '>=2.6 && <2.7'
  mtl: ! '>=1.0 && <2.3'
  hashable: -any
  transformers: ! '>=0.2 && <0.6'
  scientific: ! '>=0.3.0.0 && <0.4.0.0'
  http-types: ! '>=0.8 && <0.10'
  aeson: ! '>=0.11.1 && <1.3'
  vector: ! '>=0.10.9 && <0.13'
all-versions:
- '0.4.0.0'
- '0.4.0.1'
- '0.4.0.2'
- '0.5.0.0'
- '0.5.0.1'
- '0.6.0.0'
- '0.6.0.1'
- '0.7.0.0'
- '0.7.0.1'
- '0.8.0.0'
- '0.9.0.0'
- '0.10.0.0'
- '0.11.0.0'
- '0.11.1.0'
- '0.12.0.0'
- '0.12.1.0'
- '0.13.0.0'
- '0.14.0.0'
- '0.15.0.0'
author: <NAME>
latest: '0.15.0.0'
description-type: markdown
description: ! "Bloodhound [![TravisCI](https://travis-ci.org/bitemyapp/bloodhound.svg)](https://travis-ci.org/bitemyapp/bloodhound)
  [![Hackage](https://img.shields.io/hackage/v/bloodhound.svg?style=flat)](https://hackage.haskell.org/package/bloodhound)\n==========\n\n![Bloodhound
  (dog)](./bloodhound.jpg)\n\nElasticsearch client and query DSL for Haskell\n==============================================\n\nWhy?\n----\n\nSearch
  doesn't have to be hard. Let the dog do it.\n\nEndorsements\n------------\n\n\"Bloodhound
  makes Elasticsearch almost tolerable!\" - Almost-gruntled user\n\n\"ES is a nightmare
  but Bloodhound at least makes it tolerable.\" - Same user, later opinion.\n\nVersion
  compatibility\n---------------------\n\nAs of version 0.13.0.0, Bloodhound has 2
  separate module trees for\nElasticSearch versions 1 and 5. Import the module that
  is appropriate\nfor your use case. If you would like to add support for another
  major\nversion, open a ticket expressing your intend and follow the pattern\nused
  for other versions. We weighed the idea of sharing code between\nversions but it
  just got too messy, especially considering the\ninstability of the ElasticSearch
  API. We switched to a model which\nwould allow the persons responsible for a particular<commit_msg>Update from Hackage at 2018-01-25T18:49:33Z<commit_after>homepage: https://github.com/bitemyapp/bloodhound
changelog-type: markdown
hash: a31e6f77228af5b5db8bebff9311e4701c442eda576fb029f510e875e6e18576
test-bench-deps:
  http-client: -any
  exceptions: -any
  bytestring: -any
  base: -any
  time: -any
  unordered-containers: ! '>=0.2.5.0 && <0.3'
  hspec: ! '>=1.8'
  text: -any
  unix-compat: -any
  semigroups: -any
  containers: -any
  quickcheck-properties: -any
  bloodhound: -any
  network-uri: -any
  mtl: -any
  temporary: -any
  errors: -any
  generics-sop: ! '>=0.2 && <0.4'
  QuickCheck: -any
  http-types: -any
  aeson: -any
  vector: -any
maintainer: <EMAIL>
synopsis: ElasticSearch client library for Haskell
changelog: ! "0.15.0.0\n===================\n\n- @jagare\n  - #204 Fix bug where Location
  was used instad of LatLon\n  - #207 Add instructions on how to run example code\n\n-
  @andrewthad\n  - #200 Add function for deleting alias\n  - #201 Add BulkCreateEncoding,
  which allows use of aeson's Encoding for faster bulk creates\n  - #203 Add support
  for total fields limit\n\n- @chrissound\n  - #196 Add missing import to example\n\n-
  @tmcgilchrist\n  - #186 Fix warnings and drop redundant constraints\n\n- @23Skidoo\n
  \ - #183 Bump dependencies to support GHC 8.2\n\n- @bermanjosh\n  - #182 Support
  for Suggesters and Template Queries\n\n- @dawei-dev\n  - #181 Fix typo\n\n\n0.14.0.0\n===================\n\n-
  @bitemyapp\n  - Aeson 1.2\n\n- @shmish111\n  - #177 Added stats aggregation\n\n-
  @justinwhite\n  - #176 Fixed typo\n\n- @WraithM\n  - #175 Sorted version of getInitialScroll
  for V5 client\n\n0.13.0.0\n===================\n\n- @michaelxavier\n  - #174 doctests
  are bad\n  - #171 Added Semigroup instances\n  - #165 Aeson 1.1\n\n- @bermanjosh\n
  \ - #168 Sub-aggregation support\n  - #167 Limit QuickCheck to 500 checks\n\n0.12.1.0\n===================\n*
  @michaelxavier\n  - #162 Allow Aeson 1.1\n* @bermanjosh\n  - #159 Fix bug with tie
  breaker json instance for MultiMatchQuery\n\n0.12.0.0\n===================\nThis
  release contains several new APIs, documentation fixes, and some minor type updates,
  and steps towards ES 2.0 support. Thanks to all of our contributors!\n\n* @bermanjosh\n
  \ - #139 Make `nodeOSLoad` record a `Maybe` for Windows compatibility\n  - #138
  Change the `nodePluginVersion` record to deal with plugins which report `NA` as
  their version.\n* @phadej\n  - #155 Shed `derive` dependency in test.\n  - #154
  Switch to `Simple` build type.\n  - #153 Loosen deps on aeson, hspec.\n* @andrewthad\n
  \ - #151 Add `waitForYellowIndex`\n* @michaelxavier\n  - #150 Fix some failing QuickCheck
  tests.\n  - #147 Drop dependency on deprecated doctest-prop.\n  - #137 Add node
  stats API.\n  - #128 Add nodes API.\n  - #127 Add haddock sections to break up API.\n
  \ - #126 Add snapshot/restore API.\n  - #125 Set lower bound for http-client\n  -
  #123 Allow replica count of 0 in smart constructor.\n* @23Skidoo\n  - #143 Fix an
  example.\n  - #142 Docs cleanup.\n* @alistair\n  - #135 Changes date formatting
  to have leading zeroes to bring us closer to ES 2.0 support.\n  - #133 Fix parent
  child tests for ES 2.0.\n  - #132 Parse status API from ES 2.0.\n  - #131 Add cardinality
  aggregations.\n* @dinnu93\n  - #130 Add OverloadedStrings to first example.\n* @MaxGabriel\n
  \ - #117 Fix haddocks italicizing forward slashes.\n\n0.11.1.0\n===================\n*
  @bitemyapp\n  - Add http-client-0.5.0 support\n\n0.11.0.0\n===================\n\nThanks
  to the following people, Bloodhound 0.10.0.0 is being released! This one gets a
  bit messy due to the Aeson 0.11 changeover, but this should be good to go now. Note
  that Aeson 0.11 returned to Aeson 0.9's behavior and semantics.\n\n* @MichaelXavier\n
  \ - #112 List indices support\n  - #94 Implement index optimization\n  - #91 Make
  `respIsTwoHunna` more semantic\n    - More detail: This is actually the cause of
  a bug in real code. If you happen to be\n      using parseEsResponse (which uses
  respIsTwoHunna) to parse the result of\n      certain operations such as creating
  an index, those operations return a\n      201 and unjustly are deemed to be a failure.\n
  \ - Cleaned up errant Haskell tokens in README\n  - #84 Added request auth hooks\n\n*
  @dzhus / @MailOnline\n  - #85 Add updateDocument\n\n* @ReadmeCritic\n  - #108 Update
  README URLs based on HTTP redirects\n\n* @MHova\n  - #105 Add helper data types
  and functions for Missing Aggregations\n  - Removed unused server versions from
  the tests\n  - Updated readme to reflect actual ES versions supported and tested\n
  \ - Added support for parsing results of Missing Aggregations\n  - #104 Export BucketValue\n
  \ - #102 Add local testing instructions to the README\n  - #89 Support Bool and
  Numeric keys in TermsResults\n  - Added Missing Aggregation support\n  - #98 Improve
  EsProtocolException documentation for human error\n  - Updated README to warn about
  2.0 compatibility\n  - Fix docs specifying an incorrect terminating condition\n\n*
  @bitemyapp\n  - Merge monkey, puzzled over spurious local doctest failures\n\n0.10.0.0\n===================\n\nThanks
  to the following people, Bloodhound 0.10.0.0 is being released! This one gets a
  bit messy due to the Aeson 0.10 upgrade, so you may want to wait for the dust to
  settle. YMMV.\n\n* @MichaelXavier\n  - #77: Add test for error parsing\n  - #76/#78:
  Support for updating (modifying) index settings\n  - #79/#80: Index aliases\n  -
  #81: Low-level scroll API support\n  - #82: Date range aggregation\n\n* @bitemyapp\n
  \ - Fucked around with dependencies and broke things in order to upgrade to Aeson
  0.10\n  - Please forgive me.\n\n0.9.0.0\n===================\n\nThanks to the following
  people, Bloodhound 0.9.0.0 is being released!\n\n* @MichaelXavier\n  - #75: A more
  explicit type for errors\n  - #74: Add readme and changelog to extra source files\n\n*
  @MaxDaten\n  - #38/#73 Provide safety by using URL-encoding\n\n* @centromere\n  -
  #72 Added parent support to documentExists\n\n\n0.8.0.0\n===================\n\nThanks
  to the following people, Bloodhound 0.8.0.0 is being released!\n\n* @MichaelXavier\n
  \ - #67: Deriving Monad(Throw|Catch|Mask)\n  - #64: Export BH constructor\n  - #61:
  Filter aggregation support\n  - #60: Add value_count aggregation support\n  - #58:
  Eliminate partiality in EsResult\n\n* @centromere\n  - #59: Fixed bug with IndexSettings
  serialization\n  - #56: Added fields support to Search\n  - #55: Added ability to
  specify a parent document\n  - #54: Fixed IndexTemplate serialization bug\n  - #52:
  Added ability to manipulate templates\n  - #51: Fixed mapping API\n  - #50: Fixed
  problem with put sending POST\n\n* @bermanjosh\n  - #63: Url query encoding bug\n
  \ - #53: Scan type\n\n* @sjakobi\n  - #69: Replace Control.Monad.Error with CM.Except
  via mtl-compat\n  - #70: Silence redundant import warning with base-4.8.*\n  - #71:
  Use \"newManager\" instead of deprecated \"withManager\"\n\n0.7.0.0\n===================\n\n*
  Added QueryFilter thanks to <NAME>!\n\n* Support for optimistic concurrency
  control thanks again to @MichaelXavier!\n\n0.6.0.1\n===================\n\n* Allow
  Aeson 0.9\n\n0.6.0.0\n===================\n\n* Moved to BHMonad, thanks to @MichaelXavier!
  Now there's a reader of config information and IO is lifted.\n\n* SearchHits have
  a Monoid now, makes combining search results nicer, allows for defaulting when a
  search cannot be performed.\n\n0.5.0.0\n===================\n\n* Fixed and changed
  TermsQuery (This caused the major bump)\n\n* Removed benchmarks from travis.yml\n\n*
  Added doctests, examples for Database.Bloodhound.Client. Haddocks should be much
  nicer.\n\n* Various fixes, reformatting\n\n0.4.0.0\n===================\n\n* Term
  and date aggregation - thanks to <NAME>! (@chrisguiney)\n\nFollowing
  three thanks to <NAME> (@latkins)\n\n* omitNulls changed to exclude empty lists
  and null values\n\n* BoolQuery must/mustNot/Should changed from Maybe (Query|[Query])
  to [Query] thanks to @latkins\n\n* Added vector dependency so we can check for V.null/V.empty
  on JSON arrays\n\n* Highlighting, thanks to @latkins! See http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-highlighting.html
  and http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/highlighting-intro.html
  for more\n\n* Added 1.4.0 support and CI integration\n\n* Can generate individual
  bulk operations, https://github.com/bitemyapp/bloodhound/issues/17, bulk requests
  should be more efficient now too - Vector instead of List.\n\n0.3.0.0\n===================\n\n*
  Status \"ok\" changed from Bool to Maybe Bool thanks to @borisyukd\n\n* Elasticsearch
  1.3.x compatibility fixed with changes to geo bounding boxes - thanks to Curtis
  Carter! (@ccarter)\n\n* CI coverage expanded to 1.0.x -> 1.3.x\n\n0.2.0.1\n===================\n\n*
  Killed off maybeJson/mField/catMaybes in favor of omitNulls\n\n* Experimenting with
  RecordWildcards\n\n* Merged Types and Instances module into Types to prevent possibility
  of orphans and cull orphan instance warnings.\n\n* Added note about current supported
  Elasticsearch version.\n\n0.2.0.0\n===================\n\n* Added TermFilter\n\n*
  Renamed createMapping to putMapping\n\n* Fixed and rebuilt documentation\n\n* RegexpFlags
  changed to a sum type instead of Text, thanks to @MichaelXavier!\n"
basic-deps:
  http-client: ! '>=0.4.30 && <0.6'
  mtl-compat: -any
  exceptions: -any
  bytestring: ! '>=0.10.0 && <0.11'
  base: ! '>=4.3 && <5'
  data-default-class: -any
  time: ! '>=1.4 && <1.9'
  unordered-containers: -any
  text: ! '>=0.11 && <1.3'
  semigroups: ! '>=0.15 && <0.19'
  containers: ! '>=0.5.0.0 && <0.6'
  blaze-builder: -any
  network-uri: ! '>=2.6 && <2.7'
  mtl: ! '>=1.0 && <2.3'
  hashable: -any
  transformers: ! '>=0.2 && <0.6'
  scientific: ! '>=0.3.0.0 && <0.4.0.0'
  http-types: ! '>=0.8 && <0.12'
  aeson: ! '>=0.11.1 && <1.3'
  vector: ! '>=0.10.9 && <0.13'
all-versions:
- '0.4.0.0'
- '0.4.0.1'
- '0.4.0.2'
- '0.5.0.0'
- '0.5.0.1'
- '0.6.0.0'
- '0.6.0.1'
- '0.7.0.0'
- '0.7.0.1'
- '0.8.0.0'
- '0.9.0.0'
- '0.10.0.0'
- '0.11.0.0'
- '0.11.1.0'
- '0.12.0.0'
- '0.12.1.0'
- '0.13.0.0'
- '0.14.0.0'
- '0.15.0.0'
- '0.15.0.1'
author: <NAME>
latest: '0.15.0.1'
description-type: markdown
description: ! "Bloodhound [![TravisCI](https://travis-ci.org/bitemyapp/bloodhound.svg)](https://travis-ci.org/bitemyapp/bloodhound)
  [![Hackage](https://img.shields.io/hackage/v/bloodhound.svg?style=flat)](https://hackage.haskell.org/package/bloodhound)\n==========\n\n![Bloodhound
  (dog)](./bloodhound.jpg)\n\nElasticsearch client and query DSL for Haskell\n==============================================\n\nWhy?\n----\n\nSearch
  doesn't have to be hard. Let the dog do it.\n\nEndorsements\n------------\n\n\"Bloodhound
  makes Elasticsearch almost tolerable!\" - Almost-gruntled user\n\n\"ES is a nightmare
  but Bloodhound at least makes it tolerable.\" - Same user, later opinion.\n\nVersion
  compatibility\n---------------------\n\nAs of version 0.13.0.0, Bloodhound has 2
  separate module trees for\nElasticSearch versions 1 and 5. Import the module that
  is appropriate\nfor your use case. If you would like to add support for another
  major\nversion, open a ticket expressing your intend and follow the pattern\nused
  for other versions. We weighed the idea of sharing code between\nversions but it
  just got too messy, especially considering the\ninstability of the ElasticSearch
  API. We switched to a model which\nwould allow the persons responsible for a particular
{'fraction_non_alphanumeric': 0.1598667065407784, 'fraction_numerical': 0.05169393771094117, 'mean_word_length': 3.2816901408450705, 'pattern_counts': {'":': 0, '<': 45, '<?xml version=': 0, '>': 49, 'https://': 12, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 95, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4122407', 'n_tokens_mistral': 9102, 'n_tokens_neox': 8321, 'n_words': 2556}