Skip to content

Releases: solariumphp/solarium

6.2.5

20 Jul 11:59
Compare
Choose a tag to compare

Changes since 6.2.4

Added

  • Results and Documents implement JsonSerializable
  • ParallelExecution dispatches PreExecute, PreExecuteRequest, PostExecuteRequest, PostExecute events. It can be combined with plugins that hook into these events (e.g. PostBigRequest).
  • ParallelExecution support for Server queries
  • Solarium\Client::getVersion()

Fixed

  • Adding nested child documents through Document::setField() and Document::addField()

Changed

  • ParallelExecution doesn't replace an existing cURL adapter on the Client. Timeout and proxy settings are honoured on parallel requests.
  • ParallelExecution sets the 'timeout' and 'connectiontimeout' options from (Connection)TimeoutAware adapters when switching to a cURL adapter

Removed

  • Solarium\QueryType\Update\Query\Document::setFilterControlCharacters(), extend Update\Query\Query to use a custom request builder & helper if you don't want control characters filtered

Deprecated

  • Solarium\Client::VERSION

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

This led to a problem if the endpoint isn't the default solr. Since 6.2.1, a different context can be configured.

An old settings like

'path' => '/index/xxxx/'

can be changed to something like

'path' => '/',
'context' => 'index',
'collection' => 'xxxx',

This works for SolrCloud instances with a non-default hostContext and Solr instances behind a reverse proxy.

6.2.4

30 Jun 10:53
Compare
Choose a tag to compare

Changes since 6.2.3

Added

  • Symfony 6 support
  • Solr 9 support
  • Unified Highlighter support + improved support for other highlighters

Fixed

  • Solarium\QueryType\Server\Collections\Query\Action\ClusterStatus::getRoute() always returned NULL even if a route was set
  • Solarium\Component\Highlighting\Highlighting::setMethod() didn't set the correct request parameter

Changed

  • Solarium\QueryType\Select\Query\Query::setCursormark() and getCursormark() are now setCursorMark() and getCursorMark() with uppercase M
  • Managed resources execute GET requests for the Exists command by default to avoid SOLR-15116 and SOLR-16274. Set the 'useHeadRequest' option to true to execute HEAD requests instead.

Removed

  • Solarium\QueryType\Stream\Expression, use Solarium\QueryType\Stream\ExpressionBuilder instead

Changes since 6.2.2

Added

  • Plugin\BufferedAddLite (BufferedAdd without event dispatching)
  • Plugin\BufferedDelete and Plugin\BufferedDeleteLite

Fixed

  • Local parameter values are now escaped automatically when necessary

Changes since 6.2.1

Added

  • PHP 8.1 support

Changes since 6.2.0

Added

  • Possibility to set the context on an endpoint for SolrCloud instances with a non-default hostContext or Solr instances behind a reverse proxy, defaults to solr if omitted

Changes since 6.1.6

Added

  • Component\FacetSet::setOffset()
  • Component\FacetSet::setMethod() and Component\FacetSet::{METHOD_ENUM,METHOD_FC,METHOD_FCS,METHOD_UIF}
  • Component\FacetSet::setEnumCacheMinimumDocumentFrequency()
  • Component\FacetSet::setExists()
  • Component\FacetSet::setOverrequestCount()
  • Component\FacetSet::setOverrequestRatio()
  • Component\FacetSet::setThreads()
  • Component\FacetSet::setPivotMinCount() to set the global facet.pivot.mincount parameter
  • Component\Facet\Pivot::setPivotMinCount() to set the facet.pivot.mincount parameter for a specific pivot's fields
  • Component\Facet\Pivot::setOffset()
  • Component\Facet\Pivot::setSort()
  • Component\Facet\Pivot::setOverrequestCount()
  • Component\Facet\Pivot::setOverrequestRatio()
  • Component\Facet\Field::METHOD_FCS for per-segment field faceting for single-valued string fields
  • Component\Facet\Field::METHOD_UIF for UnInvertedField faceting
  • Component\Facet\Field::setEnumCacheMinimumDocumentFrequency()
  • Component\Facet\Field::setExists()
  • Component\Facet\Field::setOverrequestCount()
  • Component\Facet\Field::setOverrequestRatio()
  • Component\Facet\Field::setThreads()
  • Component\Facet\JsonTerms::{SORT_COUNT_ASC,SORT_COUNT_DESC,SORT_INDEX_ASC,SORT_INDEX_DESC}
  • Component\Facet\JsonTerms::setOverRefine()
  • Component\Facet\JsonTerms::setPrelimSort()

