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


PHP Zend_Search_Lucene_Search_Similarity::encodeNorm方法代码示例

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


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

示例1: __construct


//.........这里部分代码省略.........

                $cfxFiles     = array();
                $cfxFileSizes = array();

                for ($count = 0; $count < $cfxFilesCount; $count++) {
                    $dataOffset = $cfxFile->readLong();
                    if ($count != 0) {
                        $cfxFileSizes[$fileName] = $dataOffset - end($cfxFiles);
                    }
                    $fileName            = $cfxFile->readString();
                    $cfxFiles[$fileName] = $dataOffset;
                }
                if ($count != 0) {
                    $cfxFileSizes[$fileName] = $this->_directory->fileLength($docStoreOptions['segment'] . '.cfx') - $dataOffset;
                }

                $this->_sharedDocStoreOptions['files']     = $cfxFiles;
                $this->_sharedDocStoreOptions['fileSizes'] = $cfxFileSizes;
            }
        }

        $this->_hasSingleNormFile = $hasSingleNormFile;
        $this->_delGen            = $delGen;
        $this->_termDictionary    = null;


        if ($isCompound !== null) {
            $this->_isCompound    = $isCompound;
        } else {
            // It's a pre-2.1 segment or isCompound is set to 'unknown'
            // Detect if segment uses compound file
            require_once 'Zend/Search/Lucene/Exception.php';
            try {
                // Try to open compound file
                $this->_directory->getFileObject($name . '.cfs');

                // Compound file is found
                $this->_isCompound = true;
            } catch (Zend_Search_Lucene_Exception $e) {
                if (strpos($e->getMessage(), 'is not readable') !== false) {
                    // Compound file is not found or is not readable
                    $this->_isCompound = false;
                } else {
                    throw $e;
                }
            }
        }

        $this->_segFiles = array();
        if ($this->_isCompound) {
            $cfsFile = $this->_directory->getFileObject($name . '.cfs');
            $segFilesCount = $cfsFile->readVInt();

            for ($count = 0; $count < $segFilesCount; $count++) {
                $dataOffset = $cfsFile->readLong();
                if ($count != 0) {
                    $this->_segFileSizes[$fileName] = $dataOffset - end($this->_segFiles);
                }
                $fileName = $cfsFile->readString();
                $this->_segFiles[$fileName] = $dataOffset;
            }
            if ($count != 0) {
                $this->_segFileSizes[$fileName] = $this->_directory->fileLength($name . '.cfs') - $dataOffset;
            }
        }

        $fnmFile = $this->openCompoundFile('.fnm');
        $fieldsCount = $fnmFile->readVInt();
        $fieldNames = array();
        $fieldNums  = array();
        $this->_fields = array();
        for ($count=0; $count < $fieldsCount; $count++) {
            $fieldName = $fnmFile->readString();
            $fieldBits = $fnmFile->readByte();
            $this->_fields[$count] = new Zend_Search_Lucene_Index_FieldInfo($fieldName,
                                                                            $fieldBits & 0x01 /* field is indexed */,
                                                                            $count,
                                                                            $fieldBits & 0x02 /* termvectors are stored */,
                                                                            $fieldBits & 0x10 /* norms are omitted */,
                                                                            $fieldBits & 0x20 /* payloads are stored */);
            if ($fieldBits & 0x10) {
                // norms are omitted for the indexed field
                $this->_norms[$count] = str_repeat(chr(Zend_Search_Lucene_Search_Similarity::encodeNorm(1.0)), $docCount);
            }

            $fieldNums[$count]  = $count;
            $fieldNames[$count] = $fieldName;
        }
        array_multisort($fieldNames, SORT_ASC, SORT_REGULAR, $fieldNums);
        $this->_fieldsDicPositions = array_flip($fieldNums);

        if ($this->_delGen == -2) {
        	// SegmentInfo constructor is invoked from index writer
        	// Autodetect current delete file generation number
            $this->_delGen = $this->_detectLatestDelGen();
        }

        // Load deletions
        $this->_deleted = $this->_loadDelFile();
    }
开发者ID:realfluid,项目名称:umbaugh,代码行数:101,代码来源:SegmentInfo.php

