code: public void rebuildAllIndexes(I_CmsReport report) throws CmsException {
  
          try {
              SEARCH_MANAGER_LOCK.lock();
  
              CmsMessageContainer container = null;
              for (int i = 0, n = m_indexes.size(); i < n; i++) {
                  // iterate all configured search indexes
                  I_CmsSearchIndex searchIndex = m_indexes.get(i);
                  try {
                      // update the index
                      updateIndex(searchIndex, report, null);
                  } catch (CmsException e) {
                      container = new CmsMessageContainer(
                          Messages.get(),
                          Messages.ERR_INDEX_REBUILD_ALL_1,
                          new Object[] {searchIndex.getName()});
                      LOG.error(
                          Messages.get().getBundle().key(Messages.ERR_INDEX_REBUILD_ALL_1, searchIndex.getName()),
                          e);
                  }
              }
              // clean up the extraction result cache
              cleanExtractionCache();
              if (container != null) {
                  // throw stored exception
                  throw new CmsSearchException(container);
              }
          } finally {
              SEARCH_MANAGER_LOCK.unlock();
          }
      }
docs: Rebuilds (if required creates) all configured indexes.<p>
  
  @param report the report object to write messages (or <code>null</code>)
  
  @throws CmsException if something goes wrong