Fixed

  • Component\Facet\Pivot::setLimit() now sets the correct query parameter
  • Component\Facet\JsonTerms::setSort() PHPDoc

Deprecated

  • Component\Facet\Pivot::setMinCount(), use Component\FacetSet::setPivotMinCount() or Component\Facet\Pivot::setPivotMinCount() instead
  • Component\Facet\JsonTerms::SORT_COUNT, use SORT_COUNT_ASC or SORT_COUNT_DESC instead
  • Component\Facet\JsonTerms::SORT_INDEX, use SORT_INDEX_ASC or SORT_INDEX_DESC instead

Changes since 6.1.5

Added

  • PHP 8.1 support
  • QueryType\Update\Query\Document::setFields() to set all fields on a Document

Fixed

  • Always respect automatic filtering of control characters in field values in QueryType\Update\Query\Document
  • Remove the field modifier along with the value(s) and boost in QueryType\Update\Query\Document::removeField()
  • Allow string to be returned for min, max and mean statistics in Component\Result\Stats\ResultTrait

Changes since 6.1.4

Added

  • Component\Result\Stats\Result::getDistinctValues()
  • Component\Result\Stats\Result::getCountDistinct()
  • Component\Result\Stats\Result::getCardinality()
  • Component\Result\Stats\FacetValue::getPercentiles()
  • Component\Result\Stats\FacetValue::getDistinctValues()
  • Component\Result\Stats\FacetValue::getCountDistinct()
  • Component\Result\Stats\FacetValue::getCardinality()
  • Component\Result\Stats\FacetValue::getStatValue()
  • Plugin PostBigExtractRequest
  • Support for Configset API
  • Set connection timeout on cURL adapter

Fixed

  • Component\Result\Stats\Result::getPercentiles() returns percentiles as an associative array

Changed

  • Component\Result\Stats\Result::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\FacetValue::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\Result::getValue() is renamed to getStatValue()

    Deprecated

  • Component\Result\Stats\FacetValue::getFacets()

  • Component\Result\Stats\Result::getValue()

Changes since 6.1.3

Added

  • Solarium\QueryType\ManagedResources\Result\Command::getWasSuccessful()
  • Solarium\QueryType\ManagedResources\Result\Command::getStatusMessage()
  • Query a single term in a Managed Resource

Fixed

  • Syntax error in request with facet queries that contain local parameters
  • HEAD requests could lead to timeouts with cURL adapter
  • Fix for reserved characters in managed resources (SOLR-6853)
  • Parsing nested details in debug response

Changed

  • Solarium\Component/Result/Stats/Result::getValue() is now public

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

This led to a problem if the endpoint isn't the default solr. Since 6.2.1, a different context can be configured.

An old settings like

'path' => '/index/xxxx/'

can be changed to something like

'path' => '/',
'context' => 'index',
'collection' => 'xxxx',

This works for SolrCloud instances with a non-default hostContext and Solr instances behind a reverse proxy.

6.2.3

31 Jan 16:25
Compare
Choose a tag to compare

6.2.3

Changes since 6.2.2

Added

  • Plugin\BufferedAddLite (BufferedAdd without event dispatching)
  • Plugin\BufferedDelete and Plugin\BufferedDeleteLite

Fixed

  • Local parameter values are now escaped automatically when necessary

Changes since 6.2.1

Added

  • PHP 8.1 support

Changes since 6.2.0

Added

  • Possibility to set the context on an endpoint for SolrCloud instances with a non-default hostContext or Solr instances behind a reverse proxy, defaults to solr if omitted

Changes since 6.1.6

