当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_Search_Lucene_Search_Query类代码示例

本文整理汇总了PHP中Zend_Search_Lucene_Search_Query的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Search_Lucene_Search_Query类的具体用法?PHP Zend_Search_Lucene_Search_Query怎么用?PHP Zend_Search_Lucene_Search_Query使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Zend_Search_Lucene_Search_Query类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

 public function __construct(Zend_Search_Lucene_Search_Query $query, Zend_Search_Lucene_Interface $reader)
 {
     $this->_query = $query;
     $this->_reader = $reader;
     $this->_weights = array();
     $signs = $query->getSigns();
     foreach ($query->getSubqueries() as $num => $subquery) {
         if ($signs === null || $signs[$num] === null || $signs[$num]) {
             $this->_weights[$num] = $subquery->createWeight($reader);
         }
     }
 }
开发者ID:hackingman,项目名称:TubeX,代码行数:12,代码来源:Boolean.php

示例2: __construct

 public function __construct(Zend_Search_Lucene_Search_Query $query, Zend_Search_Lucene_Interface $reader)
 {
     $this->_query = $query;
     $this->_reader = $reader;
     $this->_weights = array();
     $signs = $query->getSigns();
     foreach ($query->getTerms() as $id => $term) {
         if ($signs === null || $signs[$id] === null || $signs[$id]) {
             $this->_weights[$id] = new Zend_Search_Lucene_Search_Weight_Term($term, $query, $reader);
             $query->setWeight($id, $this->_weights[$id]);
         }
     }
 }
开发者ID:hackingman,项目名称:TubeX,代码行数:13,代码来源:MultiTerm.php

示例3: __construct

 /**
  * Constructor
  * 
  * @param \Zend_Search_Lucene_Interface					Lucene index instance
  * @param \Zend_Search_Lucene_Search_Query $query		Lucene query
  * @param array $terms									Original search terms
  * @param boolean $highlight							Highlight search terms in results
  * @return void
  */
 public function __construct(\Zend_Search_Lucene_Interface $index, \Zend_Search_Lucene_Search_Query $query, array $terms = array(), $highlight = false)
 {
     $this->_index = $index;
     $this->_query = $query;
     $this->_terms = $terms;
     $this->_index->addReference();
     // Run the Lucene search and register the results
     foreach ($this->_index->find($this->_query) as $hit) {
         $this->_hits[] = \Tollwerk\TwLucenesearch\Domain\Model\QueryHit::cast($hit);
     }
     // If search terms should be highlighted ...
     if (count($this->_hits) && $highlight) {
         $this->_highlight = array();
         foreach ($this->_query->rewrite($this->_index)->getQueryTerms() as $term) {
             if (!array_key_exists($term->field, $this->_highlight)) {
                 $this->_highlight[$term->field] = array($term->text);
             } else {
                 $this->_highlight[$term->field][] = $term->text;
             }
         }
     }
 }
开发者ID:GerDner,项目名称:TYPO3-ext-tw_lucenesearch,代码行数:31,代码来源:QueryHits.php

示例4: getQuery

 /**
  * Transform entry to a subquery
  *
  * @param string $encoding
  * @return Zend_Search_Lucene_Search_Query
  */
 public function getQuery($encoding)
 {
     $this->_query->setBoost($this->_boost);
     return $this->_query;
 }
开发者ID:ookwudili,项目名称:chisimba,代码行数:11,代码来源:Subquery.php

示例5: getDocumentData

 /**
  *
  * @param int $id
  * @param Zend_Search_Lucene_Search_Query $query
  * @return array
  */
 public function getDocumentData($id, $query = null)
 {
     $highlighter = Axis::single('search/highlighter_default');
     $doc = $this->_index->getDocument($id);
     $result = array('type' => $doc->type, 'nameHighlight' => null === $query ? $doc->name : @$query->htmlFragmentHighlightMatches($doc->name, $this->_encoding, $highlighter), 'name' => $doc->name, 'contents' => null === $query ? $doc->contents : @$query->htmlFragmentHighlightMatches($doc->contents, $this->_encoding, $highlighter), 'urlHighlight' => null === $query ? $doc->url : @$query->htmlFragmentHighlightMatches($doc->url, $this->_encoding, $highlighter), 'url' => $doc->url);
     if (in_array($doc->type, array('product'))) {
         $result['image'] = $doc->image;
         $result['image_title'] = $doc->image_title;
     }
     return $result;
 }
