WEB开发网
开发学院软件开发Java 深入浅出 jackrabbit 十一 jackrabbit改进要点 阅读

深入浅出 jackrabbit 十一 jackrabbit改进要点

 2009-09-17 00:00:00 来源:WEB开发网   
核心提示:在看过前面的一系列文章之后,对于jackrabbit,深入浅出 jackrabbit 十一 jackrabbit改进要点,我们脑海里应已经有了一幅比较清晰的图,接下来我们要思考的是如何提高搜索模块的性能,那拷贝20G的索引和拷贝10G的索引,给人的感觉就是完全不一样的,其中涉及到如何正确的使用lucene,如何让搜索模

在看过前面的一系列文章之后,对于jackrabbit,我们脑海里应已经有了一幅比较清晰的图。接下来我们要思考的是如何提高搜索模块的性能。其中涉及到如何正确的使用lucene,如何让搜索模块专注的做它应该做的事情。

我们先谈谈第一个话题:专注。

为什么先要谈专注呢?因为它最重要了,一个功能要能够高效的完成任务,那么它应该只做自己擅长的事情。否则就会引来别人怀疑的目光。这一点在铁岭明星本山大叔的公鸡下蛋这部作品中有着较为深刻的阐述,原文如下:“当时这个鸡———心里特别矛盾,一个公鸡,居然它要下蛋,不是它的活它要干。大公鸡怎么看?鸭子怎么看?大鹅怎么看?跟它好过的小母鸡怎么看?”。

由此我们可以看出,会下蛋这项生理功能是绝不会让一只公鸡成为好公鸡的。在逆向思维一下,我们认为,一只公鸡把打鸣和繁殖后代的工作做好,而且要做得很好,这样它才能成为一只好公鸡。

那么在jackrabbit的querymodule中也是如此,querymodule要做好,就不应该做不属于它做的事情,而且要把search的功能做到非常的好,比如搜索非常的快,等等。

而有些功能的加入,反而会影响搜索的效率,这就是前面提到的高亮功能,高亮功能作为一个附属功能,在不影响搜索效率的情况下当然可以加入到query module中去,但是作为内容仓库,我们不得不考虑一个问题?那就是内容仓库中存放的到底是什么东西?文档,文档会有多少,显然很多很多,一个企业的文档是每天都在增加的,那么为了高亮,我们就必须做两个事情:

1, 把从文档中提取出来的text存放到索引中

2, 把该文档的分词之后的term offset存放到索引中

这样带来的后果是索引大小成倍的增加,索引越大,麻烦越多,需要考虑的问题就越多。比如说,我做分布式索引,那拷贝20G的索引和拷贝10G的索引,给人的感觉就是完全不一样的,那拷贝40G和20G就更不一样了。

1 2  下一页

Tags:深入浅出 jackrabbit 十一

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