/** * Add a field for highlighting * * @param string|array|Solarium_Query_Select_Component_Highlighting_Field $field * @return Solarium_Query_Select_Component_Highlighting Provides fluent interface */ public function addField($field) { // autocreate object for string input if (is_string($field)) { $field = new Solarium_Query_Select_Component_Highlighting_Field(array('name' => $field)); } else { if (is_array($field)) { $field = new Solarium_Query_Select_Component_Highlighting_Field($field); } } // validate field if ($field->getName() === null) { throw new Solarium_Exception('To add a highlighting field it needs to have at least a "name" setting'); } $this->_fields[$field->getName()] = $field; return $this; }
/** * Add per-field override options to the request * * @param Solarium_Query_Select_Component_Highlighting_Field $field * @param Solarium_Client_Request $request * @return void */ protected function _addFieldParams($field, $request) { $prefix = 'f.' . $field->getName() . '.hl.'; $request->addParam($prefix . 'snippets', $field->getSnippets()); $request->addParam($prefix . 'fragsize', $field->getFragSize()); $request->addParam($prefix . 'mergeContiguous', $field->getMergeContiguous()); $request->addParam($prefix . 'alternateField', $field->getAlternateField()); $request->addParam($prefix . 'formatter', $field->getFormatter()); $request->addParam($prefix . 'simple.pre', $field->getSimplePrefix()); $request->addParam($prefix . 'simple.post', $field->getSimplePostfix()); $request->addParam($prefix . 'fragmenter', $field->getFragmenter()); $request->addParam($prefix . 'useFastVectorHighlighter', $field->getUseFastVectorHighlighter()); }
public function testAddFieldWithObject() { $field = new Solarium_Query_Select_Component_Highlighting_Field(); $field->setName('test'); $this->_hlt->addField($field); $this->assertEquals($field, $this->_hlt->getField('test')); }
public function testSetAndGetUseFastVectorHighlighter() { $value = true; $this->_fld->setUseFastVectorHighlighter($value); $this->assertEquals($value, $this->_fld->getUseFastVectorHighlighter()); }