论坛首页 Java版

Lucene建索引的时间和索引优化问题

浏览 4625 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-06-28 关键字: lucene index
我的lucene程序从数据库取数据建索引可以运行,但是速度较慢,于是我做了一些优化设置,IndexWriter的相关参数设置为:setMergeFactor(50)、setMaxBufferedDocs(100),速度是有提高,但是建到1400条左右的时候,出现Exception in thread "main" java.lang.OutOfMemoryError: Java heap space异常!

我单独调试setMergeFactor(100),去掉setMaxBufferedDocs属性就没有问题!

调试了很多次,一设置setMaxBufferedDocs就会出现那个异常,eclipse的内存最大设到了1024,应该不是这个问题吧。

我最终的希望是建索引速度能快一些,不知道大家有没有好的建议,谢谢!
   
时间:2007-06-28
恩,你已经开始组织社会活动了,非常支持!

土豆网 grantbb 负责土豆网搜索功能开发 目前总数据量超过千万
   
0 请登录后投票
时间:2007-06-28
你的问题应该不在于Lucene参数的调整,可能是因为你的数据太大了吧。
   
0 请登录后投票
时间:2007-06-28
grantbb 写道
恩,你已经开始组织社会活动了,非常支持!

土豆网 grantbb 负责土豆网搜索功能开发 目前总数据量超过千万

土豆网也是用lucene?
   
0 请登录后投票
时间:2007-06-28
grantbb 写道
恩,你已经开始组织社会活动了,非常支持!

土豆网 grantbb 负责土豆网搜索功能开发 目前总数据量超过千万



这个好像对我说的,,是跟我帖子的,,怎么跑到这里来了?


那次我去土豆,碰到两个人,,你是第一位把?




我说过的话一定会去做的
   
0 请登录后投票
时间:2007-06-28
marine_chen 写道
我的lucene程序从数据库取数据建索引可以运行,但是速度较慢,于是我做了一些优化设置,IndexWriter的相关参数设置为:setMergeFactor50)、setMaxBufferedDocs(100),速度是有提高,但是建到1400条左右的时候,出现Exception in thread "main" java.lang.OutOfMemoryError: Java heap space异常!

我单独调试setMergeFactor(100),去掉setMaxBufferedDocs属性就没有问题!

调试了很多次,一设置setMaxBufferedDocs就会出现那个异常,eclipse的内存最大设到了1024,应该不是这个问题吧。

我最终的希望是建索引速度能快一些,不知道大家有没有好的建议,谢谢!



你知道setMergeFactor, setMaxBufferedDocs什么意思吗?

他们的数值变化会有什么影响?
   
0 请登录后投票
时间:2007-06-29
grantbb 写道
恩,你已经开始组织社会活动了,非常支持!

土豆网 grantbb 负责土豆网搜索功能开发 目前总数据量超过千万



怎么能和他联系?
   
0 请登录后投票
时间:2007-06-29
grantbb 写道
你的问题应该不在于Lucene参数的调整,可能是因为你的数据太大了吧。


这个也有可能,但是多大的数据能算上数据大?
   
0 请登录后投票
时间:2007-06-29
fustic 写道
grantbb 写道
恩,你已经开始组织社会活动了,非常支持!

土豆网 grantbb 负责土豆网搜索功能开发 目前总数据量超过千万

土豆网也是用lucene?



是lucene,上回有个猎头给我打电话说土豆的lucene还招人,不过在上海。
   
0 请登录后投票
时间:2007-06-29
imjl 写道
marine_chen 写道
我的lucene程序从数据库取数据建索引可以运行,但是速度较慢,于是我做了一些优化设置,IndexWriter的相关参数设置为:setMergeFactor50)、setMaxBufferedDocs(100),速度是有提高,但是建到1400条左右的时候,出现Exception in thread "main" java.lang.OutOfMemoryError: Java heap space异常!

我单独调试setMergeFactor(100),去掉setMaxBufferedDocs属性就没有问题!

调试了很多次,一设置setMaxBufferedDocs就会出现那个异常,eclipse的内存最大设到了1024,应该不是这个问题吧。

我最终的希望是建索引速度能快一些,不知道大家有没有好的建议,谢谢!



你知道setMergeFactor, setMaxBufferedDocs什么意思吗?

他们的数值变化会有什么影响?



这个知道一些,mergeFactor是合并因子,每新增其设定数量的个doc,就会有一个新的segment生成。
setMaxBufferedDocs从字面上就能理解了,1.4的时候好像还叫minMergeDocs,这个值我改了,弄小的话速度慢,弄大的话报异常!

无奈!
   
0 请登录后投票
论坛首页 Java版

跳转论坛:
JavaEye推荐