Commit 4b741fae authored by Thomas's avatar Thomas

Added support for facet.contains and facet.contains.ignoreCase (new in Solr 5.1.0)

parent 45ed4658
......@@ -156,7 +156,7 @@ class Curl extends Configurable implements AdapterInterface
}
if (!isset($options['headers']['Content-Type'])) {
$options['headers']['Content-Type'] = 'text/xml; charset=utf-8';
$options['headers']['Content-Type'] = '';
}
// Try endpoint authentication first, fallback to request for backwards compatibility
......
......@@ -151,6 +151,57 @@ class Field extends Facet
return $this->getOption('prefix');
}
/**
* Limit the terms for faceting by a string they must contain
*
* This is a global value for all facets in this facetset
*
* @param string $contains
* @return self Provides fluent interface
*/
public function setContains($contains)
{
return $this->setOption('contains', $contains);
}
/**
* Get the facet contains
*
* This is a global value for all facets in this facetset
*
* @return string
*/
public function getContains()
{
return $this->getOption('contains');
}
/**
* Case sensitivity of matching string that facet terms must contain
*
* This is a global value for all facets in this facetset
*
* @param boolean $containsIgnoreCase
* @return self Provides fluent interface
*/
public function setContainsIgnoreCase($containsIgnoreCase)
{
return $this->setOption('contains.ignoreCase', $containsIgnoreCase);
}
/**
* Get the case sensitivity of facet contains
*
* This is a global value for all facets in this facetset
*
* @return boolean
*/
public function getContainsIgnoreCase()
{
return $this->getOption('contains.ignoreCase');
}
/**
* Set the facet limit
*
......
......@@ -202,6 +202,57 @@ class FacetSet extends Component
return $this->getOption('prefix');
}
/**
* Limit the terms for faceting by a string they must contain
*
* This is a global value for all facets in this facetset
*
* @param string $contains
* @return self Provides fluent interface
*/
public function setContains($contains)
{
return $this->setOption('contains', $contains);
}
/**
* Get the facet contains
*
* This is a global value for all facets in this facetset
*
* @return string
*/
public function getContains()
{
return $this->getOption('contains');
}
/**
* Case sensitivity of matching string that facet terms must contain
*
* This is a global value for all facets in this facetset
*
* @param boolean $containsIgnoreCase
* @return self Provides fluent interface
*/
public function setContainsIgnoreCase($containsIgnoreCase)
{
return $this->setOption('contains.ignoreCase', $containsIgnoreCase);
}
/**
* Get the case sensitivity of facet contains
*
* This is a global value for all facets in this facetset
*
* @return boolean
*/
public function getContainsIgnoreCase()
{
return $this->getOption('contains.ignoreCase');
}
/**
* Set the facet sort order
*
......
......@@ -72,6 +72,8 @@ class FacetSet extends RequestBuilder implements ComponentRequestBuilderInterfac
// global facet params
$request->addParam('facet.sort', $component->getSort());
$request->addParam('facet.prefix', $component->getPrefix());
$request->addParam('facet.contains', $component->getContains());
$request->addParam('facet.contains.ignoreCase', is_null($ignoreCase = $component->getContainsIgnoreCase()) ? null : ($ignoreCase ? 'true' : 'false'));
$request->addParam('facet.missing', $component->getMissing());
$request->addParam('facet.mincount', $component->getMinCount());
$request->addParam('facet.limit', $component->getLimit());
......@@ -124,6 +126,8 @@ class FacetSet extends RequestBuilder implements ComponentRequestBuilderInterfac
$request->addParam("f.$field.facet.limit", $facet->getLimit());
$request->addParam("f.$field.facet.sort", $facet->getSort());
$request->addParam("f.$field.facet.prefix", $facet->getPrefix());
$request->addParam("f.$field.facet.contains", $facet->getContains());
$request->addParam("f.$field.facet.contains.ignoreCase", is_null($ignoreCase = $facet->getContainsIgnoreCase()) ? null : ($ignoreCase ? 'true' : 'false'));
$request->addParam("f.$field.facet.offset", $facet->getOffset());
$request->addParam("f.$field.facet.mincount", $facet->getMinCount());
$request->addParam("f.$field.facet.missing", $facet->getMissing());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment