WEB开发网
开发学院软件开发Java 深入浅出 jackrabbit 九 索引合并(下) 阅读

深入浅出 jackrabbit 九 索引合并(下)

 2009-09-17 00:00:00 来源:WEB开发网   
核心提示: 图片看不清楚?请点击这里查看原图(大图),其中AddIndex和DeleteIndex这两个Action值的关注,深入浅出 jackrabbit 九 索引合并(下)(2),这两个Action一个是创建PersistentIndex,一个是删除 PersistentIndex,我们先来看看AddI

深入浅出 jackrabbit 九 索引合并(下)

图片看不清楚?请点击这里查看原图(大图)。

其中AddIndex和DeleteIndex这两个Action值的关注,这两个Action一个是创建PersistentIndex,一个是删除 PersistentIndex,前面讲过一个PersistentIndex对应一个索引目录,AddIndex和DeleteIndex中必然包含着 PersistentIndex相关信息持久化的问题。

我们先来看看AddIndex类的execute方法:

Java代码   

public void execute(MultiIndex index) throws IOException { 
 
      PersistentIndex idx = index.getOrCreateIndex(indexName); 
 
      if (!index.indexNames.contains(indexName)) { 
 
        index.indexNames.addName(indexName); 
 
        // now that the index is in the active list let the merger know about it 
 
        index.merger.indexAdded(indexName, idx.getNumDocuments()); 
 
      } 
 
    }

Ok, 代码写得很清楚,如果indexNames不包含一个PersistentIndex的name,那么就将这个PersistentIndex的indexName加入到indexNames中。

再来看看DeleteIndex的execute方法:

Java代码   

public void execute(MultiIndex index) throws IOException { 
 
      // get index if it exists 
 
      for (Iterator it = index.indexes.iterator(); it.hasNext();) { 
 
        PersistentIndex idx = (PersistentIndex) it.next(); 
 
        if (idx.getName().equals(indexName)) { 
 
          idx.close(); 
 
          index.deleteIndex(idx); 
 
          break; 
 
        } 
 
      } 
 
    }

上一页  1 2 3 4 5 6  下一页

Tags:深入浅出 jackrabbit 索引

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接