From 702fb4a66d473fb1ee98aaa81cd26b4813279ef8 Mon Sep 17 00:00:00 2001 From: wei <> Date: Tue, 9 May 2006 11:39:11 +0000 Subject: Remove duplicate --- .../texbuilder/Zend/Search/Lucene/Index/Writer.php | 308 --------------------- 1 file changed, 308 deletions(-) delete mode 100644 buildscripts/texbuilder/Zend/Search/Lucene/Index/Writer.php (limited to 'buildscripts/texbuilder/Zend/Search/Lucene/Index/Writer.php') diff --git a/buildscripts/texbuilder/Zend/Search/Lucene/Index/Writer.php b/buildscripts/texbuilder/Zend/Search/Lucene/Index/Writer.php deleted file mode 100644 index da4af000..00000000 --- a/buildscripts/texbuilder/Zend/Search/Lucene/Index/Writer.php +++ /dev/null @@ -1,308 +0,0 @@ -_directory = $directory; - - if ($create) { - foreach ($this->_directory->fileList() as $file) { - if ($file == 'deletable' || - $file == 'segments' || - substr($file, strlen($file)-4) == '.cfs') { - $this->_directory->deleteFile($file); - } - } - $segmentsFile = $this->_directory->createFile('segments'); - $segmentsFile->writeInt((int)0xFFFFFFFF); - // write version - $segmentsFile->writeLong(0); - // write name counter - $segmentsFile->writeInt(0); - // write segment counter - $segmentsFile->writeInt(0); - - $deletableFile = $this->_directory->createFile('deletable'); - // write counter - $deletableFile->writeInt(0); - - $this->_version = 0; - $this->_segmentNameCounter = 0; - $this->_segments = 0; - } else { - $segmentsFile = $this->_directory->getFileObject('segments'); - $format = $segmentsFile->readInt(); - if ($format != (int)0xFFFFFFFF) { - throw new Zend_Search_Lucene_Exception('Wrong segments file format'); - } - - // read version - $this->_version = $segmentsFile->readLong(); - // read counter - $this->_segmentNameCounter = $segmentsFile->readInt(); - // read segment counter - $this->_segments = $segmentsFile->readInt(); - } - - $this->_newSegments = array(); - $this->_currentSegment = null; - } - - /** - * Adds a document to this index. - * - * @param Zend_Search_Lucene_Document $document - */ - public function addDocument(Zend_Search_Lucene_Document $document) - { - if ($this->_currentSegment === null) { - $this->_currentSegment = - new Zend_Search_Lucene_Index_SegmentWriter($this->_directory, $this->_newSegmentName()); - } - $this->_currentSegment->addDocument($document); - $this->_version++; - } - - - - /** - * Update segments file by adding current segment to a list - * @todo !!!!!Finish the implementation - * - * @throws Zend_Search_Lucene_Exception - */ - private function _updateSegments() - { - $segmentsFile = $this->_directory->getFileObject('segments'); - $newSegmentFile = $this->_directory->createFile('segments.new'); - - $newSegmentFile->writeInt((int)0xFFFFFFFF); - $newSegmentFile->writeLong($this->_version); - $newSegmentFile->writeInt($this->_segmentNameCounter); - $newSegmentFile->writeInt($this->_segments + count($this->_newSegments)); - - $segmentsFile->seek(20); - $newSegmentFile->writeBytes($segmentsFile->readBytes($this->_directory->fileLength('segments') - 20)); - - foreach ($this->_newSegments as $segmentName => $segmentInfo) { - $newSegmentFile->writeString($segmentName); - $newSegmentFile->writeInt($segmentInfo->count()); - } - - $this->_directory->renameFile('segments.new', 'segments'); - } - - - /** - * Commit current changes - * returns array of new segments - * - * @return array - */ - public function commit() - { - if ($this->_currentSegment !== null) { - $newSegment = $this->_currentSegment->close(); - if ($newSegment !== null) { - $this->_newSegments[$newSegment->getName()] = $newSegment; - } - $this->_currentSegment = null; - } - - if (count($this->_newSegments) != 0) { - $this->_updateSegments(); - } - - $result = $this->_newSegments; - $this->_newSegments = array(); - - return $result; - } - - - /** - * Merges the provided indexes into this index. - * - * @param array $readers - * @return void - */ - public function addIndexes($readers) - { - /** - * @todo implementation - */ - } - - - /** - * Returns the number of documents currently in this index. - * - * @return integer - */ - public function docCount($readers) - { - /** - * @todo implementation - */ - } - - - /** - * Flushes all changes to an index and closes all associated files. - * - */ - public function close() - { - /** - * @todo implementation - */ - } - - - /** - * Merges all segments together into a single segment, optimizing - * an index for search. - * - * return void - */ - public function optimize() - { - /** - * @todo implementation - */ - } - - /** - * Get name for new segment - * - * @return string - */ - private function _newSegmentName() - { - return '_' . base_convert($this->_segmentNameCounter++, 10, 36); - } - -} -- cgit v1.2.3