public function addFilter($object, $attribute, $value) { if (strlen($value) > 0) { $typeConverter = new DMC_Solr_Model_SolrServer_Adapter_Product_TypeConverter(); $code = $attribute->getAttributeCode(); $items = $typeConverter->getItems(); $field = $items[$attribute->getFrontend()->getInputType()]['solr_index_prefix'] . $typeConverter::SUBPREFIX_INDEX . $attribute->getAttributeCode(); if (is_array($value) && (isset($value['from']) || isset($value['to']))) { if (isset($value['from']) && !empty($value['from'])) { $from = $value['from']; } else { $from = '*'; } if (isset($value['to']) && !empty($value['to'])) { $to = $value['to']; } else { $to = '*'; } $select->where($field . ':[' . $from . ' TO ' . $to . ']'); return true; } else { if (is_array($value)) { $value = implode(' ', $value); } else { $value = Apache_Solr_Service::escape($value); $value = $this->addFuzzySearch($value); } } $object->getProductCollection()->getSelect()->where($field . ':' . $value); return true; } return false; }