Releases: ruflin/Elastica
Releases · ruflin/Elastica
Release 6.0.2
Release 5.3.2
Bugfixes
- Remove
each()
usage to fix PHP 7.2 compatibility - Fix #1435 forcing
doc_as_upsert
to be boolean, acording Elastic doc-update documentation
Added
- Added support for multiple bucket sort orders for aggregations.
Release 6.0.1
Bugfixes
- Characters "<" and ">" will be removed when a query term is passed to
Util::escapeTerm
. Since v5.1 the documentation states that these symbols cannot be escaped ever. - Remove
each()
usage to fix PHP 7.2 compatibility - Fix #1435 forcing
doc_as_upsert
to be boolean, acording Elastic doc-update documentation - Fix #1456 set SSL as connection scheme if it is required
Added
- Added request parameters to
Client->deleteDocuments()
. #1419 - Added request parameters to
Type->updateDocuments()
,Type->addDocuments()
,Type->addObjects()
,Index->addDocuments()
,Index->updateDocuments()
. #1427 - Added avg_bucket() and sum_bucket() in aggregations PR#1443 - (#1279)
- Added support for terms lookup mechanism on terms query #1452
Release 5.3.1
Bugfixes
- Removed deprecated
min_word_len
field inElastica\Suggest\Term
.
Usemin_word_length
instead.
Added
- Added clear() to
Scroll
for closing search context on ES manually - 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
Improvements
- Clear search context on ES after usage in
Scroll
Release 6.0.0
This is the first GA release of the 6.x release cycle. For breaking change make sure to also check the 6.0.0-beta1 release.
Backward Compatibility Breaks
- Return the _source of inner hit nested as is without wrapping it into its full path context #1398
- Removed CrossIndex Class as from now use Reindex. #1411
Added
- Added clear() to
Scroll
for closing search context on ES manually - Added Elastica\Aggregation\StatsBucket
Improvements
- Clear search context on ES after usage in
Scroll
Elastica 6.0.0-beta1
This is the first pre release of the 6.x release cycle.
Backward Compatibility Breaks
- Numeric to and from parameters in date_range aggregation are interpreted according to format of the target field
- In ES6 only strict type boolean are accepted. On ES6 docs
- removed analyzed/not_analyzed on indices mapping
- store field only accepts boolean
- Replace IndexAlreadyExistsException with ResourceAlreadyExistsException #1350
- in order to delete an index you should not delete by its alias now you should delete using the concrete index name #1348
- Removed
optimize
from Index class as it has been deprecated in ES 2.1 and removed in ES 5.x+ use forcemerge #1351 - 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 #1352
- Index mapping field of type 'string' has been removed from Elasticsearch 6.0 codebase #1353
- The created and found fields in index and delete responses became obsolete after the introduction of the result field in index, update and delete responses #1354
- Removed file scripts #24627 #1364
- Removed groovy script #1364
- Removed native script #1364
- Removed old / removed script language support : javascript, python, mvel #1364
- Disable _all by default, disallow configuring _all on 6.0+ indices #1365
- Unfiltered nested source should keep its full path #1366
- The deprecated minimum_number_should_match parameter in the bool query has been removed, use minimum_should_match instead. #1369
- For geo_distance queries, sorting, and aggregations the sloppy_arc option has been removed from the distance_type parameter. #1369
- The geo_distance_range query, which was deprecated in 5.0, has been removed. #1369
- The optimize_bbox parameter has been removed from geo_distance queries. #1369
- 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
- Unfiltered nested source should keep its full path #1366
- Analyze Explain no more support request parameters, use request body instead. #1370
- Mapper Attachment plugin has been removed Use Ingest-attachment plugin and attachment processors with pipeline to ingest new documents. #1375
- Indices Query has been removed in Elasticsearch 6.0 #1376
- Remove deprecated type and slop field in match query #1382
- Remove several parse field deprecations in query builders #1382
- Remove deprecated parameters from ids_query #1382
- Implemented join-datatype is a special field that creates parent/child relation within documents of the same index. #1383
Bugfixes
- Enforce Content-Type requirement on the layer Rest, a PR on Elastica #1301 solved it (it has been implemented only in the HTTP Transport), but it was not implemented in the Guzzle Transport. #1349
- 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.
Added
- Added
Query\SpanContaining
,Query\SpanWithin
andQuery\SpanNot
#1319 - Implemented Pipeline and Processors. #1373
Elastica 5.3.0
Elastica 5.2.1
Bugfixes
- Fix elastic 5.3.x deprecation warning related to Content-Type not being set.
- Fix updating settings of an index. #1296
- Fix bad parameter value to refresh document #1318
Added
- Parameter
filter_path
for response filtering (e.g.$index->search($query, ['filter_path' => 'hits.hits._source'])
) - 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)
- 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 - Added
\Elastica\Query\ParentId
to avoid join with parent documents #1287 - Added
\Elastica\Reindex
for reindexing between indices #1311
Improvements
- Added support for
other_bucket
andother_bucket_key
paramters onElastica\Aggregation\Filters
Deprecated
- Deprecated
Tool\CrossIndex
use\Elastica\Reindex
instead #1311
Elastica 5.2.0
This release adds the official elasticsearch client elasticsearch-php as a dependency. All endpoints from the official client can now also be used in Elastica through requestEndpoint
.
Bugfixes
- Fix reading bool index settings like
\Elastica\Index\Settings::getBlocksWrite
. Elasticsearch returns all settings as strings and does not normalize bool values.
The getters now return the right bool value for whichever string representation is used like 'true', '1', 'on', 'yes'. #1251 - Fix for QueryBuilder version check
\Elastica\QueryBuilder\Version\Version240.php
added all new query types to queries array. #1266 #1269 - Do not modify the original query in
\Elastica\Search::count
. #1276
Added
- Added
\Elastica\Client::requestEndpoint
,\Elastica\Index::requestEndpoint
,\Elastica\Type::requestEndpoint
that allow make requests with official client Endpoint usage. #1275 - Added
\Elastica\Aggregation\GeoBounds
that computes the bounding box containing all geo_point values for a field. #1271 - Added
\Elastica\Query\MatchNone
the inverse of MatchAll. #1276
Improvements
- added support for the "explain" flag of AnalyzeAPI #1254
- added support for the "request_cache" search option #1243
- skip sending "retry_on_conflict=0" default query param to improve compatibility with Amazon Elasticsearch #1047
- optimized
\Elastica\Scroll
to avoid one request #1273 - Update elasticsearch-php dependency to 5.2.0 #1245
- Update elasticsearch testing dependency to 5.2.2 #1245
Deprecated
- Deprecated
\Elastica\Exception\ElasticsearchException
which is irrelevant since Elasticsearch now exposes the errors as a structured array instead of a single string.
Use\Elastica\Exception\ResponseException::getResponse::getFullError
instead. - Deprecated both
prefix_len
&min_word_len
fields inElastica\Suggest\CandidateGenerator\DirectGenerator
as these now return errors when using the phrase suggester to querying terms.
Useprefix_length
&min_word_length
instead #1282
Use\Elastica\Exception\ResponseException::getResponse::getFullError
instead. #1251
Elastica 5.1.0
Backward Compatibility Breaks
\Elastica\Script\AbstractScript
added the script language as constructor argument and sub-classes must implementgetScriptTypeArray
Bugfixes
- Removed features that do not exist in Elasticsearch 5.0 anymore:
ttl
andtimestamp
logic: setters and getters in documents and mapping\Elastica\Query\Missing
: negate\Elastica\Query\Exists
instead\Elastica\Query\TopChildren
\Elastica\Query\MatchPhrase
and\Elastica\Query\MatchPhrasePrefix
do not extend\Elastica\Query\Match
anymore because they do not share exactly the same options- 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. - Fix
relation
property of\Elastica\Query\GeoShapeProvided
Added
- added
\Elastica\Script\ScriptId
to reference stored scripts by ID - added
\Elastica\Query\AbstractGeoShape::RELATION_WITHIN
- Date math in index names is now escaped in URI
- Added a check for paths that already have date math escaped
Improvements
\Elastica\Query\HasParent
to useparent_type
instead oftype
. Fixes warning due to field being deprecated.
Deprecated
- Deprecated functionality that is also deprecated in Elasticsearch 5.0:
\Elastica\Client::optimizeAll
in favor of\Elastica\Client::forcemergeAll
\Elastica\Query\BoolQuery::setMinimumNumberShouldMatch
in favor of\Elastica\Query\BoolQuery::setMinimumShouldMatch
\Elastica\Query\GeoDistanceRange
: use distance aggregations or sorting instead\Elastica\Query\GeohashCell
\Elastica\Query\Indices
: search on the_index
field instead\Elastica\Query\Match::setFieldType
: use\Elastica\Query\MatchPhrase
and\Elastica\Query\MatchPhrasePrefix
instead
\Elastica\Transport\Null
is deprecated because null is a reserved class name in PHP 7. Use\Elastica\Transport\NullTransport
instead.