Added

  • Component\FacetSet::setOffset()
  • Component\FacetSet::setMethod() and Component\FacetSet::{METHOD_ENUM,METHOD_FC,METHOD_FCS,METHOD_UIF}
  • Component\FacetSet::setEnumCacheMinimumDocumentFrequency()
  • Component\FacetSet::setExists()
  • Component\FacetSet::setOverrequestCount()
  • Component\FacetSet::setOverrequestRatio()
  • Component\FacetSet::setThreads()
  • Component\FacetSet::setPivotMinCount() to set the global facet.pivot.mincount parameter
  • Component\Facet\Pivot::setPivotMinCount() to set the facet.pivot.mincount parameter for a specific pivot's fields
  • Component\Facet\Pivot::setOffset()
  • Component\Facet\Pivot::setSort()
  • Component\Facet\Pivot::setOverrequestCount()
  • Component\Facet\Pivot::setOverrequestRatio()
  • Component\Facet\Field::METHOD_FCS for per-segment field faceting for single-valued string fields
  • Component\Facet\Field::METHOD_UIF for UnInvertedField faceting
  • Component\Facet\Field::setEnumCacheMinimumDocumentFrequency()
  • Component\Facet\Field::setExists()
  • Component\Facet\Field::setOverrequestCount()
  • Component\Facet\Field::setOverrequestRatio()
  • Component\Facet\Field::setThreads()
  • Component\Facet\JsonTerms::{SORT_COUNT_ASC,SORT_COUNT_DESC,SORT_INDEX_ASC,SORT_INDEX_DESC}
  • Component\Facet\JsonTerms::setOverRefine()
  • Component\Facet\JsonTerms::setPrelimSort()

Fixed

  • Component\Facet\Pivot::setLimit() now sets the correct query parameter
  • Component\Facet\JsonTerms::setSort() PHPDoc

Deprecated

  • Component\Facet\Pivot::setMinCount(), use Component\FacetSet::setPivotMinCount() or Component\Facet\Pivot::setPivotMinCount() instead
  • Component\Facet\JsonTerms::SORT_COUNT, use SORT_COUNT_ASC or SORT_COUNT_DESC instead
  • Component\Facet\JsonTerms::SORT_INDEX, use SORT_INDEX_ASC or SORT_INDEX_DESC instead

Changes since 6.1.5

Added

  • PHP 8.1 support
  • QueryType\Update\Query\Document::setFields() to set all fields on a Document

Fixed

  • Always respect automatic filtering of control characters in field values in QueryType\Update\Query\Document
  • Remove the field modifier along with the value(s) and boost in QueryType\Update\Query\Document::removeField()
  • Allow string to be returned for min, max and mean statistics in Component\Result\Stats\ResultTrait

Changes since 6.1.4

Added

  • Component\Result\Stats\Result::getDistinctValues()
  • Component\Result\Stats\Result::getCountDistinct()
  • Component\Result\Stats\Result::getCardinality()
  • Component\Result\Stats\FacetValue::getPercentiles()
  • Component\Result\Stats\FacetValue::getDistinctValues()
  • Component\Result\Stats\FacetValue::getCountDistinct()
  • Component\Result\Stats\FacetValue::getCardinality()
  • Component\Result\Stats\FacetValue::getStatValue()
  • Plugin PostBigExtractRequest
  • Support for Configset API
  • Set connection timeout on cURL adapter

Fixed

  • Component\Result\Stats\Result::getPercentiles() returns percentiles as an associative array

Changed

  • Component\Result\Stats\Result::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\FacetValue::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\Result::getValue() is renamed to getStatValue()

    Deprecated

  • Component\Result\Stats\FacetValue::getFacets()

  • Component\Result\Stats\Result::getValue()

Changes since 6.1.3

Added

  • Solarium\QueryType\ManagedResources\Result\Command::getWasSuccessful()
  • Solarium\QueryType\ManagedResources\Result\Command::getStatusMessage()
  • Query a single term in a Managed Resource

Fixed

  • Syntax error in request with facet queries that contain local parameters
  • HEAD requests could lead to timeouts with cURL adapter
  • Fix for reserved characters in managed resources (SOLR-6853)
  • Parsing nested details in debug response

Changed

  • Solarium\Component/Result/Stats/Result::getValue() is now public

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

This led to a problem if the endpoint isn't the default solr. Since 6.2.1, a different context can be configured.

An old settings like

'path' => '/index/xxxx/'

can be changed to something like

'path' => '/',
'context' => 'index',
'collection' => 'xxxx',

This works for SolrCloud instances with a non-default hostContext and Solr instances behind a reverse proxy.

6.2.2

20 Jan 17:51
Compare
Choose a tag to compare

6.2.2

Changes since 6.2.1

Added

  • PHP 8.1 support

Changes since 6.2.0

