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


PHP Zend_Search_Lucene::getActualGeneration方法代码示例

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


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

示例1: _newSegmentName

 /**
  * Get name for new segment
  *
  * @return string
  */
 private function _newSegmentName()
 {
     Zend_Search_Lucene_LockManager::obtainWriteLock($this->_directory);
     $generation = Zend_Search_Lucene::getActualGeneration($this->_directory);
     $segmentsFile = $this->_directory->getFileObject(Zend_Search_Lucene::getSegmentFileName($generation), false);
     $segmentsFile->seek(12);
     // 12 = 4 (int, file format marker) + 8 (long, index version)
     $segmentNameCounter = $segmentsFile->readInt();
     $segmentsFile->seek(12);
     // 12 = 4 (int, file format marker) + 8 (long, index version)
     $segmentsFile->writeInt($segmentNameCounter + 1);
     // Flash output to guarantee that wrong value will not be loaded between unlock and
     // return (which calls $segmentsFile destructor)
     $segmentsFile->flush();
     Zend_Search_Lucene_LockManager::releaseWriteLock($this->_directory);
     return '_' . base_convert($segmentNameCounter, 10, 36);
 }
开发者ID:Sywooch,项目名称:forums,代码行数:22,代码来源:Writer.php

示例2: optimize

 /**
  * Оптимизация индекса
  */
 public function optimize()
 {
     $zsl = $this->get_index();
     $zsl->optimize();
     // ВНИМАНИЕ!!!
     // Код, который следует далее, зависит от версии формата индекса Lucene
     // и может перестать работать и/или приводить к возникновению ошибок
     // в будущем при изменении формата, используемого Zend_Search_Lucene!
     // После некорректного завершения переиндексирования могут остаться "лишние"
     // файлы: устроим чистку...
     try {
         $path = $this->get_index_path();
         //$directory = $zsl->getDirectory();
         $directory = new Zend_Search_Lucene_Storage_Directory_Filesystem($path);
         Zend_Search_Lucene_LockManager::obtainWriteLock($directory);
         $generation = Zend_Search_Lucene::getActualGeneration($directory);
         $files_to_keep = array("segments.gen", Zend_Search_Lucene_LockManager::WRITE_LOCK_FILE, Zend_Search_Lucene_LockManager::READ_LOCK_FILE, Zend_Search_Lucene_LockManager::READ_LOCK_PROCESSING_LOCK_FILE, Zend_Search_Lucene_LockManager::OPTIMIZATION_LOCK_FILE);
         if ($generation > 0) {
             $segments_file_name = Zend_Search_Lucene::getSegmentFileName($generation);
             $files_to_keep[] = $segments_file_name;
             $segments_file = $directory->getFileObject($segments_file_name);
             // после оптимизации должен остаться только один сегмент
             // найдём имя этого сегмента
             $segments_file->seek(16);
             // 4 (int, file format marker) + 8 (long, index version) + 4 (int, segment name counter)
             $seg_count = $segments_file->readInt();
             if ($seg_count == 1) {
                 $seg_name = $segments_file->readString();
                 $files_to_keep[] = "{$seg_name}.cfs";
                 $files_to_keep[] = "{$seg_name}.sti";
                 if ($seg_name && chdir($path)) {
                     $files_to_delete = array_diff(glob("*"), $files_to_keep);
                     foreach ($files_to_delete as $f) {
                         unlink($f);
                     }
                 }
             }
         }
     } catch (Exception $e) {
         // something went south, probably it was impossible to get the write lock
         // or read some file
         // trigger_error(get_class($e) . ": {$e->getMessage()}", E_USER_WARNING);
     }
     Zend_Search_Lucene_LockManager::releaseWriteLock($directory);
 }
开发者ID:Blu2z,项目名称:implsk,代码行数:48,代码来源:zend.php

示例3: getActualGeneration

 /**
  * Get current generation number
  *
  * Returns generation number
  * 0 means pre-2.1 index format
  * -1 means there are no segments files.
  *
  * @param Zend_Search_Lucene_Storage_Directory $directory
  * @return integer
  * @throws Zend_Search_Lucene_Exception
  */
 public static function getActualGeneration(Zend_Search_Lucene_Storage_Directory $directory)
 {
     Zend_Search_Lucene::getActualGeneration($directory);
 }
开发者ID:abdulhadikaryana,项目名称:kebudayaan,代码行数:15,代码来源:Proxy.php

示例4: _newSegmentName

 private function _newSegmentName()
 {
     Zend_Search_Lucene_LockManager::obtainWriteLock($this->_directory);
     $generation = Zend_Search_Lucene::getActualGeneration($this->_directory);
     $segmentsFile = $this->_directory->getFileObject(Zend_Search_Lucene::getSegmentFileName($generation), false);
     $segmentsFile->seek(12);
     $segmentNameCounter = $segmentsFile->readInt();
     $segmentsFile->seek(12);
     $segmentsFile->writeInt($segmentNameCounter + 1);
     $segmentsFile->flush();
     Zend_Search_Lucene_LockManager::releaseWriteLock($this->_directory);
     return '_' . base_convert($segmentNameCounter, 10, 36);
 }
开发者ID:Blu2z,项目名称:implsk,代码行数:13,代码来源:Zend_Search_Lucene.php


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