/**
  * Do merge.
  *
  * Returns number of documents in newly created segment
  *
  * @return Zend_Search_Lucene_Index_SegmentInfo
  * @throws Zend_Search_Lucene_Exception
  */
 public function merge()
 {
     if ($this->_mergeDone) {
         throw new Zend_Search_Lucene_Exception('Merge is already done.');
     }
     if (count($this->_segmentInfos) < 1) {
         throw new Zend_Search_Lucene_Exception('Wrong number of segments to be merged (' . count($this->_segmentInfos) . ').');
     }
     $this->_mergeFields();
     $this->_mergeNorms();
     $this->_mergeStoredFields();
     $this->_mergeTerms();
     $this->_mergeDone = true;
     return $this->_writer->close();
 }
示例#2
0
 /**
  * Do merge.
  *
  * Returns number of documents in newly created segment
  *
  * @return Zend_Search_Lucene_Index_SegmentInfo
  * @throws Zend_Search_Lucene_Exception
  */
 public function merge()
 {
     if ($this->_mergeDone) {
         require_once sfConfig::get('sf_lib_dir') . '/modules/search/lib/Lucene/Exception.php';
         throw new Zend_Search_Lucene_Exception('Merge is already done.');
     }
     if (count($this->_segmentInfos) < 1) {
         require_once sfConfig::get('sf_lib_dir') . '/modules/search/lib/Lucene/Exception.php';
         throw new Zend_Search_Lucene_Exception('Wrong number of segments to be merged (' . count($this->_segmentInfos) . ').');
     }
     $this->_mergeFields();
     $this->_mergeNorms();
     $this->_mergeStoredFields();
     $this->_mergeTerms();
     $this->_mergeDone = true;
     return $this->_writer->close();
 }