Added

  • Possibility to set the context on an endpoint for SolrCloud instances with a non-default hostContext or Solr instances behind a reverse proxy, defaults to solr if omitted

Changes since 6.1.6

Added

  • Component\FacetSet::setOffset()
  • Component\FacetSet::setMethod() and Component\FacetSet::{METHOD_ENUM,METHOD_FC,METHOD_FCS,METHOD_UIF}
  • Component\FacetSet::setEnumCacheMinimumDocumentFrequency()
  • Component\FacetSet::setExists()
  • Component\FacetSet::setOverrequestCount()
  • Component\FacetSet::setOverrequestRatio()
  • Component\FacetSet::setThreads()
  • Component\FacetSet::setPivotMinCount() to set the global facet.pivot.mincount parameter
  • Component\Facet\Pivot::setPivotMinCount() to set the facet.pivot.mincount parameter for a specific pivot's fields
  • Component\Facet\Pivot::setOffset()
  • Component\Facet\Pivot::setSort()
  • Component\Facet\Pivot::setOverrequestCount()
  • Component\Facet\Pivot::setOverrequestRatio()
  • Component\Facet\Field::METHOD_FCS for per-segment field faceting for single-valued string fields
  • Component\Facet\Field::METHOD_UIF for UnInvertedField faceting
  • Component\Facet\Field::setEnumCacheMinimumDocumentFrequency()
  • Component\Facet\Field::setExists()
  • Component\Facet\Field::setOverrequestCount()
  • Component\Facet\Field::setOverrequestRatio()
  • Component\Facet\Field::setThreads()
  • Component\Facet\JsonTerms::{SORT_COUNT_ASC,SORT_COUNT_DESC,SORT_INDEX_ASC,SORT_INDEX_DESC}
  • Component\Facet\JsonTerms::setOverRefine()
  • Component\Facet\JsonTerms::setPrelimSort()

Fixed

  • Component\Facet\Pivot::setLimit() now sets the correct query parameter
  • Component\Facet\JsonTerms::setSort() PHPDoc

Deprecated

  • Component\Facet\Pivot::setMinCount(), use Component\FacetSet::setPivotMinCount() or Component\Facet\Pivot::setPivotMinCount() instead
  • Component\Facet\JsonTerms::SORT_COUNT, use SORT_COUNT_ASC or SORT_COUNT_DESC instead
  • Component\Facet\JsonTerms::SORT_INDEX, use SORT_INDEX_ASC or SORT_INDEX_DESC instead

Changes since 6.1.5

Added

  • PHP 8.1 support
  • QueryType\Update\Query\Document::setFields() to set all fields on a Document

Fixed

  • Always respect automatic filtering of control characters in field values in QueryType\Update\Query\Document
  • Remove the field modifier along with the value(s) and boost in QueryType\Update\Query\Document::removeField()
  • Allow string to be returned for min, max and mean statistics in Component\Result\Stats\ResultTrait

Changes since 6.1.4

Added

  • Component\Result\Stats\Result::getDistinctValues()
  • Component\Result\Stats\Result::getCountDistinct()
  • Component\Result\Stats\Result::getCardinality()
  • Component\Result\Stats\FacetValue::getPercentiles()
  • Component\Result\Stats\FacetValue::getDistinctValues()
  • Component\Result\Stats\FacetValue::getCountDistinct()
  • Component\Result\Stats\FacetValue::getCardinality()
  • Component\Result\Stats\FacetValue::getStatValue()
  • Plugin PostBigExtractRequest
  • Support for Configset API
  • Set connection timeout on cURL adapter

Fixed

  • Component\Result\Stats\Result::getPercentiles() returns percentiles as an associative array

Changed

  • Component\Result\Stats\Result::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\FacetValue::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\Result::getValue() is renamed to getStatValue()

    Deprecated

  • Component\Result\Stats\FacetValue::getFacets()

  • Component\Result\Stats\Result::getValue()

Changes since 6.1.3

Added

  • Solarium\QueryType\ManagedResources\Result\Command::getWasSuccessful()
  • Solarium\QueryType\ManagedResources\Result\Command::getStatusMessage()
  • Query a single term in a Managed Resource

Fixed

  • Syntax error in request with facet queries that contain local parameters
  • HEAD requests could lead to timeouts with cURL adapter
  • Fix for reserved characters in managed resources (SOLR-6853)
  • Parsing nested details in debug response

