public function testSetAndGetRegexMaxAnalyzedChars()
 {
     $value = 500;
     $this->_hlt->setRegexMaxAnalyzedChars($value);
     $this->assertEquals($value, $this->_hlt->getRegexMaxAnalyzedChars());
 }
Пример #2
0
 public function testBuild()
 {
     $builder = new Solarium_Client_RequestBuilder_Select_Component_Highlighting();
     $request = new Solarium_Client_Request();
     $component = new Solarium_Query_Select_Component_Highlighting();
     $component->setFields('fieldA,fieldB');
     $component->setSnippets(2);
     $component->setFragSize(3);
     $component->setMergeContiguous(true);
     $component->setRequireFieldMatch(false);
     $component->setMaxAnalyzedChars(4);
     $component->setAlternateField('fieldC');
     $component->setMaxAlternateFieldLength(5);
     $component->setFormatter('simple');
     $component->setSimplePrefix('<b>');
     $component->setSimplePostfix('</b>');
     $component->setFragmenter('myFragmenter');
     $component->setFragListBuilder('myFragListBuilder');
     $component->setFragmentsBuilder('myFragmentsBuilder');
     $component->setUsePhraseHighlighter(true);
     $component->setUseFastVectorHighlighter(false);
     $component->setHighlightMultiTerm(true);
     $component->setRegexSlop(1.3);
     $component->setRegexPattern('mypattern');
     $component->setMaxAnalyzedChars(100);
     $request = $builder->build($component, $request);
     $this->assertEquals(array('hl' => true, 'hl.fl' => 'fieldA,fieldB', 'hl.snippets' => 2, 'hl.fragsize' => 3, 'hl.mergeContiguous' => true, 'hl.requireFieldMatch' => false, 'hl.maxAnalyzedChars' => 100, 'hl.alternateField' => 'fieldC', 'hl.maxAlternateFieldLength' => 5, 'hl.formatter' => 'simple', 'hl.simple.pre' => '<b>', 'hl.simple.post' => '</b>', 'hl.fragmenter' => 'myFragmenter', 'hl.fragListBuilder' => 'myFragListBuilder', 'hl.fragmentsBuilder' => 'myFragmentsBuilder', 'hl.useFastVectorHighlighter' => false, 'hl.usePhraseHighlighter' => true, 'hl.highlightMultiTerm' => true, 'hl.regex.slop' => 1.3, 'hl.regex.pattern' => 'mypattern'), $request->getParams());
 }
Пример #3
0
 /**
  * Add request settings for Highlighting
  *
  * @param Solarium_Query_Select_Component_Highlighting $component
  * @param Solarium_Client_Request $request
  * @return Solarium_Client_Request
  */
 public function build($component, $request)
 {
     // enable highlighting
     $request->addParam('hl', 'true');
     $request->addParam('hl.fl', $component->getFields());
     $request->addParam('hl.snippets', $component->getSnippets());
     $request->addParam('hl.fragsize', $component->getFragSize());
     $request->addParam('hl.mergeContiguous', $component->getMergeContiguous());
     $request->addParam('hl.requireFieldMatch', $component->getRequireFieldMatch());
     $request->addParam('hl.maxAnalyzedChars', $component->getMaxAnalyzedChars());
     $request->addParam('hl.alternateField', $component->getAlternateField());
     $request->addParam('hl.maxAlternateFieldLength', $component->getMaxAlternateFieldLength());
     $request->addParam('hl.formatter', $component->getFormatter());
     $request->addParam('hl.simple.pre', $component->getSimplePrefix());
     $request->addParam('hl.simple.post', $component->getSimplePostfix());
     $request->addParam('hl.fragmenter', $component->getFragmenter());
     $request->addParam('hl.fragListBuilder', $component->getFragListBuilder());
     $request->addParam('hl.fragmentsBuilder', $component->getFragmentsBuilder());
     $request->addParam('hl.useFastVectorHighlighter', $component->getUseFastVectorHighlighter());
     $request->addParam('hl.usePhraseHighlighter', $component->getUsePhraseHighlighter());
     $request->addParam('hl.highlightMultiTerm', $component->getHighlightMultiTerm());
     $request->addParam('hl.regex.slop', $component->getRegexSlop());
     $request->addParam('hl.regex.pattern', $component->getRegexPattern());
     $request->addParam('hl.regex.maxAnalyzedChars', $component->getRegexMaxAnalyzedChars());
     return $request;
 }
Пример #4
0
 public function testSetAndGetPhraseLimit()
 {
     $value = 20;
     $this->_hlt->setPhraseLimit($value);
     $this->assertEquals($value, $this->_hlt->getPhraseLimit());
 }
Пример #5
0
 /**
  * Add request settings for Highlighting
  *
  * @param Solarium_Query_Select_Component_Highlighting $component
  * @param Solarium_Client_Request $request
  * @return Solarium_Client_Request
  */
 public function build(Solarium_Query_Select_Component_Highlighting $component, Solarium_Client_Request $request)
 {
     // enable highlighting
     $request->addParam('hl', 'true');
     // set global highlighting params
     $request->addParam('hl.fl', implode(',', array_keys($component->getFields())));
     $request->addParam('hl.snippets', $component->getSnippets());
     $request->addParam('hl.fragsize', $component->getFragSize());
     $request->addParam('hl.mergeContiguous', $component->getMergeContiguous());
     $request->addParam('hl.requireFieldMatch', $component->getRequireFieldMatch());
     $request->addParam('hl.maxAnalyzedChars', $component->getMaxAnalyzedChars());
     $request->addParam('hl.alternateField', $component->getAlternateField());
     $request->addParam('hl.maxAlternateFieldLength', $component->getMaxAlternateFieldLength());
     $request->addParam('hl.formatter', $component->getFormatter());
     $request->addParam('hl.simple.pre', $component->getSimplePrefix());
     $request->addParam('hl.simple.post', $component->getSimplePostfix());
     $request->addParam('hl.fragmenter', $component->getFragmenter());
     $request->addParam('hl.fragListBuilder', $component->getFragListBuilder());
     $request->addParam('hl.fragmentsBuilder', $component->getFragmentsBuilder());
     $request->addParam('hl.useFastVectorHighlighter', $component->getUseFastVectorHighlighter());
     $request->addParam('hl.usePhraseHighlighter', $component->getUsePhraseHighlighter());
     $request->addParam('hl.highlightMultiTerm', $component->getHighlightMultiTerm());
     $request->addParam('hl.regex.slop', $component->getRegexSlop());
     $request->addParam('hl.regex.pattern', $component->getRegexPattern());
     $request->addParam('hl.regex.maxAnalyzedChars', $component->getRegexMaxAnalyzedChars());
     // set per-field highlighting params
     foreach ($component->getFields() as $field) {
         $this->_addFieldParams($field, $request);
     }
     return $request;
 }