private function Solr_Base_Query::parse_query in Apache Solr Search 5
1 call to Solr_Base_Query::parse_query()
- Solr_Base_Query::__construct in ./Solr_Base_Query.php
File
- ./Solr_Base_Query.php, line 226
Class
- Solr_Base_Query
Code
private function parse_query() {
$this->_fields = array();
$_keys = $this->_query;
$index_fields = Solr_Base_Query::get_fields_in_index();
$rows = array();
foreach ((array) $index_fields as $name => $field) {
do {
$a = (int) strlen($_keys);
$values = Solr_Base_Query::query_extract($_keys, $name);
if (count($values) > 0) {
foreach ($values as $value) {
$found = Solr_Base_Query::make_field(array(
'#name' => $name,
'#value' => $value,
));
$pos = strpos($this->_query, $found);
$this->_fields[$pos] = array(
'#name' => $name,
'#value' => trim($value),
);
}
$_keys = trim(Solr_Base_Query::query_replace($_keys, $name));
}
$b = (int) strlen($_keys);
} while ($a !== $b);
if (!empty($_keys)) {
$pos = strpos($this->_query, $_keys);
$this->_fields[$pos] = array(
'#name' => '',
'#value' => trim($_keys),
);
}
}
ksort($this->_fields);
}