Changed

  • Solarium\Component/Result/Stats/Result::getValue() is now public

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

This led to a problem if the endpoint isn't the default solr. Since 6.2.1, a different context can be configured.

An old settings like

'path' => '/index/xxxx/'

can be changed to something like

'path' => '/',
'context' => 'index',
'collection' => 'xxxx',

This works for SolrCloud instances with a non-default hostContext and Solr instances behind a reverse proxy.

6.2.1

26 Dec 10:25
Compare
Choose a tag to compare

6.2.1

Changes since 6.2.0

Added

  • Possibility to set the context on an endpoint for SolrCloud instances with a non-default hostContext or Solr instances behind a reverse proxy, defaults to solr if omitted

Changes since 6.1.6

Added

  • Component\FacetSet::setOffset()
  • Component\FacetSet::setMethod() and Component\FacetSet::{METHOD_ENUM,METHOD_FC,METHOD_FCS,METHOD_UIF}
  • Component\FacetSet::setEnumCacheMinimumDocumentFrequency()
  • Component\FacetSet::setExists()
  • Component\FacetSet::setOverrequestCount()
  • Component\FacetSet::setOverrequestRatio()
  • Component\FacetSet::setThreads()
  • Component\FacetSet::setPivotMinCount() to set the global facet.pivot.mincount parameter
  • Component\Facet\Pivot::setPivotMinCount() to set the facet.pivot.mincount parameter for a specific pivot's fields
  • Component\Facet\Pivot::setOffset()
  • Component\Facet\Pivot::setSort()
  • Component\Facet\Pivot::setOverrequestCount()
  • Component\Facet\Pivot::setOverrequestRatio()
  • Component\Facet\Field::METHOD_FCS for per-segment field faceting for single-valued string fields
  • Component\Facet\Field::METHOD_UIF for UnInvertedField faceting
  • Component\Facet\Field::setEnumCacheMinimumDocumentFrequency()
  • Component\Facet\Field::setExists()
  • Component\Facet\Field::setOverrequestCount()
  • Component\Facet\Field::setOverrequestRatio()
  • Component\Facet\Field::setThreads()
  • Component\Facet\JsonTerms::{SORT_COUNT_ASC,SORT_COUNT_DESC,SORT_INDEX_ASC,SORT_INDEX_DESC}
  • Component\Facet\JsonTerms::setOverRefine()
  • Component\Facet\JsonTerms::setPrelimSort()

Fixed

  • Component\Facet\Pivot::setLimit() now sets the correct query parameter
  • Component\Facet\JsonTerms::setSort() PHPDoc

Deprecated

  • Component\Facet\Pivot::setMinCount(), use Component\FacetSet::setPivotMinCount() or Component\Facet\Pivot::setPivotMinCount() instead
  • Component\Facet\JsonTerms::SORT_COUNT, use SORT_COUNT_ASC or SORT_COUNT_DESC instead
  • Component\Facet\JsonTerms::SORT_INDEX, use SORT_INDEX_ASC or SORT_INDEX_DESC instead

Changes since 6.1.5

Added

  • PHP 8.1 support
  • QueryType\Update\Query\Document::setFields() to set all fields on a Document

Fixed

  • Always respect automatic filtering of control characters in field values in QueryType\Update\Query\Document
  • Remove the field modifier along with the value(s) and boost in QueryType\Update\Query\Document::removeField()
  • Allow string to be returned for min, max and mean statistics in Component\Result\Stats\ResultTrait

Changes since 6.1.4

Added

  • Component\Result\Stats\Result::getDistinctValues()
  • Component\Result\Stats\Result::getCountDistinct()
  • Component\Result\Stats\Result::getCardinality()
  • Component\Result\Stats\FacetValue::getPercentiles()
  • Component\Result\Stats\FacetValue::getDistinctValues()
  • Component\Result\Stats\FacetValue::getCountDistinct()
  • Component\Result\Stats\FacetValue::getCardinality()
  • Component\Result\Stats\FacetValue::getStatValue()
  • Plugin PostBigExtractRequest
  • Support for Configset API
  • Set connection timeout on cURL adapter

Fixed

  • Component\Result\Stats\Result::getPercentiles() returns percentiles as an associative array

Changed

  • Component\Result\Stats\Result::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\FacetValue::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\Result::getValue() is renamed to getStatValue()

    Deprecated

  • Component\Result\Stats\FacetValue::getFacets()

  • Component\Result\Stats\Result::getValue()

