1# Change Log 2All notable changes to this project will be documented in this file based on the [Keep a Changelog](http://keepachangelog.com/) Standard. This project adheres to [Semantic Versioning](http://semver.org/). 3 4## [Unreleased](https://github.com/ruflin/Elastica/compare/6.1.1...master) 5 6### Backward Compatibility Breaks 7* \Elastica\AbstractUpdateAction::getOptions( $fields ) no longer supports the $underscore parameter, option names must match what elasticsearch expects. 8* Removed no longer supported \Elastica\Query\QueryString::setAutoGeneratePhraseQueries( $bool ) [#1622](https://github.com/ruflin/Elastica/pull/1622) 9* Replaced [params._agg](https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking-changes-7.0.html#_replaced_literal_params__agg_literal_with_literal_state_literal_context_variable_in_scripted_metric_aggregations) with state context variable in scripted metric aggregations 10* [Camel Case](https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking-changes-7.0.html#_camel_case_and_underscore_parameters_deprecated_in_6_x_have_been_removed) and underscore parameters deprecated in 6.x have been removed 11* The parameter [fields](https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking-changes-7.0.html#_the_parameter_literal_fields_literal_deprecated_in_6_x_has_been_removed_from_bulk_request) deprecated in 6.x has been removed from Bulk requestedit and Update request. 12* The [_parent](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-parent-field.html) field has been removed in favour of the join field. 13* hits.total is now an object in the search response [hits.total](https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking-changes-7.0.html#_literal_hits_total_literal_is_now_an_object_in_the_search_response) 14* Elastica\Reindex does not return an Index anymore but a Response. 15* Elastica\Reindex->run() does not refresh the new Index after completion anymore. Use `$reindex->setParam(Reindex::REFRESH, 'wait_for')` instead. 16 17### Bugfixes 18* Always set the Guzzle `base_uri` to support connecting to multiple ES hosts. [#1618](https://github.com/ruflin/Elastica/pull/1618) 19* Properly handle underscore prefixes in options and bulk request metadata ([cf upstream](https://github.com/elastic/elasticsearch/issues/26886). [#1621](https://github.com/ruflin/Elastica/pull/1621) 20* Preserve zeros while doing float serialization to JSON. [#1635](https://github.com/ruflin/Elastica/pull/1635) 21* Add ```settings``` level on json to create an Index in all tests (it worked till 6.x but it shouldn't work) 22 23### Added 24 25* Added `ParentAggregation` [#1616](https://github.com/ruflin/Elastica/pull/1616) 26* Elastica\Reindex missing options (script, remote, wait_for_completion, scroll...) 27 28### Improvements 29* Added `native_function_invocation` CS rule [#1606](https://github.com/ruflin/Elastica/pull/1606) 30* Elasticsearch test version changed from 6.5.2 to 6.6.1 [#1620](https://github.com/ruflin/Elastica/pull/1620) 31 32### Deprecated 33 34## [6.1.1](https://github.com/ruflin/Elastica/compare/6.1.0...6.1.1) 35 36### Added 37 38* The preferred type name is [_doc](https://www.elastic.co/guide/en/elasticsearch/reference/6.5/removal-of-types.html), so that index APIs have the same path as they will have in 7.0 39* Added `BucketSelector` aggregation [#1554](https://github.com/ruflin/Elastica/pull/1554) 40* Added `DerivativeAggregation` [#1553](https://github.com/ruflin/Elastica/pull/1553) 41* The preferred type name is [_doc](https://www.elastic.co/guide/en/elasticsearch/reference/6.5/removal-of-types.html), so that index APIs have the same path as they will have in 7.0 42* Introduced new version of PHP-CS-Fixer and new Lint travis step. [#1555](https://github.com/ruflin/Elastica/pull/1555) 43* Added `typed_keys` support for Search queries [#1603](https://github.com/ruflin/Elastica/pull/1603) 44 45### Improvements 46 47* Reduced memory footprint of response by not keeping the raw JSON data when JSON after JSON has been parsed. [#1588](https://github.com/ruflin/Elastica/pull/1588) 48 49### Deprecated 50* Index templates use index_patterns instead of [template](https://www.elastic.co/guide/en/elasticsearch/reference/6.5/breaking-changes-6.0.html#_index_templates_use_literal_index_patterns_literal_instead_of_literal_template_literal) 51 52## [6.1.0](https://github.com/ruflin/Elastica/compare/6.0.2...6.1.0) 53 54### Backward Compatibility Breaks 55 56* Made result sets adhere to `\Iterator` interface definition that they implement. Specifically, you need to call `valid()` on the result set before calling `current()`. When using `foreach` this is done by PHP automatically. When `valid` returns false, the return value of `current` is undefined instead of false. [#1506](https://github.com/ruflin/Elastica/pull/1506) 57 * `\Elastica\ResultSet::next` returns `void` instead of `\Elastica\Result|false` 58 * `\Elastica\Bulk\ResponseSet::current` returns `\Elastica\Bulk\Response` instead of `\Elastica\Bulk\Response|false` 59 * `\Elastica\Multi\ResultSet::current` returns `\Elastica\ResultSet` instead of `\Elastica\ResultSet|false` 60 61### Added 62 63* Added a transport class for mocking a HTTP 403 error codes, useful for testing response failures in inheriting clients [#1529](https://github.com/ruflin/Elastica/pull/1529) 64* [Field](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-random) param for `Elastica\Query\FunctionScore::addRandomScoreFunction` [#1529](https://github.com/ruflin/Elastica/pull/1529) 65* [Index Recovery](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html) : the indices recovery API provides insight into on-going index shard recoveries. It was never been implemented into Elastica. [#1537](https://github.com/ruflin/Elastica/pull/1537) 66* add parent_id (reference [#1518](https://github.com/ruflin/Elastica/issues/1518)) in QueryBuilder. [#1533]([#1518](https://github.com/ruflin/Elastica/issues/1533)) 67* implemented ```string_distance``` option in Term Suggestion [#1543](https://github.com/ruflin/Elastica/pull/1543) 68 69### Improvements 70 71* Using `Elastica\Query\FunctionScore::addRandomScoreFunction` without `$field` parameter is deprecated since ES 6.0 and will fail since ES 7.0 [#1522](https://github.com/ruflin/Elastica/pull/1522) 72* `Aggreation\Percentiles` updated to a newer version of the Algorithm (T-Digest 3.2) and Percentiles results changed a bit Have a [look at here](https://github.com/elastic/elasticsearch/pull/28305), so updated tests in order not to fail. [#1531]([#1352](https://github.com/ruflin/Elastica/pull/1531)) 73* `Aggregation\Percentiles` have been updated since [Elasticsearch 2.3](https://www.elastic.co/guide/en/elasticsearch/reference/2.3/search-aggregations-metrics-percentile-aggregation.html). In this version `compression, HDR histogram` changed their implementations. The `missing` field has never been implemented. [#1532](https://github.com/ruflin/Elastica/pull/1532) 74 75 Before 76 ```json 77 "compression" : 200, 78 "method" : "hdr", 79 "number_of_significant_value_digits" : 3 80 ``` 81 82 Now 83 ```json 84 "tdigest": { 85 "compression" : 200 86 }, 87 "hdr": { 88 "number_of_significant_value_digits" : 3 89 } 90 ``` 91 92* Never implemented the method *Missing* on [`Aggregation\Percentiles`](https://www.elastic.co/guide/en/elasticsearch/reference/6.4/search-aggregations-metrics-percentile-aggregation.html) [#1532](https://github.com/ruflin/Elastica/pull/1532) 93 94## [6.0.2](https://github.com/ruflin/Elastica/compare/6.0.1...6.0.2) 95 96### Added 97 98* Added support for pipeline when indexing document. [#1455](https://github.com/ruflin/Elastica/pull/1455) 99* Added support for multiple bucket sort orders for aggregations. [#1480](https://github.com/ruflin/Elastica/pull/1480) 100* Added basic support for the Elasticsearch Task Api 101* Added updateByQuery endpoint. [#1499](https://github.com/ruflin/Elastica/pull/1499) 102 103### Improvements 104 105* Use `source` script field instead of deprecated (since ES 5.6) `inline` field. [#1497](https://github.com/ruflin/Elastica/pull/1497) 106* Updated Elasticsearch testing version to 6.2.4. [#1501](https://github.com/ruflin/Elastica/pull/1501) 107 108 109## [6.0.1](https://github.com/ruflin/Elastica/compare/6.0.0...6.0.1) 110 111### Bugfixes 112- Characters "<" and ">" will be removed when a query term is passed to [`Util::escapeTerm`](https://github.com/ruflin/Elastica/pull/1415/files). Since v5.1 the [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/5.1/query-dsl-query-string-query.html#_reserved_characters) states that these symbols cannot be escaped ever. 113- Remove [`each()`](http://www.php.net/each) usage to fix PHP 7.2 compatibility 114- Fix [#1435](https://github.com/ruflin/Elastica/issues/1435) forcing `doc_as_upsert` to be boolean, acording [Elastic doc-update documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#_literal_doc_as_upsert_literal) 115- Fix [#1456](https://github.com/ruflin/Elastica/issues/1456) set SSL as connection scheme if it is required 116 117### Added 118 119* Added request parameters to `Client->deleteDocuments()`. [#1419](https://github.com/ruflin/Elastica/pull/1419) 120* Added request parameters to `Type->updateDocuments()`, `Type->addDocuments()`, `Type->addObjects()`, `Index->addDocuments()`, `Index->updateDocuments()`. [#1427](https://github.com/ruflin/Elastica/pull/1427) 121* Added avg_bucket() and sum_bucket() in aggregations [PR#1443](https://github.com/ruflin/Elastica/pull/1443) - (https://github.com/ruflin/Elastica/issues/1279) 122* Added support for [terms lookup mechanism](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html#query-dsl-terms-lookup) on terms query [#1452](https://github.com/ruflin/Elastica/pull/1452) 123 124 125## [6.0.0](https://github.com/ruflin/Elastica/compare/6.0.0-beta1...6.0.0) 126 127### Backward Compatibility Breaks 128- Return the [_source of inner hit nested](https://github.com/elastic/elasticsearch/pull/26982) as is without wrapping it into its full path context [#1398](https://github.com/ruflin/Elastica/pull/1398) 129- Removed CrossIndex Class as from now use Reindex. [#1411](https://github.com/ruflin/Elastica/pull/1411) 130 131### Added 132 133- Added clear() to `Scroll` for closing search context on ES manually 134- Added Elastica\Aggregation\StatsBucket 135 136### Improvements 137 138- Clear search context on ES after usage in `Scroll` 139 140 141## [6.0.0-beta1](https://github.com/ruflin/Elastica/compare/5.3.0...6.0.0-beta1) 142 143### Backward Compatibility Breaks 144 145- Numeric to and from parameters in [date_range aggregation](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_aggregations_changes.html#_numeric_literal_to_literal_and_literal_from_literal_parameters_in_literal_date_range_literal_aggregation_are_interpreted_according_to_literal_format_literal_now) are interpreted according to format of the target field 146- In ES6 only [strict type boolean](https://github.com/elastic/elasticsearch/pull/22200) are accepted. [On ES6 docs](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/boolean.html) 147- removed analyzed/not_analyzed on [indices mapping](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-index.html) 148- [store](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-store.html) field only accepts boolean 149- Replace IndexAlreadyExistsException with [ResourceAlreadyExistsException](https://github.com/elastic/elasticsearch/pull/21494) [#1350](https://github.com/ruflin/Elastica/pull/1350) 150- in order to delete an index you should not delete by its alias now you should delete using the [concrete index name](https://github.com/elastic/elasticsearch/blob/6.0/core/src/test/java/org/elasticsearch/aliases/IndexAliasesIT.java#L445) [#1348](https://github.com/ruflin/Elastica/pull/1348) 151- Removed ```optimize``` from Index class as it has been deprecated in ES 2.1 and removed in [ES 5.x+](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/indices-optimize.html) use forcemerge [#1351](https://github.com/ruflin/Elastica/pull/1350) 152- In QueryString is not allowed to use fields parameters in conjunction with default_field parameter. This is not well documented, it's possibile to understand from [Elasticsearch tests : QueryStringQueryBuilderTests.java](https://github.com/elastic/elasticsearch/blob/6.0/core/src/test/java/org/elasticsearch/index/query/QueryStringQueryBuilderTests.java#L917) [#1352](https://github.com/ruflin/Elastica/pull/1352) 153- Index mapping field of type [*'string'*](https://www.elastic.co/guide/en/elasticsearch/reference/5.5/string.html) has been removed from Elasticsearch 6.0 codebase [#1353](https://github.com/ruflin/Elastica/pull/1353) 154- The [created and found](https://github.com/elastic/elasticsearch/pull/25516) fields in index and delete responses became obsolete after the introduction of the result field in index, update and delete responses [#1354](https://github.com/ruflin/Elastica/pull/1354) 155- Removed file scripts [#24627](https://github.com/elastic/elasticsearch/pull/24627) [#1364](https://github.com/ruflin/Elastica/pull/1364) 156- Removed [groovy script](https://github.com/elastic/elasticsearch/pull/21607) [#1364](https://github.com/ruflin/Elastica/pull/1364) 157- Removed [native script](https://github.com/elastic/elasticsearch/pull/24726) [#1364](https://github.com/ruflin/Elastica/pull/1364) 158- Removed old / removed script language support : javascript, python, mvel [#1364](https://github.com/ruflin/Elastica/pull/1364) 159- Disable [_all](https://github.com/elastic/elasticsearch/pull/22144) by default, disallow configuring _all on 6.0+ indices [#1365](https://github.com/ruflin/Elastica/pull/1365) 160- [Unfiltered nested source](https://github.com/elastic/elasticsearch/pull/26102) should keep its full path [#1366](https://github.com/ruflin/Elastica/pull/1366) 161- The deprecated minimum_number_should_match parameter in the bool query has been removed, use minimum_should_match instead. [#1369](https://github.com/ruflin/Elastica/pull/1369) 162- For geo_distance queries, sorting, and aggregations the sloppy_arc option has been removed from the distance_type parameter. [#1369](https://github.com/ruflin/Elastica/pull/1369) 163- The geo_distance_range query, which was deprecated in 5.0, has been removed. [#1369](https://github.com/ruflin/Elastica/pull/1369) 164- The optimize_bbox parameter has been removed from geo_distance queries. [#1369](https://github.com/ruflin/Elastica/pull/1369) 165- The disable_coord parameter of the bool and common_terms queries has been removed. If provided, it will be ignored and issue a deprecation warning. [#1369](https://github.com/ruflin/Elastica/pull/1369) 166- [Unfiltered nested source](https://github.com/elastic/elasticsearch/pull/26102) should keep its full path [#1366](https://github.com/ruflin/Elastica/pull/1366) 167- [Analyze Explain](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/_explain_analyze.html) no more support [request parameters](https://www.elastic.co/guide/en/elasticsearch/reference/5.5/indices-analyze.html), use request body instead. [#1370](https://github.com/ruflin/Elastica/pull/1370) 168- [Mapper Attachment plugin has been removed](https://github.com/elastic/elasticsearch/pull/20416) Use Ingest-attachment plugin and attachment processors with pipeline to ingest new documents. [#1375](https://github.com/ruflin/Elastica/pull/1375) 169- [Indices](https://github.com/elastic/elasticsearch/pull/21837) Query has been removed in Elasticsearch 6.0 [#1376](https://github.com/ruflin/Elastica/pull/1376) 170- Remove deprecated [type and slop](https://github.com/elastic/elasticsearch/pull/26720) field in match query [#1382](https://github.com/ruflin/Elastica/pull/1382) 171- Remove [several parse field](https://github.com/elastic/elasticsearch/pull/26711) deprecations in query builders [#1382](https://github.com/ruflin/Elastica/pull/1382) 172- Remove [deprecated parameters](https://github.com/elastic/elasticsearch/pull/26508) from ids_query [#1382](https://github.com/ruflin/Elastica/pull/1382) 173- Implemented [join-datatype](https://www.elastic.co/guide/en/elasticsearch/reference/current/parent-join.html) is a special field that creates parent/child relation within documents of the same index. [#1383](https://github.com/ruflin/Elastica/pull/1383) 174 175### Bugfixes 176- Enforce [Content-Type requirement on the layer Rest](https://github.com/elastic/elasticsearch/pull/23146), a [PR on Elastica #1301](https://github.com/ruflin/Elastica/issues/1301) solved it (it has been implemented only in the HTTP Transport), but it was not implemented in the Guzzle Transport. [#1349](https://github.com/ruflin/Elastica/pull/1349) 177- Scroll no longer does an extra iteration both on an empty result and on searches where the last page has a significantly smaller number of results than the pages before it. 178 179### Added 180 181- Added `Query\SpanContaining`, `Query\SpanWithin` and `Query\SpanNot` [#1319](https://github.com/ruflin/Elastica/pull/1319) 182- Implemented [Pipeline](https://www.elastic.co/guide/en/elasticsearch/reference/current/pipeline.html) and [Processors](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-processors.html). [#1373](https://github.com/ruflin/Elastica/pull/1373) 183- In PHP 7.2 count() now raises a warning when an invalid parameter is passed. Only arrays and objects implementing the Countable interface should be passed. [#1378](https://github.com/ruflin/Elastica/pull/1378) 184 185 186## [5.3.0](https://github.com/ruflin/Elastica/compare/5.2.1...5.3.0) 187 188### Backward Compatibility Breaks 189 190- Removed `Query\NumericRange`, use `Query\Range` instead [#1334](https://github.com/ruflin/Elastica/pull/1334) 191 192### Bugfixes 193 194- Send the `scroll_id` inside a json body instead of plain text [#1325](https://github.com/ruflin/Elastica/pull/1325) 195 196### Added 197 - Added getNumberOfReplicas() for index settings [PR#1324](https://github.com/ruflin/Elastica/pull/1324) 198 - Added getNumberOfShards() for index settings [PR#1321](https://github.com/ruflin/Elastica/pull/1331) 199 - Added `\Elastica\Query\Span*` for proximity searches [#304](https://github.com/ruflin/Elastica/issues/304) 200 - Added avg_bucket() and sum_bucket() in aggregations [PR#1443](https://github.com/ruflin/Elastica/pull/1443) - (https://github.com/ruflin/Elastica/issues/1279) 201 202 203## [5.2.1](https://github.com/ruflin/Elastica/compare/5.2.0...5.2.1) 204 205### Bugfixes 206 207- Fix elastic 5.3.x deprecation warning related to Content-Type not being set. 208- Fix updating settings of an index. [#1296](https://github.com/ruflin/Elastica/pull/1296) 209- Remove `Elastica\Search::OPTION_SEARCH_TYPE_DFS_QUERY_AND_FETCH` and `Elastica\Search::OPTION_SEARCH_TYPE_QUERY_AND_FETCH` as no longer supported as of 5.3.0 210- Fix bad parameter value to refresh document [#1318](https://github.com/rufli/Elastica/pull/1318) 211 212### Added 213 214 - Parameter `filter_path` for response filtering (e.g. `$index->search($query, ['filter_path' => 'hits.hits._source'])`) 215 - Add support for Health parameters for Cluster\Health endpoint (new prop : delayed_unassigned_shards, number_of_pending_tasks, number_of_in_flight_fetch, task_max_waiting_in_queue_millis, active_shards_percent_as_number) 216 - Add support for querystring in Type. this allow to use `update_all_types` in type mapping in order to resolve conflicts between fields in different types. [Conflicts between fields in different types](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html#merging-conflicts) 217 - Added `\Elastica\Query\ParentId` to avoid join with parent documents [#1287](https://github.com/ruflin/Elastica/issues/1287) 218 - Added `\Elastica\Reindex` for reindexing between indices [#1311](https://github.com/ruflin/Elastica/issues/1311) 219 220### Improvements 221 222 - Added support for `other_bucket` and `other_bucket_key` paramters on `Elastica\Aggregation\Filters` 223 - Update elasticsearch testing dependency to 5.4.1 224 225### Deprecated 226 - Deprecated `Tool\CrossIndex` use `\Elastica\Reindex` instead [#1311](https://github.com/ruflin/Elastica/issues/1311) 227 228## [5.2.0](https://github.com/ruflin/Elastica/compare/5.1.0...5.2.0) 229 230### Bugfixes 231 232- Fix reading bool index settings like `\Elastica\Index\Settings::getBlocksWrite`. Elasticsearch returns all settings as strings and does not normalize bool values. 233 The getters now return the right bool value for whichever string representation is used like 'true', '1', 'on', 'yes'. [#1251](https://github.com/ruflin/Elastica/pull/1251) 234- Fix for QueryBuilder version check `\Elastica\QueryBuilder\Version\Version240.php` added all new query types to queries array. [#1266](https://github.com/ruflin/Elastica/pull/1266) [#1269](https://github.com/ruflin/Elastica/pull/1269) 235- Do not modify the original query in `\Elastica\Search::count`. [#1276](https://github.com/ruflin/Elastica/pull/1276) 236 237### Added 238 239- Added `\Elastica\Client::requestEndpoint`, `\Elastica\Index::requestEndpoint`, `\Elastica\Type::requestEndpoint` that allow make requests with official client Endpoint usage. [#1275](https://github.com/ruflin/Elastica/pull/1275) 240- Added `\Elastica\Aggregation\GeoBounds` that computes the bounding box containing all geo_point values for a field. [#1271](https://github.com/ruflin/Elastica/pull/1271) 241- Added `\Elastica\Query\MatchNone` the inverse of MatchAll. [#1276](https://github.com/ruflin/Elastica/pull/1276) 242 243### Improvements 244 245- added support for the "explain" flag of AnalyzeAPI [#1254](https://github.com/ruflin/Elastica/pull/1254) 246- added support for the "request_cache" search option [#1243](https://github.com/ruflin/Elastica/pull/1243) 247- skip sending "retry_on_conflict=0" default query param to improve compatibility with Amazon Elasticsearch [#1047](https://github.com/ruflin/Elastica/pull/1047) 248- optimized `\Elastica\Scroll` to avoid one request [#1273](https://github.com/ruflin/Elastica/pull/1273) 249- Update elasticsearch-php dependency to 5.2.0 [#1245](https://github.com/ruflin/Elastica/pull/1245) 250- Update elasticsearch testing dependency to 5.2.2 [#1245](https://github.com/ruflin/Elastica/pull/1245) 251 252### Deprecated 253 254- Deprecated `\Elastica\Exception\ElasticsearchException` which is irrelevant since Elasticsearch now exposes the errors as a structured array instead of a single string. 255 Use `\Elastica\Exception\ResponseException::getResponse::getFullError` instead. 256- Deprecated both `prefix_len` & `min_word_len` fields in `Elastica\Suggest\CandidateGenerator\DirectGenerator` as these now return errors when using the phrase suggester to querying terms. 257 Use `prefix_length` & `min_word_length` instead [#1282](https://github.com/ruflin/Elastica/pull/1282) 258 Use `\Elastica\Exception\ResponseException::getResponse::getFullError` instead. [#1251](https://github.com/ruflin/Elastica/pull/1251) 259 260## [5.1.0](https://github.com/ruflin/Elastica/compare/5.0.0...5.1.0) 261 262### Backward Compatibility Breaks 263 264- `\Elastica\Script\AbstractScript` added the script language as constructor argument and sub-classes must implement `getScriptTypeArray` 265 266### Bugfixes 267 268- Removed features that do not exist in Elasticsearch 5.0 anymore: 269 - `ttl` and `timestamp` logic: setters and getters in documents and mapping 270 - `\Elastica\Query\Missing`: negate `\Elastica\Query\Exists` instead 271 - `\Elastica\Query\TopChildren` 272- `\Elastica\Query\MatchPhrase` and `\Elastica\Query\MatchPhrasePrefix` do not extend `\Elastica\Query\Match` anymore because they do not share exactly the same options 273- Removed the `routing` option in `\Elastica\Index::create` because there is no routing param when creating an index. So that option was doing nothing so far but fails in Elasticearch 5.0 because the non-existing query param is validated. 274- Fix `relation` property of `\Elastica\Query\GeoShapeProvided` 275- repoint `\Elastica\Type::exists` from the deprecated /{index}/{type} endpoint to /{index}/_mapping/{type} 276 277### Added 278 279- added `\Elastica\Script\ScriptId` to reference stored scripts by ID 280- added `\Elastica\Query\AbstractGeoShape::RELATION_WITHIN` 281- Date math in index names is now escaped in URI 282- Added a check for paths that already have date math escaped 283 284### Improvements 285 286- `\Elastica\Query\HasParent` to use `parent_type` instead of `type`. Fixes warning due to field being deprecated. 287 288### Deprecated 289 290- Deprecated functionality that is also deprecated in Elasticsearch 5.0: 291 - `\Elastica\Client::optimizeAll` in favor of `\Elastica\Client::forcemergeAll` 292 - `\Elastica\Query\BoolQuery::setMinimumNumberShouldMatch` in favor of `\Elastica\Query\BoolQuery::setMinimumShouldMatch` 293 - `\Elastica\Query\GeoDistanceRange`: use distance aggregations or sorting instead 294 - `\Elastica\Query\GeohashCell` 295 - `\Elastica\Query\Indices`: search on the `_index` field instead 296 - `\Elastica\Query\Match::setFieldType`: use `\Elastica\Query\MatchPhrase` and `\Elastica\Query\MatchPhrasePrefix` instead 297- `\Elastica\Transport\Null` is deprecated because null is a reserved class name in PHP 7. Use `\Elastica\Transport\NullTransport` instead. 298 299## [5.0.0](https://github.com/ruflin/Elastica/compare/5.0.0-beta1...5.0.0) 300 301### Backward Compatibility Fixes 302- Updated Elastica\Test\Suggest\CompletionTest now payload and output are removed 303- Updated Elastica\Test\TypeTest::testGetDocumentWithFieldsSelection The stored_fields parameter will only return stored fields — it will no longer extract values from the _source 304- remove _shutdown for Node and Cluster as deprecated 305 306### Bugfixes 307- Query options such as "timeout" or "terminate_after" should not be ignored when using Multi\Search 308 309### Added 310- Added regex option form suggest completions https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html#regex 311 312### Improvements 313- `\Elastica\JSON` throws exception with readable message instead of errno 314- `\Elastica\JSON::stringify` throws `\Elastica\Exception\JSONParseException` on error 315 316 317## [5.0.0-beta1](https://github.com/ruflin/Elastica/compare/3.2.3...5.0.0-beta1) 318 319### Backward Compatibility Breaks 320- Update elasticsearch dependency to 5.0 321- Replace flush refresh param with a options array 322- Rename Mapping::setFields to Mapping::setStoredFields 323- Removing all deprecated filters including tests. Use queries instead. 324- Remove deprecated Elastica\Script*.php classes. Use Elastica\Script\* instead. 325- Remove Elastica/Query/Image.php and test/Elastica/Query/ImageTest.php, no more support for image-plugin. 326- Remove Elastica/Query/Filtered.php and test/Elastica/Query/FilteredTest.php and all uses from code. 327- Remove index.merge.policy.merge_factor, and set/get MergePolicy as it looks deprecated from ES 1.6 328- Add new "Percolate query" functionality and tests 329- Remove in Elastica\AbstractUpdateAction Option "percolate", getter and setter as deprecated as of ES 1.3. Use Percolator instead. 330- Remove in Elastica\Aggregation\DateHistogram Option "pre_zone" is deprecated as of ES 1.5. Use "time_zone" instead 331- Remove in Elastica\Aggregation\DateHistogram Option "post_zone" is deprecated as of ES 1.5. Use "time_zone" instead. 332- Remove in Elastica\Aggregation\DateHistogram Option "pre_zone_adjust_large_interval" is deprecated as of ES 1.5. Use "time_zone" instead. 333- Remove in Elastica\Aggregation\DateHistogram Option "pre_offset" is deprecated as of ES 1.5. Use "offset" instead. 334- Remove in Elastica\Aggregation\DateHistogram Option "post_offset" is deprecated as of ES 1.5. Use "offset" instead. 335- Remove Elastica\Document::add as deprecated. Use Elastica\Document::set instead 336- Remove Elastica\Document::setScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate. 337- Remove Elastica\Document::getScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate. 338- Remove Elastica\Document::hasScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate. 339- Remove Elastica/Query::setLimit as deprecated. Use the Elastica/Query::setSize() method 340- Remove Elastica\Query\Builder 341- Remove Elastica\Query\Fuzzy::addField as deprecated. Use Elastica\Query\Fuzzy::setField and Elastica\Query\FuzzysetFieldOption instead. 342- Remove Elastica\Query::setIds as deprecated. Use Elastica\Query::like instead. 343- Remove Elastica\Query::setLikeText as deprecated. Use Elastica\Query::like instead. 344- Remove Elastica\Query Option "percent_terms_to_match" is deprecated as of ES 1.5. Use "minimum_should_match" instead. 345- Remove Elastica\QueryBuilder\DSL\Query "More Like This Field" query is deprecated as of ES 1.4. Use MoreLikeThis query instead. 346- Changed visibility from protected to private Elastica\ResultSet::$_position as accessing this property in an extended class is deprecated. 347- Changed visibility from protected to private Elastica\ResultSet::$_response as accessing this property in an extended class is deprecated. 348- Changed visibility from protected to private Elastica\ResultSet::$_query as accessing this property in an extended class is deprecated. 349- Changed visibility from protected to private Elastica\ResultSet::$_results as accessing this property in an extended class is deprecated. 350- Removed Elastica\ResultSet::$_timedOut as deprecated. Use ResultSet->hasTimedOut() instead. 351- Removed Elastica\ResultSet::$_took as deprecated. Use ResultSet->hasTimedOut() instead. 352- Removed Elastica\ResultSet::$_totalHits as deprecated. Use ResultSet->hasTimedOut() instead. 353- Removed Elastica\Type::delete() It is no longer possible to delete the mapping for a type. Instead you should delete the index and recreate it with the new mappings. 354- Removed Elastica\Query\Builder as deprecated. Use new Elastica\QueryBuilder instead. 355- Removed Elastica\Percolator as deprecated. Use new Elastica\Query\Percolate instead. 356- Changed Elastica\Index::deleteByQuery() to use new API https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docs-delete-by-query.html 357- Remove Elastica\ScanAndScroll and test, Scan search type is removed from ElasticSearch 5.0. 358- Remove support for PHP 5.4 and 5.5. Require at least PHP 5.6 #1202 359- Remove groovy as default scripting language 360- Remove search_type=count as it is removed in Elasticsearch 5.0 361- Remove fielddata_fields as it has been deprecated in ES5, use parameter docvalue_fields instead 362 363### Added 364- Elastica\QueryBuilder\DSL\Query::exists 365- Elastica\QueryBuilder\DSL\Query::type 366 367### Improvements 368- Add a constant for the expression language. 369- `Health::getIndices` returns key=>value result, where key === $indexName. 370``` 371$cluster->getHealth()->getIndices()[$indexName] 372// or 373$indices = $cluster->getHealth()->getIndices(); 374$indices[$indexName] 375``` 376- Added a `Query::setTrackScores` method 377- Implemented painless as default scripting language in tests 378- Updated Dockerfile and elasticsearch.yml to allow inline.script: true 379- Updated some Script function to use groovy as now default scripting is painless 380 - Elastica\Test\Aggregation\ScriptTest::testAggregationScript 381 - Elastica\Test\Aggregation\ScriptTest::testAggregationScriptAsString 382 - Elastica\Test\Query\FunctionScoreTest::testScriptScore 383 - Elastica\Test\BulkTest::testUpdate 384 - Elastica\Test\ClientTest::testUpdateDocumentByScript 385 - Elastica\Test\ClientTest::testUpdateDocumentByScriptWithUpsert 386 - Elastica\Test\ClientTest::testUpdateDocumentPopulateFields 387 - Elastica\Test\ClientTest::testUpdateDocumentPopulateFields 388 - Elastica\Test\TypeTest::testUpdateDocument 389 - Elastica\Test\TypeTest::testUpdateDocumentWithIdForwardSlashes 390 - Elastica\Test\TypeTest::testUpdateDocumentWithParameter 391 - Elastica\Test\TypeTest::testUpdateDocumentWithFieldsSource 392- Composer installations will no longer include tests and other development files. 393 394 395## [3.2.3](https://github.com/ruflin/Elastica/compare/3.2.2...3.2.3) 396 397### Bugfixes 398- Query builder is now compatible with Elasticsearch 2.X 399 400### Added 401- Elastica\Aggregation\BucketScript 402- Elastica\Aggregation\SerialDiff 403- Elastica\Query\InnerHits 404 405### Improvements 406- Elastica\Client constructor now accepts a transport of fully qualified name. [#1169](https://github.com/ruflin/Elastica/pull/1169) 407- Update Elasticsearch dependency to 2.4.0 408 409 410## [3.2.2](https://github.com/ruflin/Elastica/compare/3.2.1...3.2.2) 411 412### Backward Compatibility Fixes 413 414### Bugfixes 415- Set HTTP headers on each request preventing server error if persistent connection is enabled and compression enabled and later disabled for the same connection. 416- Removed `int` type hinting in `setMinimumMatch` (`Terms` Query): it should also allow `string`. [#1151](https://github.com/ruflin/Elastica/pull/1151) 417 418### Added 419- Elastica\QueryBuilder\DSL\Query::geo_distance 420- Elastica\Aggregation\GeoCentroid [#1150](https://github.com/ruflin/Elastica/pull/1150) 421- [Multi value field](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#_multi_values_fields) param for decay function. 422- Elastica\Client::getVersion [#1152](https://github.com/ruflin/Elastica/pull/1152) 423- Added support for terminate_after parameter in search queries [#1168](https://github.com/ruflin/Elastica/pull/1168) 424 425### Improvements 426- Set PHP 7.0 as default development version 427- Get the root reason from Elasticsearch's error JSON, when available [#1111](https://github.com/ruflin/Elastica/pull/1111) 428- Optimize memory usage for Http Adapter [#1161](https://github.com/ruflin/Elastica/pull/1161) 429 430### Changed 431- Remove JSON_ELASTICSEARCH constant as not needed anymore 432 433## [3.2.1](https://github.com/ruflin/Elastica/compare/3.2.0...3.2.1) 434 435### Backward Compatibility Fixes 436- Reintroduced properties in ResultSet removed in 3.2.0 as deprecated properties to be removed in 4.0 437 438### Bugfixes 439- Fix fatal error on `Query::addScriptField()` if scripts were already set via `setScriptFields()` [#1086](https://github.com/ruflin/Elastica/pull/1086) 440- Fix namespace collision of `Type` in `Query\Ids` [#1104](https://github.com/ruflin/Elastica/pull/1104) 441 442### Added 443- Added the concept of ResultSet Transformers. The Transformer adds more information to a Result, for example the original object or data that created the Result. [#1066](https://github.com/ruflin/Elastica/pull/1066) 444- Tidied property initialisation in classes where it was duplicated 445 446## [3.2.0](https://github.com/ruflin/Elastica/compare/3.1.1...3.2.0) 447 448### Backward Compatibility Breaks 449- Method \Elastica\ResultSet::create and property \Elastica\ResultSet::$class were removed. To change the ResultSet class, implement your own ResultSet Builder. [#1065](https://github.com/ruflin/Elastica/pull/1065) 450- Properties on \Elastica\ResultSet _totalHits, _maxScore, _took and _timedOut that were originally set on object construction are now accessed by the getters on the ResultSet. [#1065](https://github.com/ruflin/Elastica/pull/1065) 451 452### Bugfixes 453- Fix php notice on `\Elastica\Index::getAliases()` if index has no aliases [#1078](https://github.com/ruflin/Elastica/issues/1078) 454 455### Added 456- Update elasticsearch build dependency to elasticsearch 2.3.2 [#1084](https://github.com/ruflin/Elastica/pull/1084) 457 458### Improvements 459- `Elastica\Type->deleteByQuery($query, $options)` $query param can be a query `array` again https://github.com/ruflin/Elastica/issues/1072 [#1073](https://github.com/ruflin/Elastica/pull/1073) 460- `Elastica\Client->connect()` allows to establish a connection to ES server when the config was set using method `Elastica\Client->setConfigValue()` https://github.com/ruflin/Elastica/issues/1076 [#1077](https://github.com/ruflin/Elastica/pull/1077) 461- Elastica\Client constructor now accepts a LoggerInterface and will log both successful and failed requests. [#1069](https://github.com/ruflin/Elastica/pull/1069) 462 463### Deprecated 464- Configuring the logger in \Elastica\Client $config constructor is deprecated and will be removed. Use the $logger argument instead. [#1069](https://github.com/ruflin/Elastica/pull/1069) 465- Extracted creation of ResultSet objects to a new dedicated ResultSet\Builder implementation. [#1065](https://github.com/ruflin/Elastica/pull/1065) 466- All properties in the \Elastica\ResultSet class will be moved to private in 4.0. To manipulate the creation of a ResultSet, implement the \Elastica\ResultSet\BuilderInterface and pass your new Builder to the \Elastica\Search instances. [#1065](https://github.com/ruflin/Elastica/pull/1065) 467 468 469## [3.1.1](https://github.com/ruflin/Elastica/compare/3.1.0...3.1.1) 470 471### Added 472- Add an "AwsAuthV4" transport that automatically signs requests using credentials from the environment or from the client config. This allows using Elastica with Amazon ElasticSearch Service domains that are restricted to IAM roles or policies. [#1056](https://github.com/ruflin/Elastica/pull/1056) 473- Update elasticsearch build dependency to elasticsearch 2.2.1 474 475### Improvements 476- `Elastica\Exception\InvalidException` will be thrown if you try using an 477 `Elastica\Aggregation\AbstractSimpleAggregation` without setting either the 478 `field` or `script` param. 479- `Elastica\Index->deleteByQuery($query, $options)` $query param can be a query `array` again 480- `Elastica\Query\MoreLikeThis->toArray()` now supports providing a non-indexed document as an input to perform the comparison. 481- `Elastica\Status` will lazy load the `_stats` at when it is needed. https://github.com/ruflin/Elastica/pull/1058 482 483 484## [3.1.0](https://github.com/ruflin/Elastica/compare/3.0.1...3.1.0) 485 486### Backward Compatibility Breaks 487- Update Guzzle transport to use Guzzle 6 488- Elastica\Query\FunctionScore::setFilter - deprecated and will throw DeprecatedException since not supported by Elasticsearch. Use setQuery instead. 489 490### Added 491- `Elastica\Result->getDocument` and `Elastica\ResultSet->getDocuments` for return `\Elastica\Document`. https://github.com/ruflin/Elastica/issues/960 492 493### Improvements 494- Add username and password params to connection 495 496### Deprecated 497- Elastica\AbstractScript|Script|ScriptFile|ScriptFields deprecated in favor of Elastica\Script|AbstractScript|Script|ScriptFile|ScriptFields [#1028](https://github.com/ruflin/Elastica/pull/1028) 498- Elastica\Filter\* are deprecated. You can use proper queries instead. Backward compatibility layer provided, but will be removed in next Elastica releases. See https://www.elastic.co/blog/better-query-execution-coming-elasticsearch-2-0 and https://github.com/ruflin/Elastica/issues/1001 499 500## [3.0.1](https://github.com/ruflin/Elastica/compare/3.0.0...3.0.1) 501 502### Improvements 503- Update build dependency to elasticsearch 2.1.1 [#1022](https://github.com/ruflin/Elastica/pull/1022) 504- Readd \Elastica\Filter\Nested. See https://github.com/ruflin/Elastica/issues/1001 [#1020](https://github.com/ruflin/Elastica/pull/1020) 505 506 507## [3.0.0](https://github.com/ruflin/Elastica/compare/3.0.0-beta1...3.0.0) 508 509### Backward Compatibility Breaks 510- Revert getError changes in Response object and make it better BC compatible. See comment [here](https://github.com/ruflin/Elastica/commit/41a7a2075837320bc9bd3bca4150e05a1ec9a115#commitcomment-15136374). 511 512### Bugfixes 513- Function score query: corrected the `score_method` `average` to `avg` [#975](https://github.com/ruflin/Elastica/pull/975) 514- Set `json_decode()` assoc parameter to true in `Elastica\Response` [#1005](https://github.com/ruflin/Elastica/pull/1005) 515- Add `bigintConversion` to keys passed to connection config in `Elastica\Client` [#1005](https://github.com/ruflin/Elastica/pull/1005) 516- Use POST instead of PUT to send bulk requests [#1010](https://github.com/ruflin/Elastica/issues/1010) 517 518### Added 519- Elastica\Query\MultiMatch::setFuzziness now supports being set to `AUTO` with the const `MultiMatch::FUZZINESS_AUTO` 520- Elastica\Type\Mapping::send now accepts query string parameters to send along with the mapping request 521- Elastica\Query\BoolQuery::addFilter 522 523### Improvements 524- More info on Elastica\Exception\PartialShardFailureException. Not just number of failed shards. 525- Allow bool in TopHits::setSource function [#1012](https://github.com/ruflin/Elastica/issues/1012) 526 527### Deprecated 528- Elastica\Query\Filtered triggers E_USER_DEPRECATED error because filtered query is deprecated since ES 2.0.0-beta1. Use BoolQuery instead. 529- Elastica\QueryBuilder\DSL\Query::filtered() triggers E_USER_DEPRECATED error because filtered query is deprecated since ES 2.0.0-beta1. Use bool() instead. 530 531 532 533## [3.0.0-beta1](https://github.com/ruflin/Elastica/compare/2.3.1...3.0.0-beta1) 534 535### Backward Compatibility Breaks 536- Elastica\AbstractUpdateAction::setPercolate now throw DeprecatedException, user Percolator instead 537- Elastica\AbstractUpdateAction::getPercolate now throw DeprecatedException, user Percolator instead 538- Elastica\AbstractUpdateAction::hasPercolate now throw DeprecatedException, user Percolator instead 539- Elastica\Type::delete now throw DeprecatedException, it is no longer possible to delete the mapping for a type. Instead you should delete the index and recreate it with the new mappings 540- MoreLikeThis::setLikeText deprecated from ES 2.0, use setLike instead, but there is a difference - setLike haven't trim magic inside for strings 541- Elastica\Document, methods: setScript, getScript, hasScript now throw DeprecatedException. 542- MoreLikeThis, methods: setLikeText, setIds, setPercentTermsToMatch now throw DeprecatedException. 543- Elastica\Aggregation\DateHistogram, methods: setPreZone, setPostZone, setPreZoneAdjustLargeInterval, setPreOffset, setPostOffset now throw DeprecatedException. 544- Elastica\Query\Builder trigger E_USER_DEPRECATED error when you try use it. 545- Elastica\Filter\Bool and Elastica\Query\Bool trigger E_USER_DEPRECATED error when you try use them. 546- Elastica\Query\Fuzzy:addField method trigger E_USER_DEPRECATED error 547- Elastica\Query\FunctionScore:addBoostFactorFunction method trigger E_USER_DEPRECATED error 548- Elastica\Query:setLimit method trigger E_USER_DEPRECATED error 549- Elastica\Document:add method trigger E_USER_DEPRECATED error 550- Type::moreLikeThis API was removed from ES 2.0, use MoreLikeThis query instead 551- Remove Thrift transport and everything related to it 552- Remove Memcache transport and everything related to it 553- Remove BulkUdp and everything related to it 554- Remove Facets and everything related to it 555- Remove ansible scripts for tests setup and Vagrantfile as not needed anymore. 556 All is based on docker containers now 557- Support for PHP 5.3 removed 558- Elastica\Reponse::getError() now returns and array instead of a string 559- Move function \Elastica\Index\Status::getAliases() and hasAlias(...) to \Elastica\Index::getAliases() 560- Remove \Elastica\Index\Status object and related functions 561- \Elastica\Query\FuzzyLikeThis remove as not supported anymore 562- Remove \Elastica\Status::getServerStatus() as the information was removed 563- DeleteByQuery now requires the delete-by-query plugin isntalled 564- Remove \Elastica\Filter\Nested as it is replaced by \Elastica\Query\Nested 565- Require at least PHP 5.4 566 567### Bugfixes 568- Fixed GeoShapeProvided relation parameter position 569 570### Added 571- Elastica\Reponse::getErrorMessage was added as getError is now an object 572- Elastica\Query\MoreLikeThis::setLike 573- \Elastica\Exception\DeprecatedException 574- Connection option to convert JSON bigint results to strings can now be set [#717](https://github.com/ruflin/Elastica/issues/717) 575 576### Improvements 577- Travis builds were moved to docker-compose setup. Ansible scripts and Vagrant files were removed 578- trigger_error with E_USER_DEPRECATE added to deprecated places 579- DeprecatedException will be thrown, if there is a call of method that not support BC 580 581### Deprecated 582- Elastica\Type::delete is deprecated 583- Elastica\Filter\Bool is deprecated 584- Elastica\Query\Bool is deprecated 585- Elastica\Query\MoreLikeThis::setLikeText is deprecated 586- Elastica\Query\MoreLikeThis::setIds is deprecated 587 588## [2.3.1](https://github.com/ruflin/Elastica/releases/tag/2.3.1) - 2015-10-17 589 590### Bugfixes 591- Filters aggregation: empty name is named bucket [#935](https://github.com/ruflin/Elastica/pull/935) 592- Prevent mix keys in filters ([#936](https://github.com/ruflin/Elastica/pull/936)) [#939](https://github.com/ruflin/Elastica/pull/939) 593- Fix empty string is not anonymous filter [#935](https://github.com/ruflin/Elastica/pull/935) 594- Filters aggregation: empty name is named bucket [#935](https://github.com/ruflin/Elastica/pull/935) 595 596### Added 597- Support for field_value_factor [#953](https://github.com/ruflin/Elastica/pull/953) 598- Added setMinDocCount and setExtendedBounds options [#947](https://github.com/ruflin/Elastica/pull/947) 599- Avoid environment dependecies in tests [#938](https://github.com/ruflin/Elastica/pull/938) 600 601### Improvements 602- Update elasticsearch dependency to elasticsearch 1.7.3 [#957](https://github.com/ruflin/Elastica/pull/957) 603 604### Deprecated 605- Added exceptions of deprecated transports to deprecation list 606 607 608## [2.3.0](https://github.com/ruflin/Elastica/releases/tag/2.3.0) - 2015-09-15 609 610 611### Backward Compatibility Breaks 612- Objects do not casts to arrays in setters and saved in params as objects. There is many side effects if 613 you work with params on "low-level" or change your objects after you call setter with object 614 as argument. [#916](https://github.com/ruflin/Elastica/pull/916) 615 616### Added 617- Add Script File feature [#902](https://github.com/ruflin/Elastica/pull/902) [#914](https://github.com/ruflin/Elastica/pull/914) 618 619### Improvements 620- Support the http.compression in the Http transport adapter [#515](https://github.com/ruflin/Elastica/issues/515) 621- Introduction of Lazy toArray [#916](https://github.com/ruflin/Elastica/pull/916) 622- Update Elasticsearch dependency to 1.7.2 [#929](https://github.com/ruflin/Elastica/pull/929) 623 624 625 626## [2.2.1](https://github.com/ruflin/Elastica/releases/tag/2.2.1) - 2015-08-10 627 628 629### Added 630- Support for index template added [#905](https://github.com/ruflin/Elastica/pull/905) 631 632### Improvements 633- Update Elasticsearch dependency to 1.7.1 and update plugin dependencies [#909](https://github.com/ruflin/Elastica/pull/909) 634- Update php-cs-fixer to 1.10 [#898](https://github.com/ruflin/Elastica/pull/898) 635- Elastica\QueryBuilder now uses Elastica\QueryBuilder\Version\Latest as default version to avoid empty version classes. [#897](https://github.com/ruflin/Elastica/pull/897) 636- Update elasticseach-image to work with ES 1.7.1 [#907](https://github.com/ruflin/Elastica/pull/907) 637- Local dev environment was refactored to fully work in docker environment. Running tests is now only one command: `make tests` [#901](https://github.com/ruflin/Elastica/pull/901) 638 639### Deprecated 640- Elastica\QueryBuilder\Version\Version150 deprecated in favor of Elastica\QueryBuilder\Version\Latest [#897](https://github.com/ruflin/Elastica/pull/897) 641 642 643## [2.2.0](https://github.com/ruflin/Elastica/releases/tag/2.2.0) - 2015-07-08 644 645 646### Backward Compatibility Breaks 647- Usage of constant DEBUG and method Elastica\Util::debugEnabled is removed. [#868](https://github.com/ruflin/Elastica/pull/868) 648- Elastica\Response::getTransferInfo will not return "request_header" by default. [#868](https://github.com/ruflin/Elastica/pull/868) 649- The Image Plugin is currently not compatible with Elasticearch 1.6.0 650 651### Bugfixes 652- Fixed segmentation fault in PHP7 [#868](https://github.com/ruflin/Elastica/pull/868) 653- Removed deprecation for Elastica\Type::deleteByQuery [#875](https://github.com/ruflin/Elastica/pull/875) 654 655### Improvements 656- `CallbackStrategy` now will accept any `callable` as callback, not only instance of `Closure`. [#871](https://github.com/ruflin/Elastica/pull/871) 657- `StrategyFactory` now will try to find predefined strategy before looking to global namespace. [#877](https://github.com/ruflin/Elastica/pull/877) 658- Update elasticsearch dependency to elasticsearch 1.6.0 https://www.elastic.co/downloads/past-releases/elasticsearch-1-6-0 659- All elasticsearch plugin dependencies were updated to the newest version. 660- Methods of classes in `QueryBuilder\DSL` namespace now have exact same signatures as corresponding constructors. [#878](https://github.com/ruflin/Elastica/pull/878) 661- Constructor of `Aggregation\Filter` now accepts filter as second parameter [#878](https://github.com/ruflin/Elastica/pull/878) 662- Constructor of `Filter\AbstractMulti` (`BoolAnd`, `BooldOr`) now accepts array of filters as parameter [#878](https://github.com/ruflin/Elastica/pull/878) 663- Constructor of `Query\Match` now accepts arguments [#878](https://github.com/ruflin/Elastica/pull/878) 664- Coverage Reporting improved with Codecov [#888](https://github.com/ruflin/Elastica/pull/888) 665- Added 'query_cache' option for search [#886](https://github.com/ruflin/Elastica/pull/886) 666 667## [2.1.0](https://github.com/ruflin/Elastica/releases/tag/2.1.0) - 2015-06-01 668 669### Added 670- Multiple rescore query [#820](https://github.com/ruflin/Elastica/issues/820/) 671- Support for a custom connection timeout through a connectTimeout parameter. [#841](https://github.com/ruflin/Elastica/issues/841/) 672- SignificantTerms Aggregation [#847](https://github.com/ruflin/Elastica/issues/847/) 673- Support for 'precision_threshold' and 'rehash' options for the Cardinality Aggregation [#851] 674- Support for retrieving id node [#852](https://github.com/ruflin/Elastica/pull/852) 675- Scroll Iterator [#842](https://github.com/ruflin/Elastica/issues/842/) 676- Gitter Elastica Chat Room add for Elastica discussions: https://gitter.im/ruflin/Elastica 677- Introduce PHP7 compatibility and tests. [#837](https://github.com/ruflin/Elastica/pull/837) 678- `Tool\CrossIndex` for reindexing and copying data and mapping between indices [#853](https://github.com/ruflin/Elastica/pull/853) 679- CONTIRUBTING.md file added for contributor guidelines. [#854](https://github.com/ruflin/Elastica/pull/854) 680 681### Improvements 682- Introduction of Changelog standard based on http://keepachangelog.com/. changes.txt moved to CHANGELOG.md [#844](https://github.com/ruflin/Elastica/issues/844/) 683- Make host for all tests dynamic to prepare it for a more dynamic test environment [#846](https://github.com/ruflin/Elastica/pull/846) 684- Node information is retrieved based on id instead of name as multiple nodes can have the same name. [#852](https://github.com/ruflin/Elastica/pull/852) 685- Guzzle Http dependency updated to 5.3.* 686- Remove NO_DEV builds from travis build matrix to speed up building. All builds include no dev packages. 687- Introduction of benchmark test group to make it easy to run benchmark tests. 688- Make the docker images directly [available](https://hub.docker.com/u/ruflin/) on the docker registry. This speeds up fetching of the images and automates the build of the images. 689 690### Backward Compatibility Breaks 691- `Elastica\ScanAndScroll::$_lastScrollId` removed: `key()` now always returns the next scroll id [#842](https://github.com/ruflin/Elastica/issues/842/) 692 693 694### Deprecated 695- Facets are deprecated. You are encouraged to migrate to aggregations instead. [#855](https://github.com/ruflin/Elastica/pull/855/) 696- Elastica\Query\Builder is deprecated. Use new Elastica\QueryBuilder instead. [#855](https://github.com/ruflin/Elastica/pull/855/) 697- For PHP 7 compatibility Elastica\Query\Bool was renamed to *\BoolQuery, Elastica\Filter\Bool was renamed to BoolFilter, Elastica\Transport\Null was renamed to NullTransport as Null and Bool are reserved phrases in PHP 7. Proxy objects for all three exist to keep backward compatibility. It is recommended to start using the new objects as the proxy classes will be deprecated as soon as PHP 7 is stable. [#837](https://github.com/ruflin/Elastica/pull/837) 698 699 700 701## [2.0.0](https://github.com/ruflin/Elastica/releases/tag/2.0.0) - 2015-05-11 702 703 704### Backward Compatibility Breaks 705- Elastica\Query\QueryString::setLowercaseExpandedTerms removed [#813](https://github.com/ruflin/Elastica/issues/813/) 706- Update elasticsearch dependency to elasticsearch 1.5.2 https://www.elastic.co/downloads/past-releases/elasticsearch-1-5-2 [#834](https://github.com/ruflin/Elastica/issues/834/) 707- Added deprecation notice to Elastica\Transport\Thrift, Elastica\Transport\Memcached and Elastica\Type::deleteByQuery [#817](https://github.com/ruflin/Elastica/issues/817/) 708- Escape new symbols in Util::escapeTerm [#795](https://github.com/ruflin/Elastica/issues/795/) 709 710### Bugfixes 711- Fix empty bool query to act as match all query [#817](https://github.com/ruflin/Elastica/issues/817/) 712- Fixed short match construction in query DSL [#796](https://github.com/ruflin/Elastica/issues/796/) 713- Index optimize method to return Response object. [#797](https://github.com/ruflin/Elastica/issues/797/) 714- Fix fluent interface inconsistency [#788](https://github.com/ruflin/Elastica/issues/788/) 715 716 717### Improvements 718- Add testing on PHP 7 on Travis [#826](https://github.com/ruflin/Elastica/issues/826/) 719- Allow bool in Query::setSource function [#818](https://github.com/ruflin/Elastica/issues/818/) https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html 720- deleteByQuery() implemented in Elastica\Index [#816](https://github.com/ruflin/Elastica/issues/816/) 721- Add MLT query against documents [#814](https://github.com/ruflin/Elastica/issues/814/) 722- Added Elastica\Query\SimpleQueryString::setMinimumShouldMatch [#813](https://github.com/ruflin/Elastica/issues/813/) 723- Added Elastica\Query\FunctionScore::setMinScore [#813](https://github.com/ruflin/Elastica/issues/813/) 724- Added Elastica\Query\MoreLikeThis::setMinimumShouldMatch [#813](https://github.com/ruflin/Elastica/issues/813/) 725- Added new methods to Elastica\Aggregation\DateHistogram: setOffset, setTimezone [#813](https://github.com/ruflin/Elastica/issues/813/) 726- Following methods in Elastica\Aggregation\DateHistogram marked as deprecated: setPreOffset, setPostOffset, setPreZone, setPostZone, setPreZoneAdjustLargeInterval [#813](https://github.com/ruflin/Elastica/issues/813/) 727- Add Elastica\Facet\DateHistogram::setFactor() [#806](https://github.com/ruflin/Elastica/issues/806/) 728- Added Elastica\Query\QueryString::setTimezone [#813](https://github.com/ruflin/Elastica/issues/813/) 729- Add .editorconfig [#807](https://github.com/ruflin/Elastica/issues/807/) 730- Added Elastica\Suggest\Completion [#808](https://github.com/ruflin/Elastica/issues/808/) 731- Fix elasticsearch links to elastic domain [#809](https://github.com/ruflin/Elastica/issues/809/) 732- Added Elastica\Query\Image [#787](https://github.com/ruflin/Elastica/issues/787/) 733- Add Scrutinizer Code Quality status badge 734- Added support for percentiles aggregation [#786](https://github.com/ruflin/Elastica/issues/786/) 735 736 737 738## Changelog before 2.0.0 739The changelog before version 2.0.0 was organised by date. All changes can be found below. 740 7412015-02-17 742- Release v1.4.3.0 743- Added Elastica\Query\MatchPhrase [#599](https://github.com/ruflin/Elastica/issues/599/) 744- Added Elastica\Query\MatchPhrasePrefix [#599](https://github.com/ruflin/Elastica/issues/599/) 745 7462015-02-04 747- Reset PHP 5.3 tests and enable compatibility for PHP 5.3 again 748 7492015-02-16 750- Update elasticsearch compatibility to 1.4.3 [#782](https://github.com/ruflin/Elastica/issues/782/) 751- Add support for scripted metric aggrations [#780](https://github.com/ruflin/Elastica/issues/780/) 752 7532015-02-14 754- Added availability to specify regexp options in \Elastica\Filters\Regexp [#583](https://github.com/ruflin/Elastica/issues/583/) [#777](https://github.com/ruflin/Elastica/issues/777/) 755- Add HHVM as build in travis [#649](https://github.com/ruflin/Elastica/issues/649/) 756 7572015-02-11 758- Fixed issue with OutOfMemory exception in travis builds [#775](https://github.com/ruflin/Elastica/issues/775/) 759- Add support for filters aggregation [#773](https://github.com/ruflin/Elastica/issues/773/) 760 7612015-01-27 762- Housekeeping, coding standard [#764](https://github.com/ruflin/Elastica/issues/764/) 763- Exception\ElasticsearchException now can be catched like all other exceptions as Exception\ExceptionInterface [#762](https://github.com/ruflin/Elastica/issues/762/) 764 7652015-01-25 766- Release v1.4.2.0 767 7682015-01-23 769- Added Elastica\Query\Regexp [#757](https://github.com/ruflin/Elastica/issues/757/) 770 7712015-01-19 772- Update to elasticsearch 1.4.2 [#378](https://github.com/ruflin/Elastica/issues/378/) 773- Remove support for PHP 5.3 774 7752015-01-14 776- added @return annotation to top_hits aggregation DSL method [#752](https://github.com/ruflin/Elastica/issues/752/) 777 7782015-01-07 779- Added Elastica\Aggregation\TopHits [#718](https://github.com/ruflin/Elastica/issues/718/) 780 7812015-01-05 782- Vagrantfile updated [#742](https://github.com/ruflin/Elastica/issues/742/) 783- Plugins updated to ES 1.3.4 784- Since new version of thrift plugin is compatible with ES 1.3.4, plugin added back to test environment 785 7862014-12-30 787- Added: Filter\Range::setExecution, Filter\Terms::setExecution, Filter\Missing::setExistence, Filter\Missing::setNullValue, Filter\HasChild::setMinumumChildrenCount, Filter\HasChild::Filter\HasChild::setMaximumChildrenCount, Filter\Indices::addIndex 788- Filter\HasChild::setType, Filter\HasParent::setType now support Type instance as argument 789- Filter\Indices::setIndices, Filter\Indices::addIndex now support Index instance as argument 790- (BC break) Removed as added by mistake: Filter\HasChild::setScope, Filter\HasParent::setScope, Filter\Nested::setScoreMode, Filter\Bool::setBoost 791 7922014-12-23 793- Additional Request Body Options for Percolator [#737](https://github.com/ruflin/Elastica/issues/737/) 794 7952014-12-19 796- making sure id is urlencoded when using updateDocument [#734](https://github.com/ruflin/Elastica/issues/734/) 797- Implement the `weight` in the function score query [#735](https://github.com/ruflin/Elastica/issues/735/) 798 7992014-12-09 800- Changed setRealWorldErrorLikelihood to setRealWordErrorLikelihood [#729](https://github.com/ruflin/Elastica/issues/729/) 801 8022014-11-23 803- allow to customize the key on a range aggregation [#728](https://github.com/ruflin/Elastica/issues/728/) 804 8052014-12-14 806- Added fluent interface to Elastica\Query::setRescore [#733](https://github.com/ruflin/Elastica/issues/733/) 807 8082014-11-30 809- Added transport to support egeloen/http-adapter [#727](https://github.com/ruflin/Elastica/issues/727/) 810 8112014-11-20 812- add cache control parameters support to Elastica\Filter\Bool [#725](https://github.com/ruflin/Elastica/issues/725/) 813 8142014-11-19 815- Avoid remove previously added params when adding a suggest to the query [#726](https://github.com/ruflin/Elastica/issues/726/) 816 8172014-11-16 818- Added Elastica\QueryBuilder [#724](https://github.com/ruflin/Elastica/issues/724/) 819- Update to elasticsearch 1.4.0 820- Disable official support for PHP 5.3 821 8222014-11-13 823- fixed reserved words in queries which composed of upper case letters (Util::replaceBooleanWords) [#722](https://github.com/ruflin/Elastica/issues/722/) 824 8252014-10-31 826- Adding PSR-4 autoloading support [#714](https://github.com/ruflin/Elastica/issues/714/) 827 8282014-10-29 829- Updated Type::getDocument() exception handling. \Elastica\Exception\ResponseException will be thrown instead of \Elastica\Exception\NotFoundException if the ES response contains any error (i.e: Missing index) (BC break) [#687](https://github.com/ruflin/Elastica/issues/687/) 830 8312014-10-22 832- Added Util::convertDateTimeObject to Util class to easily convert \DateTime objects to required format [#709](https://github.com/ruflin/Elastica/issues/709/) 833 8342014-10-15 835- Remove ResponseException catch in Type::getDocument() [#704](https://github.com/ruflin/Elastica/issues/704/) 836 8372014-10-10 838- Fixed Response::isOk() to work better with bulk update api [#702](https://github.com/ruflin/Elastica/issues/702/) 839- Adding magic __call() [#700](https://github.com/ruflin/Elastica/issues/700/) 840 8412014-10-05 842- ResultSet creation moved to static ResultSet::create() method [#690](https://github.com/ruflin/Elastica/issues/690/) 843- Accept an options array at Type::updateDocument() [#686](https://github.com/ruflin/Elastica/issues/686/) 844- Improve exception handling in Type::getDocument() [#693](https://github.com/ruflin/Elastica/issues/693/) 845 8462014-10-04 847- Release v1.3.4.0 848- Update to elasticsearch 1.3.4 [#691](https://github.com/ruflin/Elastica/issues/691/) 849 8502014-09-22 851- Update the branch alias in composer.json to match the library version [#683](https://github.com/ruflin/Elastica/issues/683/) 852 8532014-09-16 854- Update license in composer.json to match project [#681](https://github.com/ruflin/Elastica/issues/681/) 855 8562014-09-08 857- Delete execution permission from non-executable files [#677](https://github.com/ruflin/Elastica/issues/677/) 858 8592014-08-25 860- Top-level filter parameter in search has been renamed to post_filter [#669](https://github.com/ruflin/Elastica/issues/669/) [#670](https://github.com/ruflin/Elastica/issues/670/) 861- Deprecated: Elastica\Query::setFilter() is deprecated. Use Elastica\Query::setPostFilter() instead. [#669](https://github.com/ruflin/Elastica/issues/669/) 862- Deprecated: Elastica\Query::setPostFilter() passing filter as array is deprecated. Pass instance of AbstractFilter instead. [#669](https://github.com/ruflin/Elastica/issues/669/) 863 8642014-08-22 865- Fixed escaping of / character in Elastica\Util::escapeTerm(), removed usage of JSON_UNESCAPED_SLASHES in Elastica\JSON [#660](https://github.com/ruflin/Elastica/issues/660/) 866 8672014-08-06 868- Add connection pool and connection strategy 869 8702014-07-26 871- Release v1.3.0.0 872- Prepare Elastica Release v1.3.0.0 873 8742014-07-25 875- Update to elasticsearch version 1.3.0 https://www.elastic.co/downloads/past-releases/1-3-0 876 8772014-07-14 878 - Add setQuery() method to Elastica\Query\ConstantScore [#653](https://github.com/ruflin/Elastica/issues/653/) 879 8802014-07-12 881 - Be able to configure ES host/port via ENV var in test env [#652](https://github.com/ruflin/Elastica/issues/652/) 882 8832014-07-07 884 - Fix FunstionScore Query random_score without seed bug. [#647](https://github.com/ruflin/Elastica/issues/647/) 885 8862014-07-02 887- Add setPostFilter method to Elastica\Query (https://www.elastic.co/guide/en/elasticsearch/guide/current/_post_filter.html) [#645](https://github.com/ruflin/Elastica/issues/645/) 888 8892014-06-30 890- Add Reverse Nested aggregation (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-reverse-nested-aggregation.html). [#642](https://github.com/ruflin/Elastica/issues/642/) 891 8922014-06-14 893- Release v1.2.1.0 894- Removed the requirement to set arguments filter and/or query in Filtered, according to the documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html [#616](https://github.com/ruflin/Elastica/issues/616/) 895 8962014-06-13 897- Stop ClientTest->testDeleteIdsIdxStringTypeString from failing 1/3 of the time [#634](https://github.com/ruflin/Elastica/issues/634/) 898- Stop ScanAndScrollTest->testQuerySizeOverride from failing frequently for no reason [#635](https://github.com/ruflin/Elastica/issues/635/) 899- rework Document and Script so they can share some infrastructure allowing scripts to specify things like _retry_on_conflict and _routing [#629](https://github.com/ruflin/Elastica/issues/629/) 900 9012014-06-11 902- Allow bulk API deletes to be routed [#631](https://github.com/ruflin/Elastica/issues/631/) 903 9042014-06-10 905- Update travis to elasticsearch 1.2.1, disable Thrift plugin as not compatible and fix incompatible tests 906 9072014-06-04 908- Implement Boosting Query (https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-boosting-query.html) [#625](https://github.com/ruflin/Elastica/issues/625/) 909 9102014-06-02 911- add retry_on_conflict support to bulk [#623](https://github.com/ruflin/Elastica/issues/623/) 912 9132014-06-01 914- toString updated to consider doc_as_upsert if sent an array source [#622](https://github.com/ruflin/Elastica/issues/622/) 915 9162014-05-27 917- Fix Aggragations/Filter to work with es v1.2.0 [#619](https://github.com/ruflin/Elastica/issues/619/) 918 9192014-05-25 920- Added Guzzle transport as an alternative to the default Http transport [#618](https://github.com/ruflin/Elastica/issues/618/) 921- Added Elastica\ScanAndScroll Iterator (https://www.elastic.co/guide/en/elasticsearch/guide/current/scan-scroll.html) [#617](https://github.com/ruflin/Elastica/issues/617/) 922 9232014-05-13 924- Add JSON compat library; Elasticsearch JSON flags and nicer error handling [#614](https://github.com/ruflin/Elastica/issues/614/) 925 9262014-05-12 927- Update dev builds to phpunit 4.1.* 928 9292014-05-11 930- Set processIsolation and backupGlobals to false to speed up tests. processIsolation was very slow with phpunit 4.0.19. 931 9322014-05-05 933- Fix get settings on alaised index [#608](https://github.com/ruflin/Elastica/issues/608/) 934- Added named function for source filtering [#605](https://github.com/ruflin/Elastica/issues/605/) 935- Scroll type constant to Elastica\Search added [#607](https://github.com/ruflin/Elastica/issues/607/) 936 9372014-04-28 938- Added setAnalyzer method to Query\FuzzyLikeThis Class and fixed issue with params not being merged [#611](https://github.com/ruflin/Elastica/issues/611/) 939- Typo fixes [#600](https://github.com/ruflin/Elastica/issues/600/), [#602](https://github.com/ruflin/Elastica/issues/602/) 940- Remove unreachable return statement [#598](https://github.com/ruflin/Elastica/issues/598/) 941 9422014-04-27 943- Release v1.1.1.1 944- Fix missing use in TermsStats->setOrder() [#597](https://github.com/ruflin/Elastica/issues/597/) 945- Replace all instances of ElasticSearch with Elasticsearch [#597](https://github.com/ruflin/Elastica/issues/597/) 946 9472014-04-24 948- Fixing the Bool filter with Bool filter children bug [#594](https://github.com/ruflin/Elastica/issues/594/) 949 9502014-04-22 951- Remove useless echo in the Memcache Transport object [#595](https://github.com/ruflin/Elastica/issues/595/) 952 9532014-04-21 954- escape \ by \\ [#592](https://github.com/ruflin/Elastica/issues/592/) 955 9562014-04-20 957- Handling of HasChild type parsing bug [#585](https://github.com/ruflin/Elastica/issues/585/) 958- Consolidate Index getMapping tests [#591](https://github.com/ruflin/Elastica/issues/591/) 959- Fix Type::getMapping when using an aliased index [#588](https://github.com/ruflin/Elastica/issues/588/) 960 9612014-04-19 962- Release v1.1.1.0 963- Update to elasticsearch 1.1.1 https://www.elastic.co/downloads/past-releases/1-1-1 964- Remove CustomFiltersScore and CustomScore query as removed in elasticsearch 1.1.0 https://github.com/elasticsearch/elasticsearch/pull/5076/files 965- Update Node Info to use plugins instead of plugin (https://github.com/elasticsearch/elasticsearch/pull/5072) 966- Fix mapping issue for aliases [#588](https://github.com/ruflin/Elastica/issues/588/) 967 9682014-04-17 969- Only trap real JSON parse errors in Response class [#586](https://github.com/ruflin/Elastica/issues/586/) 970 9712014-04-09 972- Added Cardinality aggregation [#581](https://github.com/ruflin/Elastica/issues/581/) 973 9742014-04-07 975- Support for Terms filter lookup options [#579](https://github.com/ruflin/Elastica/issues/579/) 976 9772014-03-29 978- Update to elasticsearch 1.1.0 https://www.elastic.co/downloads/past-releases/1-1-0 979 9802014-03-26 981- Fixed Query\Match Fuzziness parameter type [#576](https://github.com/ruflin/Elastica/issues/576/) 982 9832014-03-24 984- Release v1.0.1.2 985- Added Filter\Indices [#574](https://github.com/ruflin/Elastica/issues/574/) 986 9872014-03-25 988- Allow json string as data srouce for Bulk\Action on update [#575](https://github.com/ruflin/Elastica/issues/575/) 989 9902014-03-20 991- Allow for request params in delete by query calls [#573](https://github.com/ruflin/Elastica/issues/573/) 992 9932014-03-17 994- Added filters: AbstractGeoShape, GeoShapePreIndexed, GeoShapeProvided [#568](https://github.com/ruflin/Elastica/issues/568/) 995 9962014-03-15 997- Percolate existing documents and add percolate options ([#570](https://github.com/ruflin/Elastica/issues/570/)) 998 9992014-03-14 1000- Added Query\Rescore [#441](https://github.com/ruflin/Elastica/issues/441/) 1001 10022014-03-13 1003- Added missing query options for MultiMatch (operator, minimum_should_match, zero_terms_query, cutoff_frequency, type, fuzziness, prefix_length, max_expansions, analyzer) [#569](https://github.com/ruflin/Elastica/issues/569/) 1004- Added missing query options for Match (zero_terms_query, cutoff_frequency) [#569](https://github.com/ruflin/Elastica/issues/569/) 1005 10062014-03-11 1007- Fixed request body reuse in http transport [#567](https://github.com/ruflin/Elastica/issues/567/) 1008 10092014-03-08 1010- Release v1.0.1.1 1011- Enable goecluster-facet again as now compatible with elasticsearch 1.0 on travis 1012- Run elasticsearch in the background to not have log output in travis build 1013- Set memache php version as environment variable 1014- Update to memcache 3.0.8 for travis 1015 10162014-03-07 1017- Add snapshot / restore functionality (Elastica\Snapshot) [#566](https://github.com/ruflin/Elastica/issues/566/) 1018 10192014-03-04 1020- Add PHP 5.6 to travis test environment 1021- Improve performance of Elastica/Status->getIndicesWithAlias and aliasExists on clusters with many indices [#563](https://github.com/ruflin/Elastica/issues/563/) 1022 10232014-03-02 1024- Release v1.0.1.0 1025- Fixed Type->deleteByQuery() not working with Query objects [#554](https://github.com/ruflin/Elastica/issues/554/) 1026 10272014-02-27 1028- Update to elasticsearch 1.0.1. Update Thrift and Geocluster plugin. 1029 10302014-02-25 1031- Add JSON_UNESCAPED_UNICODE and JSON_UNESCAPED_SLASHES options in Elastica/Transport/Http, Elastica/Bulk/Action [#559](https://github.com/ruflin/Elastica/issues/559/) 1032 10332014-02-20 1034- Fixed unregister percolator (still used _percolator instead of .percolator). removed duplicate slash from register percolator route. [#558](https://github.com/ruflin/Elastica/issues/558/) 1035 10362014-02-17 1037- Throw PartialShardFailureException if response has failed shards 1038- Elastica/Aggregations/GlobalAggragation not allowed as sub aggragation [#555](https://github.com/ruflin/Elastica/issues/555/) 1039 10402014-02-14 1041- Add methods setSize, setShardSize to Elastica/Aggregation/Terms 1042- Elastica/Aggregation/GlobalAggregationTest fixed bug where JSON returned [] instead of {} 1043- Elastica/ResultSet added method hasAggregations 1044 10452014-02-13 1046- Moved from Apache License to MIT license 1047 10482014-02-12 1049- Release v1.0.0.0 1050- Updated to elasticsearch 1.0: https://www.elastic.co/blog/1-0-0-released/ 1051 10522014-02-11 1053- Add aggregations 1054 10552014-02-08 1056- Setting shard timeout doesn't work [#547](https://github.com/ruflin/Elastica/issues/547/) 1057 10582014-02-04 1059- Remove Elastica\Query\Field and Elastica\Query\Text, which are not supported in ES 1.0.0.RC1 1060- Minor tweaking of request and result handling classes to adjust for changes in ES 1.0.0.RC1 1061- Update mapper-attachments plugin to version 2.0.0.RC1 in .travis.yml 1062- Adjust tests to account for changes in ES 1.0.0.RC1 1063- Prevent the geocluster-facet plugin from being installed in test/bin/run_elasticsearch.sh as the plugin has not yet been updated for ES 1.0.0.RC1 1064 10652014-01-06 1066- Update to elasticsearch v1.0.0.RC2 1067 10682014-01-02 1069- Added Elastica\Query\DisMax 1070- Update to elasticsearch v1.0.0.RC1 1071 10722014-01-02 1073- Release v0.90.10 1074 10752014-01-31 1076- Fix _bulk delete proxy methods if type or index not explicitly defined. 1077 10782014-01-28 1079- Add _bulk delete proxy methods to Index and Type for consistency. 1080- Use the HTTP response code of GET requests (getDocument), instead of extists/found json property. 1081 10822014-01-22 1083- Add getParam & getProperties methods to Elastica\Type\Mapping 1084 10852014-01-21 1086- Code coverage generation for coveralls.io added: https://coveralls.io/r/ruflin/Elastica 1087- Add support for shard timeout to the Bulk api. 1088 10892014-01-17 1090- Fix typo in constant name: Elastica\Query\FunctionScore::DECAY_GUASS becomes DECAY_GAUSS 1091 10922014-01-13 1093- Add support for _bulk update 1094 10952014-01-14 1096- added \Elastica\Exception\ResponseException::getElasticsearchException() 1097- Changed logger default log level to debug from info 1098 10992014-01-13 1100- Update to elasticsearch 0.90.10 1101- Add Elastica\Facet\TermsStats::setOrder() 1102 11032014-01-08 1104- Adding analyze function to Index to expose the _analyze API 1105 11062014-01-07 1107- Document::setDocAsUpsert() now returns the Document 1108 11092013-12-18 1110- Update to Elasticsearch 0.90.8 1111- Add support for simple_query_string query 1112 11132013-12-15 1114- Add support for filter inside HasChild filter 1115- Add support for filter inside HasParent filter 1116 11172013-12-12 1118- Always send scroll_id via HTTP body instead of as a query param 1119- Fix the manner in which suggestion results are returned in \Elastica\ResultSet and adjust associated tests to account for the fix. 1120- Add \Elastica\Resultset::hasSuggests() 1121 11222013-12-11 1123- Pass arguments to optimize as query 1124- Add refreshAll on Client 1125 11262013-12-07 1127- Added Result::hasFields() and Result::hasParam() methods for consistency with Document 1128 11292013-12-07 1130- Escape slash in Util::escapeTerm, as it is used for regexp from Elastic 0.90 1131 11322013-12-05 1133- Add *.iml to .gitignore 1134- Refactor suggest implementation (\Elastica\Suggest, \Elastica\Suggest\AbstractSuggest, and \Elastica\Suggest\Term) to more closely resemble query implementation. (BC break) 1135- \Elastica\Search::addSuggest() has been renamed to \Elastica\Search::setSuggest() 1136- \Elastica\Query::addSuggest() has been renamed to \Elastica\Query::setSuggest() 1137- Add \Elastica\Suggest\Phrase, \Elastica\Suggest\CandidateGenerator\AbstractCandidateGenerator, and \Elastica\Suggest\CandidateGenerator\DirectGenerator 1138 (see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-phrase.html) 1139 11402013-12-04 1141- Remove boost from FunctionScore::addFunction because this is not supported by elasticsearch 1142 11432013-12-02 1144- Issue [#491](https://github.com/ruflin/Elastica/issues/491/) resolved 1145 11462013-12-01 1147- Issue [#501](https://github.com/ruflin/Elastica/issues/501/) resolved 1148- satooshi/php-coveralls package added for coverall.io 1149- Multiple badges for downloads and latest stable release added 1150 11512013-11-30 1152- Remove facets param from query if is empty array 1153- Add size param to API for TermsStats 1154 11552013-11-23 1156- Release v0.90.7.0 1157 11582013-11-19 1159- Updated geocluster-facet to 0.0.9 1160 11612013-11-18 1162- Added \Elastica\Filter\Regexp 1163 11642013-11-16 1165- Remove wrong documentation for "no limit" [#496](https://github.com/ruflin/Elastica/issues/496/) 1166- Update to elasticsearch 0.90.7 1167 11682013-11-03 1169- Issue [#490](https://github.com/ruflin/Elastica/issues/490/): Set Elastica\Query\FunctionScore::DECAY_EXPONENTIAL to "exp" instead of "exponential" 1170 11712013-10-29 1172- Elastica_Type::exists() added 1173 See https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-types-exists.html#indices-types-exists 1174 11752013-10-27 1176- Adapted possible values (not only in) for minimum_should_match param based on elasticsearch documetnation https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html 1177 11782013-10-27 1179- Release v0.90.5.0 1180 11812013-10-26 1182- Update to elasticsearch 0.90.5 1183 11842013-10-21 1185- Fix \Elastica\Filter\HasParent usage of \Elastica\Query as to not collide with \Elastica\Filter\Query, bring \Elasitca\Filter\HasChild into line 1186 11872013-10-01 1188- Also pass the current client object to the failure callback in \Elastica\Client. 1189 11902013-09-20 1191- Update to geocluster-facet 0.0.8 1192- Add support for term suggest API 1193 See https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-term.html 1194 11952013-09-18 1196- Fix \Elastica\Filter\HasChild usage of \Elastica\Query as to not collide with \Elastica\Filter\Query namespace 1197 11982013-09-17 1199- Update to elasticsearch 0.90.4 1200- Add support for function_score query 1201- Skip geocluster-facet test if the plugin is not installed 1202- Correct \Elastica\Test\ClientTest to catch the proper exception type on connection failure 1203- Fix unit test errors 1204 12052013-09-14 1206- Nested filter supports now the setFilter method 1207 12082013-09-03 1209- Support isset() calls on Result objects 1210 12112013-08-27 1212- Add \ArrayAccess on the ResultSet object 1213 12142013-08-25 1215- Update to elasticsearch 0.90.3 1216 12172013-08-25 1218- Release v0.90.2.0 1219 12202013-08-20 1221- Support for "proxy" param for http connections 1222 12232013-08-17 1224- Add support for fields parameter in Elastica_Type::getDocument() 1225 12262013-08-13 1227- Add a getQuery method on the FilteredQuery object 1228 12292013-08-01 1230- Second param to \Elastica\Search.php:count($query = '', $fullResult = false) added. If second param is set to true, full ResultSet is returned including facets. 1231 12322013-07-16 1233- Plugin geocluster-facet support added 1234 12352013-07-02 1236- Add Query\Common 1237- Can now create a query by passing an array to Type::search() 1238 12392013-07-01 1240- Add Filter\GeohashCell 1241 12422013-06-30 1243- Revamped upsert so that Scripts are now first class citizens. (BC break) 1244 See http://elastica.io/migration/0.90.2/upsert.html 1245- Implemented doc_as_upsert. 1246 12472013-06-29 1248- Update to elasticsearch 0.90.2 1249- Enabled ES_WAIT_ON_MAPPING_CHANGE for travis builds 1250 12512013-06-25 1252- Added upsert support when updating a document with a partial document or a script. 1253 12542013-06-23 1255- Add filtered queries to the percolator API. 1256 12572013-06-21 1258- Correct class name for TermTest unit test 1259- Implement terms lookup feature for terms filter 1260 12612013-06-14 1262- Fix support for making scroll queries once the scroll has been started. 1263 12642013-06-07 1265- Release 0.90.1.0 1266 12672013-06-05 1268- Changed package name to lowercase to prevent potential issues with case sensitive file systems and to refelect the package name from packagist.org. 1269 If you are requiring elastica in your project you might want to change the name in the require to lowercase, although it will still work if written in uppercase. 1270 The composer autoloader will handle the package correctly and you will not notice any difference. 1271 If you are requiring or including a file by hand with require() or include() from the composer vendor folder, pay attention that the package name in 1272 the path will change to lowercase. 1273- Add Bulk\Action\UpdateDocument. 1274- Update Bulk\Action\AbstractDocument and Bulk\Action to enable use of OP_TYPE_UPDATE. 1275- Update .travis.yml to use Elasticsearch version 0.9.1, as bulk update is a new feature in 0.9.1. 1276 12772013-06-04 1278- Elastica\Client::_configureParams() changed to _prepareConnectionParams(), which now takes the config array as an argument 1279 12802013-06-03 1281- Add getPlugins and hasPlugin methods to Node\Info 1282 12832013-05-30 1284- Update Index\Status::getAliases() to use new API 1285- Update Index\Status::getSettings() to use new API 1286 12872013-05-29 1288- Add _meta to mapping. [#330](https://github.com/ruflin/Elastica/issues/330/) 1289 12902013-05-27 1291- Added parameters to implement scroll 1292 12932013-05-23 1294- add support PSR-3(https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) 1295- Elastica\Log implement LoggerInterface(extends Psr\Log\AbstractLogger) 1296 if you want use logging need install https://github.com/php-fig/log for example (composer require psr/log:dev-master) 1297 if use Elastica\Log inside Elastica\Client nothing more is needed 1298 if use Elastica\Log outside we need use as(https://github.com/php-fig/log) for example Elastica\Log::info($message) or Elastica\Log::log(LogLevel::INFO,$message) 1299- Elastica\Client add setLogger for setting custom Logger for example Monolog(https://github.com/Seldaek/monolog) 1300 13012013-05-18 1302- Elastica\Index::exists fixed for 0.90.0. HEAD request method introduced 1303- Elastica\Filter\AbstractMulti::getFilters() added 1304- Implement Elastica\Type\Mapping::enableAllField 1305- Refresh for Elastica\Index::flush implemented [#316](https://github.com/ruflin/Elastica/issues/316/) 1306- Added optional parameter to filter result while percolate [#384](https://github.com/ruflin/Elastica/issues/384/) 1307 13082013-05-07 1309- Added EXPERIMENTAL DocumentObjectInterface to be used with Type::addObject()/addObjects() 1310 13112013-04-23 1312- Removed Elastica\Exception\AbstractException 1313- All Exceptions now implement Elastica\Exception\ExceptionInterface 1314 13152013-04-17 1316- Query\Fuzzy to comply with DSL spec. Multi-field queries now throw an exception. Implemented: Query\Fuzzy::setField, Query\Fuzzy::setFieldOption. 1317- Query\Fuzzy::addField has been deprecated. 1318 13192013-04-12 1320- Adding max score information in ResultSet 1321- Adding test for the ResultSet class 1322 13232013-03-20 1324- Removal of unsupported minimum_number_should_match for Boolean Filter 1325 13262013-02-25 1327- Added Elastica\Bulk class responsible for performing bulk requests. New bulk requests implemented: Client::deleteDocuments(), Bulk::sendUdp() 1328 13292013-02-20 1330- Release candidate 0.20.5.0.RC1 1331 13322013-02-14 1333- Added factory for transports that is used by the Connection class 1334- The transport instances now has support for parameters that can be injected by specifying an array as a transport when creating the Elastica client 1335 13362013-02-08 1337- Terms->setScript() Added, namespace Elastica\Facet 1338 13392013-01-31 1340- Removed deprecated method Type::getType() 1341- Removed deprecated old constructor call in Filter\GeoDistance::__construct() 1342- Removed deprecated method Filter\Script::setQuery() 1343- Removed deprecated methods Query\QueryString::setTieBraker() and Query\QueryString::setQueryString() 1344- Removed deprecated methods Query\Builder::minimumShouldMatch() and Query\Builder::tieBreaker() 1345 13462013-01-25 1347- Add get/set/has/remove methods to Document 1348- Add magic methods __get/__set/__isset/__unset to Document 1349- Document::add method became deprecated, use set instead 1350- Populate document id created by elasticsearch on addDocument()/addDocuments() call if no document id was set 1351- Populate updated fields in document on Client::updateDocument() call if fields options is set 1352 13532013-01-24 1354- Added serialization support. Objects can be added to elastica directly when a serializer callable is configured on \Elastica\Type 1355 13562013-01-21 1357- Added Thrift transport. Ir requires installing munkie/elasticsearch-thrift-php package and elasticsearch-tranport-thrift plugin should be installed in elastcisearch 1358 13592013-01-13 1360- Add version option to Elastica_Search::search 1361- Remove compatibility for PHP 5.2 1362- Changed all syntax using namespaces, in compliance with PSR-2. 1363- Usage of composer for lib and test autoloading 1364- Added PHPUnit as a dev dependency in composer.json 1365- All tests were rewritten for new syntax. 1366- All tests where moved in Elastica\Test namespace 1367- All tests now inherit from Elastica\Test\Base 1368- Removed all executable flags on files where not needed. 1369- Update to elasticsearch 0.20.2 1370- Refactored Elastica_Script and added it support in Elastica_Query_CustomFiltersScore, Elastica_Query_CustomScore and Elastica_Filter_Script 1371- Refactored Elastica_Client::updateDocument() method to support partial document update. $data can be Elastic_Script, Elastic_Document or array. 1372- Elastica_Type::updateDocument() now takes Elastica_Document instead of Elastica_Script (BC break). Script can be set to document to perform script update. 1373 13742012-12-23 1375- Elastica_Client config param "servers" to "connections" renamed. "headers" and "curl" are now a config param inside "connections" 1376- Elastica_Connection added to allow connection management (enabled / disable) 1377- Refactoring of Elastica_Request. Takes Elastica_Connection in constructor instead of Elastica_Client 1378- Elastica_Transport refactored 1379- Elastica_Log refactored 1380- Renamed Elastica_Exception_Client to Elastica_Exception_Connection 1381- Use Elastica_Connection for the following constants: DEFAULT_PORT, DEFAULT_HOST, DEFAULT_TRANSPORT, TIMEOUT 1382 13832012-11-28 1384- Added Elastica_Filter_GeoDistanceRange filter 1385 13862012-11-23 1387- Simplified Elastica_Document data handling by extending Elastica_Param 1388 13892012-11-10 1390- Added Elastica_Cluster_Health, Elastica_Cluster_Health_Index and Elastica_Cluster_Health_Shard which wrap the _cluster/health endpoint. 1391- Added Elastica_Document::setId() 1392- Added options parameter to Elastica_Type::getDocument() 1393- Added Elastica_Query_Filtered::getFilter() 1394 13952012-10-30 1396- Elastica_Search implement Elastica_Searchable interface 1397 13982012-10-28 1399- Add Elastica_Filter_HasParent and Elastic_Query_HasParent 1400 14012012-08-11 1402- Release v0.19.8.0 1403- Elastica_Query_Prefix added 1404 14052012-07-26 1406- Change Elastica_Filter_GeoDistance::__construct(), accepts geohash parameter (BC break, before: ($key, $latitude, $longitude, $distance), after: ($key, $location, $distance) where $location is array('lat' => $latitude, 'lon' => $longitude) or a geohash) 1407 14082012-07-17 1409- Changed naming for several methods to camelCase 1410- Enforced PSR1 code style, as per https://github.com/pmjones/fig-standards/blob/psr-1-style-guide/proposed/PSR-1-basic.md 1411- Added Elastica_Script::toArray 1412- Added Elastica_ScriptFields 1413- Elastica_Query::setScriptFields now takes Elastica_ScriptFields or associative array as argument, the old implementation was bogus. 1414 14152012-06-24 1416- Simplify Elastica_Type::search and Elastica_Index::search by using Elastica_Search 1417- Implement Elastica_Filter_Abstract::setCache and Elastica_Filter_Abstract::setCacheKey 1418- Add Elastica_Param::hasParam 1419- Remove unsupported use of minimum number should match for Boolean Filter 1420- Remove old style path creation through params in Elastica_Index::create and Elastica_Search::search 1421 14222012-06-22 1423- Add Elastica_Filter_Limit 1424- Add getters+setters for Index Setting blocks 'read', 'write' and 'metadata' 1425- Add Elastica_Filter_MatchAll 1426 14272012-06-20 1428- Facet scope added 1429 14302012-06-09 1431- Change $_parent to null to also support 0 for an id 1432- Fix Elasitca_Document->toArray() 1433 14342012-05-01 1435- Release v0.19.3.0 1436- MoreLikeThis Query in Elastica_Document 1437- Add query param for request (allows GET params) 1438 14392012-03-04 1440- Node info call update. The receive os info and more, param is needed. By default, only basics are returned 1441- Release v0.19.0.0 which is compatible with ES 0.19.0 https://www.elastic.co/downloads/past-releases/0-19-0 1442 14432012-02-21 1444- Allow percolate queries in bulk requests 1445- Fix memory leak in curl requests 1446 14472012-01-23 1448- Packagist added http://packagist.org/ 1449 14502012-01-15 1451- Vagrantfile for vagrant environment with elasticsearch added. Run: vagrant up 1452 14532012-01-08 1454- Allow to set curl params over client config [#106](https://github.com/ruflin/Elastica/issues/106/) [#107](https://github.com/ruflin/Elastica/issues/107/) 1455- Add the possibility to add path or url in config for a request [#120](https://github.com/ruflin/Elastica/issues/120/) 1456 14572012-01-04 1458- Elastica_Index::exists() and Elastica_Cluster::getIndexNames() added 1459 14602012-01-01 1461- Elastica_Cluster_Settings added 1462- Read only feature for cluster and index added. This feature is elasticsearch >0.19.0 only. ES 0.19.0 release is not out yet 1463 14642011-12-29 1465- Elastica_Type::deleteByQuery implemented 1466 14672011-12-20 1468- Release v0.18.6.0 1469 14702011-12-19 1471- Percolator for Type and Documents added 1472 14732011-12-06 1474- Elastica_Percolator added. See tests for more details 1475 14762011-12-02 1477- Rename Elastica_Type::getType() to Elastica_Type::getName(), getType() is now deprecated 1478 14792011-12-01 1480- Elastica_Filter_Term::addTerm renamed to setTerm, Elastica_Filter_Term::setTerm renamed to setRawTerm 1481- Elastica_Query_Term::addTerm renamed to setTerm, Elastica_Query_Term::setTerm renamed to setRawTerm 1482 14832011-11-30 1484- Release v0.18.5.0 1485 14862011-11-28 1487- Elastica_Filter_Nested added 1488 14892011-11-26 1490- Elastica_Search::addIndices(), Elastica_Search::addTypes() added 1491 14922011-11-20 1493- Release v0.18.4.1 1494- Elastica_Log added for logging. Has to be passed as client config to enable 1495- Elastica blogging introduced: http://ruflin.com/en/elastica 1496 14972011-11-17 1498- Release v0.18.4.0 1499- Support for Travis CI added: http://travis-ci.org/ruflin/Elastica 1500 15012011-11-07 1502- Elastica_Index_Stats added 1503 15042011-11-05 1505- Elastica_Query_Nested added 1506 15072011-10-29 1508- TTL for document and mapping added 1509 15102011-10-28 1511- Refactored Elastica_Query_CustomScore::addCSParam to ::addParams 1512- Rename Elastica_Query_CustomScore::addParam to ::addCSParam 1513- Release v0.18.1.0 1514 15152011-10-20 1516- Release v0.17.9.0 1517- Elastica_Filter_Type added 1518 15192011-10-19 1520- Elastica_Query_CustomFilterScore added 1521 15222011-10-15 1523- API Documentation changed to DocBlox 1524 15252011-10-10 1526- Bug fixing 1527- Release v0.17.8.0 added 1528 15292011-09-19 1530- Release v0.17.7.0 added 1531- Release v0.17.6.1 added 1532 15332011-09-18 1534- Elastica_Exception_ExpectedFieldNotFound renamed to Elastica_Exception_NotFound 1535 15362011-08-25 1537- Https transport layer added 1538 15392011-08-22 1540- Typo in Terms query fixed (issue [#74](https://github.com/ruflin/Elastica/issues/74/)) 1541 15422011-08-15 1543- Refactoring HTTP connection to keep alive connection -> speed improvement during using the same client 1544- Release v0.17.6.0 added 1545 15462011-08-09 1547- Automatic creation of id for documents added. This was more a bug 1548- Release v0.17.4.0 added 1549 15502011-08-08 1551- Elastica_Query_Text added 1552- Params (constructor) of Elastica_Filter_GeoBoundingBox changed (array instead of single params) 1553 15542011-08-07 1555- Elastica_Query_MoreLikeThis added by @juneym. Still work under progress 1556- Refactoring Queries and Filters to use Elastica_Param. Adding tests 1557 15582011-08-05 1559- Elastica_Filter_Abstract enhanced for more general usage (set/get/addParam(s)) added 1560 15612011-08-04 1562- Release v0.17.3.0 added 1563- Elastica_Index_Settings::set/get response updated. get('...') does not require 'index.' in front anymore 1564- Nodes and Cluster shutdown added 1565- Elastica_Node::getIp() and getPort() added 1566 15672011-07-30 1568- Readd merge_factor to settings. Now working as expected. Index has to be closed first. 1569 15702011-07-29 1571- Release tag v0.17.2.0 added. Elastica is compatible with elasticsearch 0.17.2 1572 15732011-07-22 1574- Elastica_Index_Settings::getMergePolicyMergeFactor and set removed because of enhanced merge policy implementation in ES 0.17.0 https://github.com/elasticsearch/elasticsearch/issues/998 1575- Release tav v0.17.1.0 added 1576 15772011-07-21 1578- Elastica_Query_HasChild and _parent feature added by fabian 1579- Elastica_Filter_GeoBoundingBox added by fabian 1580 15812011-07-20 1582- Elastica_Query_Builder added by chrisdegrim 1583 15842011-07-19 1585- Release tag v0.17.0.0 added. Elastica is compatible with elasticsearch 0.17.0 1586 15872011-07-18 1588- ResultSet::hasFacets added 1589- QueryString useDisMax added 1590 15912011-07-15 1592- Facet/DateHistogram and Facet/Historgram added 1593- Documentation pages added unter http://ruflin.github.com/Elastica 1594- Release tag v0.16.4.0 added 1595 15962011-06-19 1597- Add support for multiple servers to Elastica_Client (issue [#39](https://github.com/ruflin/Elastica/issues/39/)) 1598 15992011-06-16 1600- Support for multiple index, type queries and _all queries added through Elastica_Search object 1601- Elastica_Index::clearCache added to clean cache 1602- Elastica_Index::flush added 1603 16042011-06-07 1605- Elastica_Index::setNumberOfShards removed as not supported after creating index 1606 16072011-05-11 1608- Refactor client constructor. Elastica_Client::__construct(array $config) now takes a config array instead of host and port 1609 16102011-05-08 1611- Elastica_Query_QueryString::escapeTerm move to Elastica_Util::escapeTerm 1612 16132011-04-29 1614- Added getParam to Elastica_Result that more values can be retrieved from the hit array 1615- Elastica_Filter_Ids added https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-ids-filter.html 1616- getMergePolicyMergeFactor and getRefreshInterval to Elastica_Type_Settings added. If no value is set, default values are returned 1617 16182011-04-28 1619- Release of version 0.16.0.0 (see new version naming structure in README) 1620 16212011-04-27 1622- Refactoring of Elastica_Type::setMapping. No source parameter anymore. 1623- Elastica_Type_Mapping object introduced to set more fine grained mapping 1624 16252011-04-17 1626- Elastica_Filter_Exists added 1627 16282011-04-14 1629- Elastica_Type getCount replace by count() 1630- Count has now optional query parametere 1631 16322011-04-01 1633- Renaming of functions in Elastica_Query_Terms and Ela-stica_Query_Filter to fit new naming convention. setTerms, addTerm have different API now! 1634 16352011-03-31 1636- Deprecated code removed 1637- Break backward compatibility to 0.15.1 (versions introduced by wlp1979) 1638 16392011-03-30 1640- Filtered query introduced 1641- setRawArguments in Elastica_Query is now setParam 1642- open / close for index added 1643- Remove Elastica_Filter and Elastica_Facets because not needed anymore 1644 16452011-03-29 1646- Renaming Elastica_Filter->addQuery, addFilter to setQuery, setFilter 1647- Add parts of Facets API 1648- Add facet Terms 1649- Renaming Elastica_Query->addFilter to setFilter 1650 16512011-03-24 1652- Renaming of Elastica_Status_Index to Elastica_Index_Status => API Change! 1653- IndexSettings added for improved bulk updating https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html 1654 16552011-03-21 1656- Node object added 1657- Node_Info and Node_Stats added 1658- Refactoring of Cluster object 1659 16602011-03-13 1661- changes.txt introduced 1662- getResponse in Elastica_Response renamed to getData. getResponse now deprecated 1663- Index status objects added 1664- getIndexName in Elastica_Index renamed to getName. getIndexName is deprecated 1665 16662011-03-21 1667- ChildrenAggregation added - https://www.elastic.co/guide/en/elasticsearch/guide/current/children-agg.html 1668