original_string: public function optimize()
      {
          if (Zend_Search_Lucene_LockManager::obtainOptimizationLock($this->_directory) === false) {
              return false;
          }
  
          // Update segments list to be sure all segments are not merged yet by another process
          //
          // Segment merging functionality is concentrated in this class and surrounded
          // by optimization lock obtaining/releasing.
          // _updateSegments() refreshes segments list from the latest index generation.
          // So only new segments can be added to the index while we are merging some already existing
          // segments.
          // Newly added segments will be also included into the index by the _updateSegments() call
          // either by another process or by the current process with the commit() call at the end of _mergeSegments() method.
          // That's guaranteed by the serialisation of _updateSegments() execution using exclusive locks.
          $this->_updateSegments();
  
          $this->_mergeSegments($this->_segmentInfos);
  
          Zend_Search_Lucene_LockManager::releaseOptimizationLock($this->_directory);
  
          return true;
      }
code: public function optimize()
      {
          if (Zend_Search_Lucene_LockManager::obtainOptimizationLock($this->_directory) === false) {
              return false;
          }
  
          // Update segments list to be sure all segments are not merged yet by another process
          //
          // Segment merging functionality is concentrated in this class and surrounded
          // by optimization lock obtaining/releasing.
          // _updateSegments() refreshes segments list from the latest index generation.
          // So only new segments can be added to the index while we are merging some already existing
          // segments.
          // Newly added segments will be also included into the index by the _updateSegments() call
          // either by another process or by the current process with the commit() call at the end of _mergeSegments() method.
          // That's guaranteed by the serialisation of _updateSegments() execution using exclusive locks.
          $this->_updateSegments();
  
          $this->_mergeSegments($this->_segmentInfos);
  
          Zend_Search_Lucene_LockManager::releaseOptimizationLock($this->_directory);
  
          return true;
      }
code_tokens: public function optimize ( ) { if ( Zend_Search_Lucene_LockManager :: obtainOptimizationLock ( $ this -> _directory ) === false ) { return false ; } // Update segments list to be sure all segments are not merged yet by another process // // Segment merging functionality is concentrated in this class and surrounded // by optimization lock obtaining/releasing. // _updateSegments() refreshes segments list from the latest index generation. // So only new segments can be added to the index while we are merging some already existing // segments. // Newly added segments will be also included into the index by the _updateSegments() call // either by another process or by the current process with the commit() call at the end of _mergeSegments() method. // That's guaranteed by the serialisation of _updateSegments() execution using exclusive locks. $ this -> _updateSegments ( ) ; $ this -> _mergeSegments ( $ this -> _segmentInfos ) ; Zend_Search_Lucene_LockManager :: releaseOptimizationLock ( $ this -> _directory ) ; return true ; }
docstring: Merges all segments together into new one
  
  Returns true on success and false if another optimization or auto-optimization process
  is running now
  
  @return boolean
docstring_tokens: Merges all segments together into new one