Changes since 6.1.3

Added

  • Solarium\QueryType\ManagedResources\Result\Command::getWasSuccessful()
  • Solarium\QueryType\ManagedResources\Result\Command::getStatusMessage()
  • Query a single term in a Managed Resource

Fixed

  • Syntax error in request with facet queries that contain local parameters
  • HEAD requests could lead to timeouts with cURL adapter
  • Fix for reserved characters in managed resources (SOLR-6853)
  • Parsing nested details in debug response

Changed

  • Solarium\Component/Result/Stats/Result::getValue() is now public

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

This led to a problem if the endpoint isn't the default solr. Since 6.2.1, a different context can be configured.

An old settings like

'path' => '/index/xxxx/'

can be changed to something like

'path' => '/',
'context' => 'index',
'collection' => 'xxxx',

This works for SolrCloud instances with a non-default hostContext and Solr instances behind a reverse proxy.

6.2.0

22 Dec 13:00
Compare
Choose a tag to compare

6.2.0

Changes since 6.1.6

Added

  • Component\FacetSet::setOffset()
  • Component\FacetSet::setMethod() and Component\FacetSet::{METHOD_ENUM,METHOD_FC,METHOD_FCS,METHOD_UIF}
  • Component\FacetSet::setEnumCacheMinimumDocumentFrequency()
  • Component\FacetSet::setExists()
  • Component\FacetSet::setOverrequestCount()
  • Component\FacetSet::setOverrequestRatio()
  • Component\FacetSet::setThreads()
  • Component\FacetSet::setPivotMinCount() to set the global facet.pivot.mincount parameter
  • Component\Facet\Pivot::setPivotMinCount() to set the facet.pivot.mincount parameter for a specific pivot's fields
  • Component\Facet\Pivot::setOffset()
  • Component\Facet\Pivot::setSort()
  • Component\Facet\Pivot::setOverrequestCount()
  • Component\Facet\Pivot::setOverrequestRatio()
  • Component\Facet\Field::METHOD_FCS for per-segment field faceting for single-valued string fields
  • Component\Facet\Field::METHOD_UIF for UnInvertedField faceting
  • Component\Facet\Field::setEnumCacheMinimumDocumentFrequency()
  • Component\Facet\Field::setExists()
  • Component\Facet\Field::setOverrequestCount()
  • Component\Facet\Field::setOverrequestRatio()
  • Component\Facet\Field::setThreads()
  • Component\Facet\JsonTerms::{SORT_COUNT_ASC,SORT_COUNT_DESC,SORT_INDEX_ASC,SORT_INDEX_DESC}
  • Component\Facet\JsonTerms::setOverRefine()
  • Component\Facet\JsonTerms::setPrelimSort()

Fixed

  • Component\Facet\Pivot::setLimit() now sets the correct query parameter
  • Component\Facet\JsonTerms::setSort() PHPDoc

Deprecated

  • Component\Facet\Pivot::setMinCount(), use Component\FacetSet::setPivotMinCount() or Component\Facet\Pivot::setPivotMinCount() instead
  • Component\Facet\JsonTerms::SORT_COUNT, use SORT_COUNT_ASC or SORT_COUNT_DESC instead
  • Component\Facet\JsonTerms::SORT_INDEX, use SORT_INDEX_ASC or SORT_INDEX_DESC instead

Changes since 6.1.5

Added

  • PHP 8.1 support
  • QueryType\Update\Query\Document::setFields() to set all fields on a Document

Fixed

  • Always respect automatic filtering of control characters in field values in QueryType\Update\Query\Document
  • Remove the field modifier along with the value(s) and boost in QueryType\Update\Query\Document::removeField()
  • Allow string to be returned for min, max and mean statistics in Component\Result\Stats\ResultTrait

Changes since 6.1.4

Added

  • Component\Result\Stats\Result::getDistinctValues()
  • Component\Result\Stats\Result::getCountDistinct()
  • Component\Result\Stats\Result::getCardinality()
  • Component\Result\Stats\FacetValue::getPercentiles()
  • Component\Result\Stats\FacetValue::getDistinctValues()
  • Component\Result\Stats\FacetValue::getCountDistinct()
  • Component\Result\Stats\FacetValue::getCardinality()
  • Component\Result\Stats\FacetValue::getStatValue()
  • Plugin PostBigExtractRequest
  • Support for Configset API
  • Set connection timeout on cURL adapter

