锁定老帖子 主题:如何优化Lucene
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-08-18
1·关闭复合文件格式 调用setUseCompoundFile(false)可以关闭复合文件选项。生成复合文件将消耗更多的时间 2·优化索引其实就是将多个索引文件合并成单个文件的过程,为了减少索引文件的数量级,能在搜索时减少读取索引文件的时间进行的操作。 3·优化索引的最佳时机是在索引过程结束后,当确认在此一段时间不会对索引文件进行更改的时候,在索引过程中优化索引只会是优化操作消耗更过的时间 4·重用Document和Field实例 在Lucene2.3中,新增了一个方法setValue的方法,可以运行你改变字段的值。这样的好处是你可以在整个索引的过程中复用一个Field实例,这将极大的减少GC的负担。 5·设置autoCommit为false 在Lucene2.3中对存储的字段和Term向量的文档进行了大量的优化,以节省索引合并的时间,可以单一的把IndexWriter实例的autoCommit设置为false,但是这样做会带来一个负面的影响:导致searcher在IndexWriter关闭之前不会看到任何索引的更新 6·在你真的需要之前不要随意的优化optimize索引(只有在需要更快的搜索速度的时候) 7·使用一个更快的分析器 8·关闭所有你实际上没有使用的功能 如果你存储了字段,但是在查询时根本没有用到它们,那么别存储它们。同样的Term向量也是如此。如果你索引很多的字段,关闭这些字段不必要的特性将对你索引速度提升很多。 9·加大mergeFactor合并因子,但不是越大就越好 大的合并因子将延迟segment的合并时间,这样做可以提高索引的速度,合并因子是索引很耗时的一个部分,但是这样做:降低了你的搜索速度。所以说两者是很矛盾的。 10·如果要索引很小的文本字段,如果没有特别的需要,建议将这些小文本的字段合并为一个大的Contents字段。然后再索引。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2247 次