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

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

 2009-09-17 00:00:00 来源:WEB开发网   
核心提示:在上文中,ahuaxuan讲到了索引创建的主体流程,深入浅出 jackrabbit 九 索引合并(下),但是索引合并其实还有一个较为重要的细节ahuaxuan没有详细阐述,本文中,哪些是有效的索引目录,这样Repository启动的时候就可以拿到正确的 IndexReader,ahuaxuan将会详细阐述这个问题本文分

在上文中,ahuaxuan讲到了索引创建的主体流程,但是索引合并其实还有一个较为重要的细节ahuaxuan没有详细阐述。本文中,ahuaxuan将会详细阐述这个问题

本文分成两部分内容

1  考虑应用拓机时的数据正确性问题。

2  jackrabbit是如何解决这些问题的。

而这个细节将会直接影响我们对query module的改造,这个细节虽然不难,但是却很重要,是jackrabbit中一个比较重要的设计。下面让我们一起来看看这个是什么样的细节。

回顾上文,我们知道一个目录合并的主要逻辑是10个以上同层次(一共10个层次,还记得否)的小目录会合并成上一个层次的目录,我们再来看看这幅图:

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

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

那么现在的问题是

1.       当低层次的多个小目录合并完成一个高层次的目录之后,我们需要把这些目录删除。

2.       并且要通知程序产生了一个新的目录。

但是这个时候程序突然挂掉,怎么办呢。那么就必须有一个恢复机制。

需要被删除或者需要增加的目录的信息如果没有持久化的机制,那么程序再启动的时候就无法分辨哪些索引数据是要删除的,哪些是新增的。咋办呢,咋整呢?我们得有一个持久化的机制来证明哪些索引目录是需要被删除,哪些是有效的索引目录,这样Repository启动的时候就可以拿到正确的 IndexReader。

Ahuaxuan在前面的文章分析过,Action的接口以及其实现类:

1 2 3 4 5 6  下一页

Tags:深入浅出 jackrabbit 索引

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