Fixed

  • Component\Result\Stats\Result::getPercentiles() returns percentiles as an associative array

Changed

  • Component\Result\Stats\Result::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\FacetValue::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\Result::getValue() is renamed to getStatValue()

    Deprecated

  • Component\Result\Stats\FacetValue::getFacets()

  • Component\Result\Stats\Result::getValue()

Changes since 6.1.3

Added

  • Solarium\QueryType\ManagedResources\Result\Command::getWasSuccessful()
  • Solarium\QueryType\ManagedResources\Result\Command::getStatusMessage()
  • Query a single term in a Managed Resource

Fixed

  • Syntax error in request with facet queries that contain local parameters
  • HEAD requests could lead to timeouts with cURL adapter
  • Fix for reserved characters in managed resources (SOLR-6853)
  • Parsing nested details in debug response

Changed

  • Solarium\Component/Result/Stats/Result::getValue() is now public

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

6.1.6

08 Nov 13:34
Compare
Choose a tag to compare

6.1.6

Changes since 6.1.5

Added

  • PHP 8.1 support
  • QueryType\Update\Query\Document::setFields() to set all fields on a Document

Fixed

  • Always respect automatic filtering of control characters in field values in QueryType\Update\Query\Document
  • Remove the field modifier along with the value(s) and boost in QueryType\Update\Query\Document::removeField()
  • Allow string to be returned for min, max and mean statistics in Component\Result\Stats\ResultTrait

Changes since 6.1.4

Added

  • Component\Result\Stats\Result::getDistinctValues()
  • Component\Result\Stats\Result::getCountDistinct()
  • Component\Result\Stats\Result::getCardinality()
  • Component\Result\Stats\FacetValue::getPercentiles()
  • Component\Result\Stats\FacetValue::getDistinctValues()
  • Component\Result\Stats\FacetValue::getCountDistinct()
  • Component\Result\Stats\FacetValue::getCardinality()
  • Component\Result\Stats\FacetValue::getStatValue()
  • Plugin PostBigExtractRequest
  • Support for Configset API
  • Set connection timeout on cURL adapter

Fixed

  • Component\Result\Stats\Result::getPercentiles() returns percentiles as an associative array

Changed

  • Component\Result\Stats\Result::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\FacetValue::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\Result::getValue() is renamed to getStatValue()

    Deprecated

  • Component\Result\Stats\FacetValue::getFacets()

  • Component\Result\Stats\Result::getValue()

Changes since 6.1.3

Added

  • Solarium\QueryType\ManagedResources\Result\Command::getWasSuccessful()
  • Solarium\QueryType\ManagedResources\Result\Command::getStatusMessage()
  • Query a single term in a Managed Resource

Fixed

  • Syntax error in request with facet queries that contain local parameters
  • HEAD requests could lead to timeouts with cURL adapter
  • Fix for reserved characters in managed resources (SOLR-6853)
  • Parsing nested details in debug response

Changed

  • Solarium\Component/Result/Stats/Result::getValue() is now public

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

6.1.5

12 Aug 16:22
Compare
Choose a tag to compare

6.1.5

Changes since 6.1.4

Added

  • Component\Result\Stats\Result::getDistinctValues()
  • Component\Result\Stats\Result::getCountDistinct()
  • Component\Result\Stats\Result::getCardinality()
  • Component\Result\Stats\FacetValue::getPercentiles()
  • Component\Result\Stats\FacetValue::getDistinctValues()
  • Component\Result\Stats\FacetValue::getCountDistinct()
  • Component\Result\Stats\FacetValue::getCardinality()
  • Component\Result\Stats\FacetValue::getStatValue()
  • Plugin PostBigExtractRequest
  • Support for Configset API
  • Set connection timeout on cURL adapter

Fixed

  • Component\Result\Stats\Result::getPercentiles() returns percentiles as an associative array

Changed

  • Component\Result\Stats\Result::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\FacetValue::getMean() returns NAN instead of 'NaN' if mean is NaN

  • Component\Result\Stats\Result::getValue() is renamed to getStatValue()

    Deprecated

  • Component\Result\Stats\FacetValue::getFacets()

  • Component\Result\Stats\Result::getValue()