示例2: __construct

 /**
  * Zend_Search_Lucene_Index_SegmentInfo constructor needs Segmentname,
  * Documents count and Directory as a parameter.
  *
  * @param string $name
  * @param integer $docCount
  * @param Zend_Search_Lucene_Storage_Directory $directory
  */
 public function __construct($name, $docCount, $directory)
 {
     $this->_name = $name;
     $this->_docCount = $docCount;
     $this->_directory = $directory;
     $this->_termDictionary = null;
     $this->_segFiles = array();
     if ($this->_directory->fileExists($name . '.cfs')) {
         $cfsFile = $this->_directory->getFileObject($name . '.cfs');
         $segFilesCount = $cfsFile->readVInt();
         for ($count = 0; $count < $segFilesCount; $count++) {
             $dataOffset = $cfsFile->readLong();
             if ($count != 0) {
                 $this->_segFileSizes[$fileName] = $dataOffset - end($this->_segFiles);
             }
             $fileName = $cfsFile->readString();
             $this->_segFiles[$fileName] = $dataOffset;
         }
         if ($count != 0) {
             $this->_segFileSizes[$fileName] = $this->_directory->fileLength($name . '.cfs') - $dataOffset;
         }
     }
     $fnmFile = $this->openCompoundFile('.fnm');
     $fieldsCount = $fnmFile->readVInt();
     $fieldNames = array();
     $fieldNums = array();
     $this->_fields = array();
     for ($count = 0; $count < $fieldsCount; $count++) {
         $fieldName = $fnmFile->readString();
         $fieldBits = $fnmFile->readByte();
         $this->_fields[$count] = new Zend_Search_Lucene_Index_FieldInfo($fieldName, $fieldBits & 1, $count, $fieldBits & 2);
         if ($fieldBits & 0x10) {
             // norms are omitted for the indexed field
             $this->_norms[$count] = str_repeat(chr(Zend_Search_Lucene_Search_Similarity::encodeNorm(1.0)), $docCount);
         }
         $fieldNums[$count] = $count;
         $fieldNames[$count] = $fieldName;
     }
     array_multisort($fieldNames, SORT_ASC, SORT_REGULAR, $fieldNums);
     $this->_fieldsDicPositions = array_flip($fieldNums);
     try {
         $delFile = $this->openCompoundFile('.del');
         $byteCount = $delFile->readInt();
         $byteCount = ceil($byteCount / 8);
         $bitCount = $delFile->readInt();
         if ($bitCount == 0) {
             $delBytes = '';
         } else {
             $delBytes = $delFile->readBytes($byteCount);
         }
         if (extension_loaded('bitset')) {
             $this->_deleted = $delBytes;
         } else {
             $this->_deleted = array();
             for ($count = 0; $count < $byteCount; $count++) {
                 $byte = ord($delBytes[$count]);
                 for ($bit = 0; $bit < 8; $bit++) {
                     if ($byte & 1 << $bit) {
                         $this->_deleted[$count * 8 + $bit] = 1;
                     }
                 }
             }
         }
     } catch (Zend_Search_Exception $e) {
         if (strpos($e->getMessage(), 'compound file doesn\'t contain') !== false) {
             $this->_deleted = null;
         } else {
             throw $e;
         }
     }
 }
开发者ID:renatosoares,项目名称:blog-zend1,代码行数:79,代码来源:SegmentInfo.php

