public function Solr_Base_Query::make_filter in Apache Solr Search 6
Same name and namespace in other branches
- 5.2 Solr_Base_Query.php \Solr_Base_Query::make_filter()
- 6.2 Solr_Base_Query.php \Solr_Base_Query::make_filter()
Takes an array $field and combines the #name and #value in a way suitable for use in a Solr query.
2 calls to Solr_Base_Query::make_filter()
- Solr_Base_Query::get_breadcrumb in ./
Solr_Base_Query.php - Build additional breadcrumb elements relative to $base.
- Solr_Base_Query::rebuild_fq in ./
Solr_Base_Query.php - Builds a set of filter queries from $this->fields and all subqueries.
File
- ./
Solr_Base_Query.php, line 55
Class
Code
public function make_filter(array $filter) {
// If the field value has spaces, or : in it, wrap it in double quotes.
// unless it is a range query.
if (preg_match('/[ :]/', $filter['#value']) && !isset($filter['#start']) && !preg_match('/[\\[\\{]\\S+ TO \\S+[\\]\\}]/', $filter['#value'])) {
$filter['#value'] = '"' . $filter['#value'] . '"';
}
$prefix = empty($filter['#exclude']) ? '' : '-';
return $prefix . $filter['#name'] . ':' . $filter['#value'];
}