/**
  * Return the default Similarity implementation used by indexing and search
  * code.
  *
  * @return ZSearchSimilarity
  */
 public static function getDefault()
 {
     if (!self::$_defaultImpl instanceof ZSearchSimilarity) {
         self::$_defaultImpl = new ZSearchDefaultSimilarity();
     }
     return self::$_defaultImpl;
 }
Esempio n. 2
0
 /**
  * Retrive similarity used by index reader
  *
  * @return ZSearchSimilarity
  */
 public function getSimilarity()
 {
     return ZSearchSimilarity::getDefault();
 }
Esempio n. 3
0
 /**
  * Returns normalization factor for specified documents
  *
  * @param integer $id
  * @param string $fieldName
  * @return string
  */
 public function norm($id, $fieldName)
 {
     $fieldNum = $this->getFieldNum($fieldName);
     if (!$this->_fields[$fieldNum]->isIndexed) {
         return null;
     }
     if (!isset($this->_norms[$fieldNum])) {
         $fFile = $this->openCompoundFile('.f' . $fieldNum);
         $this->_norms[$fieldNum] = $fFile->readBytes($this->_docCount);
     }
     return ZSearchSimilarity::decodeNorm(ord($this->_norms[$fieldNum][$id]));
 }