示例3: __construct

 /**
  * Zend_Search_Lucene_Index_SegmentInfo constructor
  *
  * @param Zend_Search_Lucene_Storage_Directory $directory
  * @param string     $name
  * @param integer    $docCount
  * @param integer    $delGen
  * @param array|null $docStoreOptions
  * @param boolean    $hasSingleNormFile
  * @param boolean    $isCompound
  */
 public function __construct(Zend_Search_Lucene_Storage_Directory $directory, $name, $docCount, $delGen = 0, $docStoreOptions = null, $hasSingleNormFile = false, $isCompound = null)
 {
     $this->_directory = $directory;
     $this->_name = $name;
     $this->_docCount = $docCount;
     if ($docStoreOptions !== null) {
         $this->_usesSharedDocStore = true;
         $this->_sharedDocStoreOptions = $docStoreOptions;
         if ($docStoreOptions['isCompound']) {
             $cfxFile = $this->_directory->getFileObject($docStoreOptions['segment'] . '.cfx');
             $cfxFilesCount = $cfxFile->readVInt();
             $cfxFiles = array();
             $cfxFileSizes = array();
             for ($count = 0; $count < $cfxFilesCount; $count++) {
                 $dataOffset = $cfxFile->readLong();
                 if ($count != 0) {
                     $cfxFileSizes[$fileName] = $dataOffset - end($cfxFiles);
                 }
                 $fileName = $cfxFile->readString();
                 $cfxFiles[$fileName] = $dataOffset;
             }
             if ($count != 0) {
                 $cfxFileSizes[$fileName] = $this->_directory->fileLength($docStoreOptions['segment'] . '.cfx') - $dataOffset;
             }
             $this->_sharedDocStoreOptions['files'] = $cfxFiles;
             $this->_sharedDocStoreOptions['fileSizes'] = $cfxFileSizes;
         }
     }
     $this->_hasSingleNormFile = $hasSingleNormFile;
     $this->_delGen = $delGen;
     $this->_termDictionary = null;
     if ($isCompound !== null) {
         $this->_isCompound = $isCompound;
     } else {
         // It's a pre-2.1 segment or isCompound is set to 'unknown'
         // Detect if segment uses compound file
         try {
             // Try to open compound file
             $this->_directory->getFileObject($name . '.cfs');
             // Compound file is found
             $this->_isCompound = true;
         } catch (Zend_Search_Lucene_Exception $e) {
             if (strpos($e->getMessage(), 'is not readable') !== false) {
                 // Compound file is not found or is not readable
                 $this->_isCompound = false;
             } else {
                 throw $e;
             }
         }
     }
     $this->_segFiles = array();
     if ($this->_isCompound) {
         $cfsFile = $this->_directory->getFileObject($name . '.cfs');
         $segFilesCount = $cfsFile->readVInt();
         for ($count = 0; $count < $segFilesCount; $count++) {
             $dataOffset = $cfsFile->readLong();
             if ($count != 0) {
                 $this->_segFileSizes[$fileName] = $dataOffset - end($this->_segFiles);
             }
             $fileName = $cfsFile->readString();
             $this->_segFiles[$fileName] = $dataOffset;
         }
         if ($count != 0) {
             $this->_segFileSizes[$fileName] = $this->_directory->fileLength($name . '.cfs') - $dataOffset;
         }
     }
     $fnmFile = $this->openCompoundFile('.fnm');
     $fieldsCount = $fnmFile->readVInt();
     $fieldNames = array();
     $fieldNums = array();
     $this->_fields = array();
     for ($count = 0; $count < $fieldsCount; $count++) {
         $fieldName = $fnmFile->readString();
         $fieldBits = $fnmFile->readByte();
         $this->_fields[$count] = new Zend_Search_Lucene_Index_FieldInfo($fieldName, $fieldBits & 0x1, $count, $fieldBits & 0x2, $fieldBits & 0x10, $fieldBits & 0x20);
         if ($fieldBits & 0x10) {
             // norms are omitted for the indexed field
             $this->_norms[$count] = str_repeat(chr(Zend_Search_Lucene_Search_Similarity::encodeNorm(1.0)), $docCount);
         }
         $fieldNums[$count] = $count;
         $fieldNames[$count] = $fieldName;
     }
     array_multisort($fieldNames, SORT_ASC, SORT_REGULAR, $fieldNums);
     $this->_fieldsDicPositions = array_flip($fieldNums);
     if ($this->_delGen == -2) {
         $this->_detectLatestDelGen();
     }
     if ($this->_delGen == -1) {
         // There is no delete file for this segment
//.........这里部分代码省略.........
开发者ID:gauravstomar,项目名称:Pepool,代码行数:101,代码来源:SegmentInfo.php

示例4: __construct

 /**
  * Zend_Search_Lucene_Index_SegmentInfo constructor
  *
  * @param Zend_Search_Lucene_Storage_Directory $directory
  * @param string $name
  * @param integer $docCount
  * @param integer $delGen
  * @param boolean $isCompound
  */
 public function __construct(Zend_Search_Lucene_Storage_Directory $directory, $name, $docCount, $delGen = 0, $hasSingleNormFile = false, $isCompound = null)
 {
     $this->_directory = $directory;
     $this->_name = $name;
     $this->_docCount = $docCount;
     $this->_hasSingleNormFile = $hasSingleNormFile;
     $this->_delGen = $delGen;
     $this->_termDictionary = null;
     if (!is_null($isCompound)) {
         $this->_isCompound = $isCompound;
     } else {
         // It's a pre-2.1 segment
         // detect if it uses compond file
         $this->_isCompound = true;
         try {
             // Try to open compound file
             $this->_directory->getFileObject($name . '.cfs');
         } catch (Zend_Search_Lucene_Exception $e) {
             if (strpos($e->getMessage(), 'is not readable') !== false) {
                 // Compound file is not found or is not readable
                 $this->_isCompound = false;
             } else {
                 throw $e;
             }
         }
     }
     $this->_segFiles = array();
     if ($this->_isCompound) {
         $cfsFile = $this->_directory->getFileObject($name . '.cfs');
         $segFilesCount = $cfsFile->readVInt();
         for ($count = 0; $count < $segFilesCount; $count++) {
             $dataOffset = $cfsFile->readLong();
             if ($count != 0) {
                 $this->_segFileSizes[$fileName] = $dataOffset - end($this->_segFiles);
             }
             $fileName = $cfsFile->readString();
             $this->_segFiles[$fileName] = $dataOffset;
         }
         if ($count != 0) {
             $this->_segFileSizes[$fileName] = $this->_directory->fileLength($name . '.cfs') - $dataOffset;
         }
     }
     $fnmFile = $this->openCompoundFile('.fnm');
     $fieldsCount = $fnmFile->readVInt();
     $fieldNames = array();
     $fieldNums = array();
     $this->_fields = array();
     for ($count = 0; $count < $fieldsCount; $count++) {
         $fieldName = $fnmFile->readString();
         $fieldBits = $fnmFile->readByte();
         $this->_fields[$count] = new Zend_Search_Lucene_Index_FieldInfo($fieldName, $fieldBits & 1, $count, $fieldBits & 2);
         if ($fieldBits & 0x10) {
             // norms are omitted for the indexed field
             $this->_norms[$count] = str_repeat(chr(Zend_Search_Lucene_Search_Similarity::encodeNorm(1.0)), $docCount);
         }
         $fieldNums[$count] = $count;
         $fieldNames[$count] = $fieldName;
     }
     array_multisort($fieldNames, SORT_ASC, SORT_REGULAR, $fieldNums);
     $this->_fieldsDicPositions = array_flip($fieldNums);
     if ($this->_delGen == -1) {
         // There is no delete file for this segment
         // Do nothing
     } else {
         if ($this->_delGen == 0) {
             // It's a segment with pre-2.1 format delete file
             // Try to find delete file
             try {
                 // '.del' files always stored in a separate file
                 // Segment compound is not used
                 $delFile = $this->_directory->getFileObject($this->_name . '.del');
                 $byteCount = $delFile->readInt();
                 $byteCount = ceil($byteCount / 8);
                 $bitCount = $delFile->readInt();
                 if ($bitCount == 0) {
                     $delBytes = '';
                 } else {
                     $delBytes = $delFile->readBytes($byteCount);
                 }
                 if (extension_loaded('bitset')) {
                     $this->_deleted = $delBytes;
                 } else {
                     $this->_deleted = array();
                     for ($count = 0; $count < $byteCount; $count++) {
                         $byte = ord($delBytes[$count]);
                         for ($bit = 0; $bit < 8; $bit++) {
                             if ($byte & 1 << $bit) {
                                 $this->_deleted[$count * 8 + $bit] = 1;
                             }
                         }
                     }
//.........这里部分代码省略.........
开发者ID:ismaelmelus,项目名称:home,代码行数:101,代码来源:SegmentInfo.php

示例5: __construct

 /**
  * Zend_Search_Lucene_Index_SegmentInfo constructor needs Segmentname,
  * Documents count and Directory as a parameter.
  *
  * @param string $name
  * @param integer $docCount
  * @param Zend_Search_Lucene_Storage_Directory $directory
  */
 public function __construct($name, $docCount, $directory)
 {
     $this->_name = $name;
     $this->_docCount = $docCount;
     $this->_directory = $directory;
     $this->_termDictionary = null;
     $this->_segFiles = array();
     $cfsFile = $this->_directory->getFileObject($name . '.cfs');
     $segFilesCount = $cfsFile->readVInt();
     for ($count = 0; $count < $segFilesCount; $count++) {
         $dataOffset = $cfsFile->readLong();
         $fileName = $cfsFile->readString();
         $this->_segFiles[$fileName] = $dataOffset;
     }
     $fnmFile = $this->openCompoundFile('.fnm');
     $fieldsCount = $fnmFile->readVInt();
     $fieldNames = array();
     $fieldNums = array();
     $this->_fields = array();
     for ($count = 0; $count < $fieldsCount; $count++) {
         $fieldName = $fnmFile->readString();
         $fieldBits = $fnmFile->readByte();
         $this->_fields[$count] = new Zend_Search_Lucene_Index_FieldInfo($fieldName, $fieldBits & 1, $count, $fieldBits & 2);
         if ($fieldBits & 0x10) {
             // norms are omitted for the indexed field
             $this->_norms[$count] = str_repeat(chr(Zend_Search_Lucene_Search_Similarity::encodeNorm(1.0)), $docCount);
         }
         $fieldNums[$count] = $count;
         $fieldNames[$count] = $fieldName;
     }
     array_multisort($fieldNames, SORT_ASC, SORT_REGULAR, $fieldNums);
     $this->_fieldsDicPositions = array_flip($fieldNums);
 }
开发者ID:Nurudeen,项目名称:prado,代码行数:41,代码来源:SegmentInfo.php

示例6: __construct

 public function __construct(Zend_Search_Lucene_Storage_Directory $directory, $name, $docCount, $delGen = 0, $docStoreOptions = null, $hasSingleNormFile = false, $isCompound = null)
 {
     $this->_directory = $directory;
     $this->_name = $name;
     $this->_docCount = $docCount;
     if ($docStoreOptions !== null) {
         $this->_usesSharedDocStore = true;
         $this->_sharedDocStoreOptions = $docStoreOptions;
         if ($docStoreOptions['isCompound']) {
             $cfxFile = $this->_directory->getFileObject($docStoreOptions['segment'] . '.cfx');
             $cfxFilesCount = $cfxFile->readVInt();
             $cfxFiles = array();
             $cfxFileSizes = array();
             for ($count = 0; $count < $cfxFilesCount; $count++) {
                 $dataOffset = $cfxFile->readLong();
                 if ($count != 0) {
                     $cfxFileSizes[$fileName] = $dataOffset - end($cfxFiles);
                 }
                 $fileName = $cfxFile->readString();
                 $cfxFiles[$fileName] = $dataOffset;
             }
             if ($count != 0) {
                 $cfxFileSizes[$fileName] = $this->_directory->fileLength($docStoreOptions['segment'] . '.cfx') - $dataOffset;
             }
             $this->_sharedDocStoreOptions['files'] = $cfxFiles;
             $this->_sharedDocStoreOptions['fileSizes'] = $cfxFileSizes;
         }
     }
     $this->_hasSingleNormFile = $hasSingleNormFile;
     $this->_delGen = $delGen;
     $this->_termDictionary = null;
     if ($isCompound !== null) {
         $this->_isCompound = $isCompound;
     } else {
         try {
             $this->_directory->getFileObject($name . '.cfs');
             $this->_isCompound = true;
         } catch (Zend_Search_Lucene_Exception $e) {
             if (strpos($e->getMessage(), 'is not readable') !== false) {
                 $this->_isCompound = false;
             } else {
                 throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
             }
         }
     }
     $this->_segFiles = array();
     if ($this->_isCompound) {
         $cfsFile = $this->_directory->getFileObject($name . '.cfs');
         $segFilesCount = $cfsFile->readVInt();
         for ($count = 0; $count < $segFilesCount; $count++) {
             $dataOffset = $cfsFile->readLong();
             if ($count != 0) {
                 $this->_segFileSizes[$fileName] = $dataOffset - end($this->_segFiles);
             }
             $fileName = $cfsFile->readString();
             $this->_segFiles[$fileName] = $dataOffset;
         }
         if ($count != 0) {
             $this->_segFileSizes[$fileName] = $this->_directory->fileLength($name . '.cfs') - $dataOffset;
         }
     }
     $fnmFile = $this->openCompoundFile('.fnm');
     $fieldsCount = $fnmFile->readVInt();
     $fieldNames = array();
     $fieldNums = array();
     $this->_fields = array();
     for ($count = 0; $count < $fieldsCount; $count++) {
         $fieldName = $fnmFile->readString();
         $fieldBits = $fnmFile->readByte();
         $this->_fields[$count] = new Zend_Search_Lucene_Index_FieldInfo($fieldName, $fieldBits & 0x1, $count, $fieldBits & 0x2, $fieldBits & 0x10, $fieldBits & 0x20);
         if ($fieldBits & 0x10) {
             $this->_norms[$count] = str_repeat(chr(Zend_Search_Lucene_Search_Similarity::encodeNorm(1.0)), $docCount);
         }
         $fieldNums[$count] = $count;
         $fieldNames[$count] = $fieldName;
     }
     array_multisort($fieldNames, SORT_ASC, SORT_REGULAR, $fieldNums);
     $this->_fieldsDicPositions = array_flip($fieldNums);
     if ($this->_delGen == -2) {
         $this->_delGen = $this->_detectLatestDelGen();
     }
     $this->_deleted = $this->_loadDelFile();
 }
开发者ID:Blu2z,项目名称:implsk,代码行数:83,代码来源:Zend_Search_Lucene.php


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