开发者ID:rommmka,项目名称:axiscommerce,代码行数:17,代码来源:Lucene.php

示例6: _highlightMatches

 /**
  * Use the Zend engine to highlight matches for terms in a document
  * @param  Zend_Search_Lucene_Search_Query $query
  * @param string $content
  */
 private function _highlightMatches(&$query, $content)
 {
     $content = preg_replace('/.*<html><body><p>/s', '', $query->highlightMatches($content));
     $content = preg_replace('/<\\/p><\\/body><\\/html>/s', '', $content);
     return $content;
 }
开发者ID:kevinreilly,项目名称:ivsn-wp,代码行数:11,代码来源:Phplucene.php

示例7: getQueryTerms

 /**
  * Return the search terms of a lucene search query within the context of the current index 
  * 	
  * @param \Zend_Search_Lucene_Search_Query $query				Lucene search query
  * @return array												Search terms 
  */
 public function getQueryTerms(\Zend_Search_Lucene_Search_Query $query)
 {
     $terms = array();
     foreach ($query->rewrite($this->_index)->getQueryTerms() as $term) {
         if (!array_key_exists($term->field, $terms)) {
             $terms[$term->field] = array($term->text);
         } else {
             $terms[$term->field][] = $term->text;
         }
     }
     return $terms;
 }
开发者ID:GerDner,项目名称:TYPO3-ext-tw_lucenesearch,代码行数:18,代码来源:Lucene.php

示例8: add

 /**
  * Adds a query.
  *
  * @param Zend_Search_Lucene_Search_Query $q
  */
 private function add(Zend_Search_Lucene_Search_Query $q)
 {
     $autoClose = false;
     // apply modifiers
     foreach ($this->modifiers as $type => $value) {
         switch ($type) {
             case self::M_BOOST:
                 $q->setBoost($value);
                 break;
             case self::M_REQUIREMENT:
                 $q = new Zend_Search_Lucene_Search_Query_Boolean(array($q), array($value));
                 $autoClose = true;
                 break;
         }
     }
     $this->modifiers = array();
     // determine how to add the query
     if ($this->master === null) {
         $this->master = $q;
     } else {
         $c = count($this->queries);
         if ($c == 0) {
             throw new xfLuceneException('Cannot add a query to a ' . get_class($this->master) . ' query, likely a mismatch in creating a boolean query');
         }
         $this->queries[count($this->queries) - 1]->addSubquery($q);
     }
     if (!$autoClose && $q instanceof Zend_Search_Lucene_Search_Query_Boolean) {
         $this->queries[] = $q;
     }
 }
开发者ID:nurfiantara,项目名称:ehri-ica-atom,代码行数:35,代码来源:xfLuceneCriterionTranslator.class.php

示例9: sumOfSquaredWeights

 /**
  * The sum of squared weights of contained query clauses.
  *
  * @return float
  */
 public function sumOfSquaredWeights()
 {
     // compute idf
     $this->_idf = $this->_reader->getSimilarity()->idf($this->_term, $this->_reader);
     // compute query weight
     $this->_queryWeight = $this->_idf * $this->_query->getBoost();
     // square it
     return $this->_queryWeight * $this->_queryWeight;
 }
开发者ID:BackupTheBerlios,项目名称:openpublisher-svn,代码行数:14,代码来源:Term.php

示例10: normalize

 /**
  * Assigns the query normalization factor to this.
  *
  * @param float $queryNorm
  */
 public function normalize($queryNorm)
 {
     // incorporate boost
     $queryNorm *= $this->_query->getBoost();
     foreach ($this->_weights as $weight) {
         $weight->normalize($queryNorm);
     }
 }
开发者ID:madberry,项目名称:WhiteLabelTransfer,代码行数:13,代码来源:Boolean.php


注:本文中的Zend_Search_Lucene_Search_Query类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。