Changes since 6.1.3

Added

  • Solarium\QueryType\ManagedResources\Result\Command::getWasSuccessful()
  • Solarium\QueryType\ManagedResources\Result\Command::getStatusMessage()
  • Query a single term in a Managed Resource

Fixed

  • Syntax error in request with facet queries that contain local parameters
  • HEAD requests could lead to timeouts with cURL adapter
  • Fix for reserved characters in managed resources (SOLR-6853)
  • Parsing nested details in debug response

Changed

  • Solarium\Component/Result/Stats/Result::getValue() is now public

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

6.1.4

06 Jul 10:50
Compare
Choose a tag to compare

6.1.4

Changes since 6.1.3

Added

  • Solarium\QueryType\ManagedResources\Result\Command::getWasSuccessful()
  • Solarium\QueryType\ManagedResources\Result\Command::getStatusMessage()
  • Query a single term in a Managed Resource

Fixed

  • Syntax error in request with facet queries that contain local parameters
  • HEAD requests could lead to timeouts with cURL adapter
  • Fix for reserved characters in managed resources (SOLR-6853)
  • Parsing nested details in debug response

Changed

  • Solarium\Component/Result/Stats/Result::getValue() is now public

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',

6.1.3

24 Jun 15:07
Compare
Choose a tag to compare

6.1.3

Changes since 6.1.2

Fixed

  • possible exception in Debug\Detail::__toString() when sub details are missing

Changes since 6.1.1

Added

  • MoreLikeThis::setMaximumDocumentFrequency()
  • MoreLikeThis::setMaximumDocumentFrequencyPercentage()
  • getInterestingTerms() of MoreLikeThis Component results

Fixed

  • Debug\Detail return value types
  • Debug\Document return value types

Deprecated

  • Support for mlt.match.include and mlt.match.offset in MoreLikeThis Component (they only work in MLT queries)

Changes since 6.1.0

Fixed

  • Set Client::VERSION to '6.1.1'. Release 6.1.0 accidentally declared itself as 6.0.4.

Changes since 6.0.4

Added

  • Indexing labelled nested child documents through pseudo-fields
  • Extract query now supports extractFormat
  • Helper::rangeQuery() now supports left-inclusive only and right-inclusive only queries

Fixed

  • PrefetchIterator::key() should return 0 instead of NULL on a fresh PrefetchIterator
  • PrefetchIterator::next() shouldn't skip fetched results after PrefetchIterator::count() on a fresh PrefetchIterator
  • PrefetchIterator::rewind() no longer results in duplicate documents when invoked mid-set
  • Fixed incorrect median function
  • Fix for maxScore being returned as "NaN" when group.query doesn't match any docs (SOLR-13839)

Changed

  • Exception message for invalid/unavailable file in Extract query now contains filename
  • Helper::rangeQuery() detects point values without parameter to turn off escaping

Removed

  • PHP 7.2 support

Pitfall when upgrading from 3.x or 4.x or 5.x

Setting "timeout" as "option" in the HTTP Client Adapter is deprecated since Solarium 5.2.0 because not all adapters
could handle it. The adapters which can handle it now implement the TimeoutAwareInterface and you need to set the
timeout using the setTimeout() function after creating the adapter instance.

In order to fix some issues with complex queries using local parameters solarium 6 destinguishs between query parameters
and local parameters to be embedded in a query. Solarium 5.2 already informed you about the deprecation of some
parameter names which are in fact local parameters. Solarium doen't convert them magically anymore.
Local parameter names now have to be prefixed with local_ if set as option of a constructor.

Solarium 5:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

Solarium 6:

$categoriesTerms = new Solarium\Component\Facet\JsonTerms(['local_key' => 'categories', 'field' => 'cat', 'limit'=>4,'numBuckets'=>true]);

See https://lucene.apache.org/solr/guide/8_5/local-parameters-in-queries.html for an introduction about local parameters.

Pitfall when upgrading from 3.x or 4.x

In the past, the V1 API endpoint solr was not added automatically, so most users set it as path on the endpoint.
This bug was discovered with the addition of V2 API support. In almost every setup, the path has to be set to /
instead of /solr with this release!

For the same reason it is a must to explicit configure the core or collection.

So an old setting like

'path' => '/solr/xxxx/'

has to be changed to something like

'path' => '/',
'collection' => 'xxxx',