ruflin/elastica
Elastica is a PHP client for Elasticsearch, providing a rich, object-oriented API for indexing, searching, and managing indices. Compatible with Elasticsearch 9.x+ (branch-specific support for older versions) and integrates with elasticsearch-php.
Elastica\IndexTemplate now works only with new _index_template API. You should use Elastica\Template to use the deprecated API #2274$method argument from the Elastica\SearchableInterface::search and Elastica\SearchableInterface::count as they are not unused anymore. The following classes are affected: Elastica\Search and Elastica\Index #2256Elastica\Request class as constants are not used anymore and no longer needed. #2256Elastica\Query\BoolQuery::toArray no longer changes $this->_params to \stdClass when empty #2241> 0 to >= 0 #2278Full Changelog: https://github.com/ruflin/Elastica/compare/8.1.0...9.0.0
useLegacy = false #2257Elastica\Template because it's deprecated since version 7.8 on ElasticSearch #2257Elastica\Query\BoolQuery::toArray no longer changes $this->_params to \stdClass when empty #2241> 0 to >= 0 #2278Full Changelog: https://github.com/ruflin/Elastica/compare/8.1.0...8.2.0
bool_prefix #2220addRange using a common trait #2227Full Changelog: https://github.com/ruflin/Elastica/compare/8.0.0...8.1.0
This is first 8.x GA release for Elastica. It contains a list of breaking changes. Have a look at the Upgrade guide.
8.0.0 is a huge milestone and a big thanks to everyone in the community that made this possible!
Elastica\Exception\ElasticsearchException -> use Elastica\Exception\ResponseException::getResponse()::getFullError() insteadElastica\Exception\ResponseException::getElasticsearchException() -> use Elastica\Exception\ResponseException::getResponse()::getFullError() insteadElastica\Processor\Append -> use Elastica\Processor\AppendProcessor insteadElastica\Processor\Attachment -> use Elastica\Processor\AttachmentProcessor insteadElastica\Processor\Convert -> use Elastica\Processor\ConvertProcessor insteadElastica\Processor\Date -> use Elastica\Processor\DateProcessor insteadElastica\Processor\DateIndexName -> use Elastica\Processor\DateIndexNameProcessor insteadElastica\Processor\DotExpander -> use Elastica\Processor\DotExpanderProcessor insteadElastica\Processor\Fail -> use Elastica\Processor\FailProcessor insteadElastica\Processor\Join -> use Elastica\Processor\JoinProcessor insteadElastica\Processor\Json -> use Elastica\Processor\JsonProcessor insteadElastica\Processor\Kv -> use Elastica\Processor\KvProcessor insteadElastica\Processor\Lowercase -> use Elastica\Processor\LowercaseProcessor insteadElastica\Processor\Remove -> use Elastica\Processor\RemoveProcessor insteadElastica\Processor\Rename -> use Elastica\Processor\RenameProcessor insteadElastica\Processor\Set -> use Elastica\Processor\SetProcessor insteadElastica\Processor\Sort -> use Elastica\Processor\SortProcessor insteadElastica\Processor\Split -> use Elastica\Processor\SplitProcessor insteadElastica\Processor\Trim -> use Elastica\Processor\AppendProcessor insteadElastica\Processor\Uppercase -> use Elastica\Processor\UppercaseProcessor insteadElastica\Query\Common -> use Elastica\Query\MatchQuery insteadElastica\QueryBuilder\DSL\Query::common_terms() -> use Elastica\QueryBuilder\DSL\Query::match() insteadElastica\Transport\HttpAdapter -> use Elastica\Transport\Http insteadElastica\Aggregation\Range::setKeyedResponse() -> use Elastica\Aggregation\Range::setKeyed() insteadElastica\Bulk::toString() -> use Elastica\Bulk::__toString() or cast to string insteadElastica\Query\MatchQuery::setFieldCutoffFrequency()Elastica\Query\MultiMatch::setCutoffFrequency()Elastica\QueryBuilder\DSL\Aggregation::global_agg() -> use Elastica\QueryBuilder\DSL\Aggregation::global() insteadElastica\Request::toString() -> use Elastica\Request::__toString() or cast to string insteadElastica\Result::getType()Elastica\Suggest\Phrase::addCandidateGenerator() -> use Elastica\Suggest\Phrase::addDirectGenerator() insteadElastica\Util::getParamName()Elastica\Aggregation\AvgBucket: The second argument $bucketsPath is now mandatoryElastica\Aggregation\BucketScript: The second (array $bucketsPath) and the third (string $script) argument are now mandatoryElastica\Aggregation\BucketSelector: The second (array $bucketsPath) and the third (string $script) argument are now mandatoryElastica\Aggregation\Derivative: The second argument (string $bucketsPath) is now mandatoryElastica\Aggregation\NormalizeAggregation: The second (string $bucketsPath) and the third (string $method) argument are now mandatoryElastica\Aggregation\PercentilesBucket: The second argument (string $bucketsPath) is now mandatoryElastica\Aggregation\SerialDiff: The second argument (string $bucketsPath) is now mandatoryElastica\Aggregation\StatsBucket: The second argument (string $bucketsPath) is now mandatoryElastica\Aggregation\SumBucket: The second argument (string $bucketsPath) is now mandatoryElastica\Cluster\Health::getActiveShardsPercentAsNumber() method to float #2144$origin and $scale parameter types of Elastica\Query\FunctionScore::addDecayFunction() to allow float|int|string #2144$key parameter type of Elastica\Multi\Search::addSearch() to allow int|string|null #2144$options parameter type of Elastica\Index::create() to only allow array<string, mixed> #2147Elastica\Reindex::setWaitForCompletion() to only allow bool #2151Elastica\Search::addIndex(), Elasica\Search::addIndices() and Elastica\Search::hasIndex() parameter type to only allow Elastica\Index #2150$options argument to not accept int in the following methods #2148
Elastica\SearchableInterface::search()Elastica\SearchableInterface::createSearch()Elastica\Search::search()Elastica\Search::createSearch()Elastica\Search::setOptionsAndQuery()Elastica\Index::search()Elastica\Index::createSearch()Elastica\ConnectionElastica\Connection\ConnectionPoolElastica\Connection\Strategy\CallbackStrategyElastica\Connection\Strategy\RoundRobinElastica\Connection\Strategy\SimpleElastica\Connection\Strategy\StrategyFactoryElastica\Connection\Strategy\StrategyInterfaceElastica\Client::setLogger() method #2148strict_types on all classes #2190Elastica\Scroll:clear to use scroll_id body parameter instead of url parameter #2211[@throws](https://github.com/throws) annotations to Client::request and related methods #2152retry_on_conflict from Client configuration in Bulk updates (ported from 7.x #2184)php-cs-fixer to 3.13.2 #2143match expression #2141nyholm/dsn as no longer needed.symfony/deprecation-contracts as no longer needed.Elastica\Query to work with psalm & expand the aggs type to include raw arraysFull Changelog: https://github.com/ruflin/Elastica/compare/7.3.0...8.0.0
This is the first 8.0.0 alpha release for Elastica. It is compatible with Elasticsearch 8.0 and contains several breaking changes. We want to get this out in the wild to get as much feedback on it as we can. Any new issues found? Any migration issues? The work of getting us to GA is tracked here: https://github.com/ruflin/Elastica/issues/2185
Big thanks to the community for getting us to this release!
Elastica\Exception\ElasticsearchException -> use Elastica\Exception\ResponseException::getResponse()::getFullError() insteadElastica\Exception\ResponseException::getElasticsearchException() -> use Elastica\Exception\ResponseException::getResponse()::getFullError() insteadElastica\Processor\Append -> use Elastica\Processor\AppendProcessor insteadElastica\Processor\Attachment -> use Elastica\Processor\AttachmentProcessor insteadElastica\Processor\Convert -> use Elastica\Processor\ConvertProcessor insteadElastica\Processor\Date -> use Elastica\Processor\DateProcessor insteadElastica\Processor\DateIndexName -> use Elastica\Processor\DateIndexNameProcessor insteadElastica\Processor\DotExpander -> use Elastica\Processor\DotExpanderProcessor insteadElastica\Processor\Fail -> use Elastica\Processor\FailProcessor insteadElastica\Processor\Join -> use Elastica\Processor\JoinProcessor insteadElastica\Processor\Json -> use Elastica\Processor\JsonProcessor insteadElastica\Processor\Kv -> use Elastica\Processor\KvProcessor insteadElastica\Processor\Lowercase -> use Elastica\Processor\LowercaseProcessor insteadElastica\Processor\Remove -> use Elastica\Processor\RemoveProcessor insteadElastica\Processor\Rename -> use Elastica\Processor\RenameProcessor insteadElastica\Processor\Set -> use Elastica\Processor\SetProcessor insteadElastica\Processor\Sort -> use Elastica\Processor\SortProcessor insteadElastica\Processor\Split -> use Elastica\Processor\SplitProcessor insteadElastica\Processor\Trim -> use Elastica\Processor\AppendProcessor insteadElastica\Processor\Uppercase -> use Elastica\Processor\UppercaseProcessor insteadElastica\Query\Common -> use Elastica\Query\MatchQuery insteadElastica\QueryBuilder\DSL\Query::common_terms() -> use Elastica\QueryBuilder\DSL\Query::match() insteadElastica\Transport\HttpAdapter -> use Elastica\Transport\Http insteadElastica\Aggregation\Range::setKeyedResponse() -> use Elastica\Aggregation\Range::setKeyed() insteadElastica\Bulk::toString() -> use Elastica\Bulk::__toString() or cast to string insteadElastica\Query\MatchQuery::setFieldCutoffFrequency()Elastica\Query\MultiMatch::setCutoffFrequency()Elastica\QueryBuilder\DSL\Aggregation::global_agg() -> use Elastica\QueryBuilder\DSL\Aggregation::global() insteadElastica\Request::toString() -> use Elastica\Request::__toString() or cast to string insteadElastica\Result::getType()Elastica\Suggest\Phrase::addCandidateGenerator() -> use Elastica\Suggest\Phrase::addDirectGenerator() insteadElastica\Util::getParamName()Elastica\Aggregation\AvgBucket: The second argument $bucketsPath is now mandatoryElastica\Aggregation\BucketScript: The second (array $bucketsPath) and the third (string $script) argument are now mandatoryElastica\Aggregation\BucketSelector: The second (array $bucketsPath) and the third (string $script) argument are now mandatoryElastica\Aggregation\Derivative: The second argument (string $bucketsPath) is now mandatoryElastica\Aggregation\NormalizeAggregation: The second (string $bucketsPath) and the third (string $method) argument are now mandatoryElastica\Aggregation\PercentilesBucket: The second argument (string $bucketsPath) is now mandatoryElastica\Aggregation\SerialDiff: The second argument (string $bucketsPath) is now mandatoryElastica\Aggregation\StatsBucket: The second argument (string $bucketsPath) is now mandatoryElastica\Aggregation\SumBucket: The second argument (string $bucketsPath) is now mandatoryElastica\Cluster\Health::getActiveShardsPercentAsNumber() method to float #2144$origin and $scale parameter types of Elastica\Query\FunctionScore::addDecayFunction() to allow float|int|string #2144$key parameter type of Elastica\Multi\Search::addSearch() to allow int|string|null #2144$options parameter type of Elastica\Index::create() to only allow array<string, mixed> #2147Elastica\Reindex::setWaitForCompletion() to only allow bool #2151Elastica\Search::addIndex(), Elasica\Search::addIndices() and Elastica\Search::hasIndex() parameter type to only allow Elastica\Index #2150$options argument to not accept int in the following methods #2148
Elastica\SearchableInterface::search()Elastica\SearchableInterface::createSearch()Elastica\Search::search()Elastica\Search::createSearch()Elastica\Search::setOptionsAndQuery()Elastica\Index::search()Elastica\Index::createSearch()Elastica\ConnectionElastica\Connection\ConnectionPoolElastica\Connection\Strategy\CallbackStrategyElastica\Connection\Strategy\RoundRobinElastica\Connection\Strategy\SimpleElastica\Connection\Strategy\StrategyFactoryElastica\Connection\Strategy\StrategyInterfaceElastica\Client::setLogger() method #2148strict_types on all classes #2190Elastica\Scroll:clear to use scroll_id body parameter instead of url parameter #2211[@throws](https://github.com/throws) annotations to Client::request and related methods #2152retry_on_conflict from Client configuration in Bulk updates (ported from 7.x #2184)php-cs-fixer to 3.13.2 #2143match expression #2141nyholm/dsn as no longer needed.symfony/deprecation-contracts as no longer needed.Elastica\Query to work with psalm & expand the aggs type to include raw arraysFull Changelog: https://github.com/ruflin/Elastica/compare/7.3.2...8.0.0-alpha1
Full Changelog: https://github.com/ruflin/Elastica/compare/7.3.1...7.3.2
[@throws](https://github.com/throws) annotations to Client::request and related methods #2153buckets_path and script when constructing Elastica\Aggregation\BucketScript and Elastica\Aggregation\BucketSelectorElastica\Query to work with psalm & expand the aggs type to include raw arraysramsey/composer-install to simplify CI jobs and test with the lowest set of dependencies #2113elasticsearch/elasticsearch to 7.10 to be able to use OpenPointInTime class #2113php-cs-fixer to 3.9.5 #2110Elastica\Index\Settings::get adding ability to get default settings by @krasilnikovm #2115AWSAuthV4 transport to sanitize host name for AWS requests before signing #2090Elastica\Aggregation\Terms::setMissingBucket. For Composite Agg. Include in the response documents without a value for a given source. #2117PHPStan level to 5 by @franmomu #2108CallbackStrategyTestHelper and ErrorsCollector from tests #2111Query/Terms terms phpdoc from array<bool|float|int|string> to list<bool|float|int|string> #2118Response to prevent throwing JSONParseException when the response is empty.Full Changelog: https://github.com/ruflin/Elastica/compare/7.2.0...7.3.0
SetProcessor::setValue signature to allow to pass any type, if you are overriding this method you must update the signature removing the string type-hint by @franmomu #2082Settings::setMergePolicy signature to allow to pass int and string as argument 2, if you are overriding this method you must update the signature removing the string type-hint by @franmomu #2085PHPStan at level 3 by @franmomu #2064string as a valid type for data in Request by @franmomu #2078throws PHPDoc tags by @franmomu #2077Search::addIndexByName(), Search::hasIndexByName() and Search::addIndicesByName() by @franmomu #2103symfony/phpunit-bridge to 6.0 by @franmomu #2067php-cs-fixer to 3.8.0 #2074composer-normalize to 2.2.28 by @deguif #2084PHPStan level to 4 #2080ExceptionInterface extends Throwable #2083value in SetProcessor to accept mixed instead of string by @franmomu #2082Query::create PHPDoc to include supported types and propagate it to callers by @franmomu #2088AwsAuthV4Test adding assertions for exception type by @franmomu #2094Elastica\Reindex::WAIT_FOR_COMPLETION_FALSE, use a boolean as parameter instead by @franmomu #2070Reindex::setWaitForCompletion, pass a boolean instead by @franmomu #2070string as 1st argument to Search::addIndex() and Search::hasIndex(), pass an Index instance instead by @franmomu #2103string as 1st argument to Search::addIndices(), use an array of Index instances by @franmomu #2103egeloen/http-adapter as suggested package since the project is abandoned by @franmomu #20690 as valid request data using Analyze API by @franmomu #2068AwsAuthV4Test by @franmomu #2073null as possible value by @franmomu #2070 and #2087GapPolicyInterface::setGapPolicy(), Document::setDocAsUpsert() and Connection::setPort() methods by @franmomu #2081Http PHPDoc adding \CurlHandle type for Curl connection by @franmomu #2086MoreLikeThis::setLike() PHPDoc allowing Document by @franmomu #2091Term::setTerm() PHPDoc allowing scalar values for $value parameter by @franmomu #2094DateHistogram deprecation: use fixed_internal or calendar_interval instead of interval by @VincentLanglet #2099Full Changelog: https://github.com/ruflin/Elastica/compare/7.1.5...7.2.0
Full Changelog: https://github.com/ruflin/Elastica/compare/6.2.0...6.2.1
Elastica\Multi\ResultSet::current() and Elastica\Multi\ResultSet::offsetGet() by @franmomu 2056\Elastica\Exception\RequestEntityTooLargeException on HTTP-413 responses in \Elastica\Bulk by @Vetaxon 2055Full Changelog: https://github.com/ruflin/Elastica/compare/7.1.4...7.1.5
symfony/deprecation-contracts 3.0 by @rguennichi #2047auto_date_histogram @andriinavrotskii #2051Full Changelog: https://github.com/ruflin/Elastica/compare/7.1.3...7.1.4
Elastica\Aggregation\CumulativeSum by @limenet #1987ignore_failure option to suitable ingest processors by @deguif #2003ignore_missing option to lowercase, remove, trim and uppercase processors by @deguif #2001allow_duplicates option to append processor by @deguif #2004bytes processor by @deguif #2008indices_boost option to Elastica\Query by @deguif #2018Elastica\Query\Terms::setBoost() method to configure boost by @deguif #2035Elastica\Query\TermsSet query by @mamchyts #2020terms_set in query builder by @deguif #2036Elastica\Aggregation\Traits\BucketsPathTrait to configure buckets_path on aggregations by @deguif #2037 #2039Elastica\Param::addParam() by @deguif #2030Elastica\Result::getType() method by @deguif #2016php-cs-fixer to 3.3.2 by @deguif #2022composer-normalize to 2.15.0 by @deguif #2021elasticsearch test version to 7.15.2 by @deguif #2027\Elastica\Aggregation\Traits\GapPolicyTrait and introduced \Elastica\Aggregation\GapPolicyInterface with constants for options by @stchr #2023field to Elastica\Processor\Traits\FieldTrait by @deguif #2024target_field to Elastica\Processor\Traits\TargetFieldTrait by @deguif #2026Elastica\Query\Common class, use Elastica\Query\MatchQuery instead by @deguif #2013Elastica\QueryBuilder\DSL\Query::common_terms(), use match() instead by @deguif #2013int as 1st argument to Elastica\Search::setOptionsAndQuery(), pass an array with the key size instead by @deguif #2010cutoff_frequency option of Elastica\Query\MatchQuery by @deguif #2014cutoff_frequency option of Elastica\Query\MultiMatch by @deguif #2015Elastica\Bulk::toString(), Elastica\Bulk\Action::toString() and Elastica\Request::toString() methods, use __toString() method or cast to string instead by @deguif #2033buckets_path when constructing Elastica\Aggregation\AvgBucket, Elastica\Aggregation\Derivative, Elastica\Aggregation\NormalizeAggregation, Elastica\Aggregation\PercentilesBucket, Elastica\Aggregation\SerialDiff, Elastica\Aggregation\StatsBucket and Elastica\Aggregation\SumBucket by @deguif #2038method when constructing Elastica\Aggregation\NormalizeAggregation by @deguif #2040_type field usages by @deguif #2017Elastica\Bulk::$_type dead property by @deguif #2034Elastica\Search::setOptionsAndQuery() by @deguif #2009Full Changelog: https://github.com/ruflin/Elastica/compare/7.1.2...7.1.3
Elastica\Exception\JSONParseException inheritance, it now extends \JsonException instead of \RuntimeException #1949Elastica\Aggregation\NormalizeAggregation #1956Elastica\Suggest\Phrase::addDirectGenerator to align with ES specification #1964psr/log 2.0 and 3.0 #1971Elastica\Query\Wildcard #1894Elastica\Result::getSort() fetching the "sort" property of results #1979Elastica\ResultSet::getPointInTimeId() #1991Elastica\Index::openPointInTime() for opening a PiT on the index #1994Elastica\Query::setPointInTime() #1992Elastica\Client::closePointInTime() for closing a PiT #1995php-cs-fixer to 3.2.1 #1996, #1959,#1955Elastica\Query\MatchQuery::setFieldParam() signature to allow passing bool, float or int #1941Elastica\Query\MatchPhraseQuery::setFieldParam() signature to allow passing bool, float or int #1944docker directory in .gitattributes #1938Content-Type HTTP header every time, whatever the content of the body is #1780Elastica\Status::indexExists(), Elastica\Status::aliasExists() and Elastica\Status::getIndicesWithAlias() signatures #1929call_user_func() and call_user_func_array() by direct calls #1923CURLINFO_HTTP_CODE by CURLINFO_RESPONSE_CODE #1931php-cs-fixer to 2.18.3 #1915composer-normalize to 2.13.3 #1927Elastica\Transport\HttpAdapter class #1940ltrim usage in guzzle transport #1783_seq_no and _primary_term wrong initialization #1920Elastica\Connection\StrategyInterface instance checks #1921int in Elastica\Status::getIndexNames() #1928post_filter #1950Elastica\Aggregation\WeightedAvg aggregation #1770Elastica\Query\MatchQuery extending Elastica\Query\Match. This is the same as 7.x, which renamed the class for PHP 8.0 support, and makes supporting the use of ruflin/elastica 6.1 and 7.0 in the same project. #1898Elastica\Query\Match has been deprecated in favour of Elastica\Query\MatchQuery. #1898Elastica\Aggregation\Range::setKeyed() and Elastica\Aggregation\PercentilesBucket::setKeyed() #1876Elastica\Aggregation\Percentiles::setMissing() argument #1875bool, float, int and/or string #1872auth_type parameter in the client class config to specify the type of authentication (allowed values are basic, digest, gssnegotiate, ntlm) #1790if_seq_no / if_primary_term to replace version for optimistic concurrency control #1803Elastica\Aggregation\PercentilesBucket aggregation #1806weighted_avg to aggregations DSL #1814pool(http://127.0.0.1 http://127.0.0.2/bar?timeout=4) #1808Elastica\Aggregation\Composite aggregation #1804symfony/deprecation-contracts package to handle deprecations #1823list_syntax CS rule #1854native_constant_invocation CS rule #1833static_lambda CS rule #1870Elastica\Aggregation\DateRange::setTimezone() #1847Elastica\Index::create() #1859Elastica\Aggregation\DateHistogram::setKeyed() #1876Elastica\Aggregation\GeoDistance::setKeyed() #1876Elastica\Aggregation\Histogram::setKeyed() #1876Elastica\Aggregation\IpRange::setKeyed() #1876Elastica\Aggregation\GeotileGridAggregation #1880Elastica\Aggregation\Avg::setMissing(), Elastica\Aggregation\Cardinality::setMissing(), Elastica\Aggregation\DateRange::setMissing(), Elastica\Aggregation\DateHistogram::setMissing(), Elastica\Aggregation\ExtendedStats::setMissing(), Elastica\Aggregation\Histogram::setMissing(), Elastica\Aggregation\Max::setMissing(), Elastica\Aggregation\Min::setMissing(), Elastica\Aggregation\Stats::setMissing(), Elastica\Aggregation\Sum::setMissing(), Elastica\Aggregation\Terms::setMissing() #1876guzzlehttp/guzzle 7.x #1816elasticsearch/elasticsearch version 7.4.0 #1864string such as wait_for to be passed to AbstractUpdateAction::setRefresh #1791AbstractUpdateAction::getRefresh to boolean|string #1791Elastica\Index::create() #1822exceptions request option by http_errors request option in Guzzle transport #1817php-cs-fixer to 2.16.4 #1830php-cs-fixer to 2.16.7 #1881php-cs-fixer to 2.17.3 #1895php-cs-fixer to 2.18.2 #1897GuzzleHttp\RequestOptions constants for configuring request options #1820Elastica\Aggregation\Range::setKeyedResponse(), use setKeyed() instead #1848Elastica\Exception\ResponseException::getElasticsearchException(), use getResponse()::getFullError() instead #1829Elastica\QueryBuilder\DSL\Aggregation::global_agg(), use global() instead #1826Elastica\Util::getParamName() #1832version/version_type options (deprecated in 6.7.0) and added if_seq_no / if_primary_term that replaced itbool or null as 2nd argument to Elastica\Index::create() #1828Elastica\QueryBuilder\DSL\Aggregation::sampler() not consistent with the underlying constructor call #1815Elastica\Util::toSnakeCase() with first letter being lower cased #1831Elastica\Aggregation\GeohashGrid::setPrecision() #1884Elastica\Aggregation\Composite::addAfter() with the null value 1877_routing and _retry_on_conflict by routing and retry_on_conflict in AbstractUpdateAction #1807lib/Elastica/ to src/.Wildcard::setValue() changed its signature: use it to set the value of the wildcard query only.Wildcard Query's constructor now requires the name and value properties.Terms Query's constructor now requires the field and terms properties.AbstractTermsAggregation::setIncludeAsExactMatch() #1766AbstractTermsAggregation::setExcludeAsExactMatch() #1766AbstractTermsAggregation::setIncludeWithPartitions() #1766Elastica\Reindex->setPipeline(Elastica\Pipeline $pipeline): void. The link between the reindex and the pipeline is solved when run() is called, and thus the pipeline given doesn't need to be created before calling setPipeline() #1752Elastica\Reindex->setRefresh(string $value): void. It accepts REFRESH_* constants from its class #1752 and #1758Elastica\Reindex->setQuery(Elastica\Query\AbstractQuery $query): void #1752PIPELINE, REFRESH_TRUE, REFRESH_FALSE, REFRESH_WAIT_FOR, SLICES and SLICES_AUTO to Elastica\Reindex #1752Elastica\Pipeline->getId(): ?string #1752Elastica\Aggregation\ExtendedStatsBucket aggregation #1756Terms::setTerms() signature: it now accepts a list of strings only #1765Terms::setTermsLookup() signature: index, path and id are now required arguments #1765Wildcard::setValue() and constructor's signature: added more specific Wildcard::setBoost() and Wildcard::setRewrite methodssrc/ and tests/ folders #1755current() on an invalid iteration: always call valid() before
accessing the current item, as documented in PHP's Iterator documentation #1749DiversifiedSampler aggregation #1735\Elastica\Query\DistanceFeature #1730\Elastica\QueryBuilder\Version\Version240 has been moved to \Elastica\QueryBuilder\Version\Version700 #1693\Elastica\Suggest\Term deprecated option prefix_len to prefix_length #1707\Elastica\Query\GeoPolygon::count() method now returns the count of points passed to the filter #1696\Elastica\Client::request() which causes request data to not be sent to the logger #1682geo_bounding_box, geo_polygon, match_phrase, match_phrase_prefix, match_none to \Elastica\QueryBuilder\Version\Version700 #1702\Elastica\ResultSet::getTotalHitsRelation() to get relation for total hits #1694Sampler aggregation #1688This is our first release in the 7.x cycle. It is compatible with Elasticsearch 7.x. Please review the breaking changes carefully. Most of them are related to the type removal in Elasticsearch.
\Elastica\Query::$_suggest property has been renamed to $hasSuggest and is now private, it should not be used from extending classes #1679\Elastica\Document expects a string as ID, not an int #1672.\Elastica\Query\GeohashCell query, use \Elastica\Query\GeoBoundingBox instead #1672.\Elastica\Type class, \Elastica\Index class must be used instead #1666\Elastica\Type class, \Elastica\Index class must be used instead #1666\Elastica\Index::__construct() #1666\Elastica\Query\Type #1666Elastica\Type class, Elastica\Index class must be used instead #1666type handling from Elastica\Search class #1666type handling from Elastica\Bulk and Elastica\Bulk\Action classes #1666Elastica\Index::__construct() #1666Elastica\Query\Type #1666$reindex->setParam(Reindex::REFRESH, 'wait_for') instead.Elastica\Search->search() and Elastica\Search->count() use request method POST by default. Same for Elastica\Index, Elastica\Type\AbstractType, Elastica\Type.$_config field is now a ClientConfiguration instead of an array\Elastica\Client::_log, \Elastica\Log and the log configuration option. Use the Psr\Log\LoggerInterface $logger client argument to customize logging.static instead of self keyword. This is to increase extendability for classes with factory methods.base_uri to support connecting to multiple ES hosts. #1618settings level on json to create an Index in all tests (it worked till 6.x but it shouldn't work)ParentAggregation #1616AdjacencyMatrix aggregation #1642Elastica\SearchableInterface->search() and Elastica\SearchableInterface->count(). Same for Elastica\Search#1441\Elastica\Client constructor for config argument #1640callable type hinting to $callback in Client constructor. #1659setTrackTotalHits method to Elastica\Query#1663AbstractAggregation::setMeta(array)). #1677BucketSelector aggregation #1554DerivativeAggregation #1553How can I help you explore Laravel packages today?