@@ -23,13 +23,27 @@ Version compatibility
2323
2424Elasticsearch \>=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.
2525
26−Current versions we test against are 1.0.3, 1.1.2, 1.2.3, 1.3.2, and 1.4.0. 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.
26+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.
2727
2828Stability
2929---------
3030
3131Bloodhound is stable for production use. I will strive to avoid breaking API compatibility from here on forward, but dramatic features like a type-safe, fully integrated mapping API may require breaking things in the future.
3232
33+Testing
34+---------
35+
36+The TravisCI tests are run using [Stack](http://docs.haskellstack.org/en/stable/README.html). You should use Stack instead of `cabal` to build and test Bloodhound to avoid compatibility problems. You will also need to have an ElasticSearch instance running at `localhost:9200` in order to execute some of the tests. See the "Version compatibility" section above for a list of ElasticSearch versions that are officially validated against in TravisCI.
37+
38+Steps to run the tests locally:
39+ 1. Dig through the [past releases] (https://www.elastic.co/downloads/past-releases) section of the ElasticSearch download page and install the desired ElasticSearch versions.
40+ 2. Install [Stack] (http://docs.haskellstack.org/en/stable/README.html#how-to-install)
41+ 3. In your local Bloodhound directory, run `stack setup && stack build`
42+ 4. Start the desired version of ElasticSearch at `localhost:9200`, which should be the default.
43+ 5. Run `stack test` in your local Bloodhound directory.
44+ 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`.
45+
46+
3347Hackage page and Haddock documentation
3448======================================
3549
@@ -38,7 +52,7 @@ Hackage page and Haddock documentation
3852Elasticsearch Tutorial
3953======================
4054
41−It's not using Bloodhound, but if you need an introduction to or overview of Elasticsearch and how to use it, you can use [this screencast](http://vimeo.com/106463167).
55+It's not using Bloodhound, but if you need an introduction to or overview of Elasticsearch and how to use it, you can use [this screencast](https://vimeo.com/106463167).
4256
4357Examples
4458========
@@ -820,7 +834,7 @@ let ta' = ta { termCollectMode = Just BreadthFirst }
820834let ta'' = TermsAgg ta'
821835```
822836
823−For more documentation on how the Terms Aggregation works, see <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html>
837+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>
824838
825839#### Date Histogram Aggregation
826840
@@ -873,7 +887,7 @@ It is an instance of `BucketAggregation`, and can have nested aggregations in ea
873887Buckets can be extracted from an `AggregationResult` using
874888`toDateHistogram name`
875889
876−For more information on the Date Histogram Aggregation, see: <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html>
890+For more information on the Date Histogram Aggregation, see: <https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html>
877891
878892
879893Contributors
@@ -896,12 +910,12 @@ Possible future functionality
896910Span Queries
897911------------
898912
899−Beginning here: <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-span-first-query.html>
913+Beginning here: <https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-first-query.html>
900914
901915Function Score Query
902916--------------------
903917
904−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html>
918+<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html>
905919
906920Node discovery and failover
907921---------------------------
@@ -921,42 +935,42 @@ Might require making a lucene index on disk with the appropriate format.
921935GeoShapeQuery
922936-------------
923937
924−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-query.html>
938+<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-query.html>
925939
926940GeoShapeFilter
927941--------------
928942
929−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-filter.html>
943+<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-filter.html>
930944
931945Geohash cell filter
932946-------------------
933947
934−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-geohash-cell-filter.html>
948+<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geohash-cell-filter.html>
935949
936950HasChild Filter
937951---------------
938952
939−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-has-child-filter.html>
953+<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-has-child-filter.html>
940954
941955HasParent Filter
942956----------------
943957
944−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-has-parent-filter.html>
958+<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-has-parent-filter.html>
945959
946960Indices Filter
947961--------------
948962
949−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-indices-filter.html>
963+<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-indices-filter.html>
950964
951965Query Filter
952966------------
953967
954−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-filter.html>
968+<https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-filter.html>
955969
956970Script based sorting
957971--------------------
958972
959−<http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-sort.html#_script_based_sorting>
973+<https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#_script_based_sorting>
960974
961975Collapsing redundantly nested and/or structures
962976-----------------------------------------------