[lucene] 关于lucene的单例问题

csy2266670 2011-01-13
  最近刚开始接触lucene,只把把简单的索引的建立、读取、搜索功能实现了,但是随着深入研究,发现自己由于对lucene开发站内搜索引擎经验的不足,有很多实际问题没有考虑到,不知道会在什么样的情况下出现什么样的问题
  在网上看到说,并发访问中,如果每次调用都创建对象,就会造成内存溢出,最好是把lucene搜索的业务逻辑类设为单例的,单例线程安全什么的,这个是怎么实现的呢,我java线程这块的知识也不是很好,所以希望有人给我解答下
  我大学的毕业设计题目就是基于lucene的搜索引擎,所以还有很多问题需要解决
,不知道有没有朋友愿意留下qq,带我一下,讨论下lucene方面的问题,谢谢
wu_quanyin 2011-01-13
并不是那个意思,,因为在创建indexSearcher时,程序是把索引文件全部载入内存,这样一来,你查询一次,他载一次,,会致使内存不足,,所以你需要的是,,对一个索引文件夹下的文件只创建一次indexSarcher,,,至于实时问题,,你可以查找一下其他资料...
csy2266670 2011-01-17
wu_quanyin 写道
并不是那个意思,,因为在创建indexSearcher时,程序是把索引文件全部载入内存,这样一来,你查询一次,他载一次,,会致使内存不足,,所以你需要的是,,对一个索引文件夹下的文件只创建一次indexSarcher,,,至于实时问题,,你可以查找一下其他资料...


谢谢你的解答
我现在利用Singleton模式只创建了一个indexSarcher对象,但是又涉及到另外的问题,indexReader,indexSarcher的关闭问题,如果我一直不关闭肯定无法更新索引,但是在什么时候关闭又是个问题,对于这个问题你是怎么处理的,可以给我说说思路么
luckaway 2011-01-17
csy2266670 写道
wu_quanyin 写道
并不是那个意思,,因为在创建indexSearcher时,程序是把索引文件全部载入内存,这样一来,你查询一次,他载一次,,会致使内存不足,,所以你需要的是,,对一个索引文件夹下的文件只创建一次indexSarcher,,,至于实时问题,,你可以查找一下其他资料...


谢谢你的解答
我现在利用Singleton模式只创建了一个indexSarcher对象,但是又涉及到另外的问题,indexReader,indexSarcher的关闭问题,如果我一直不关闭肯定无法更新索引,但是在什么时候关闭又是个问题,对于这个问题你是怎么处理的,可以给我说说思路么

IndexSearcher缓存啊,隔一段时间创建一次!
renjie120 2011-01-17
恩 不错 关注这个帖子,以前做过简单的lucene,估计和lz的情况差不多的,遇到的一个很严重的问题是即时更新索引的问题,因为经常更新文件,希望有变化之后就马上能够查询出来结果,如何设置索引的更新问题?不可能每分钟建立一次索引吧,那很耗时间.估计会提出增量索引的想法是把,有这样的参数,这样可靠么?或者有没有其他的解决方案,谢谢解答
gbfd2012 2011-01-17
利用框架spring,,对增、删、改、查进行AOP拦截,,对于新发布的信息建立索引,删除的删除相应的索引。。
csy2266670 2011-01-17
网上确实有很多都采用的spring,不过对于刚接触lucene的人可能还没有涉及到,只有不停的在网上找别人做过的项目经验来学习,然后完善自己的代码。
不知道这里有没有朋友做过网络爬虫的,或者说用Nucth的,因为后面要完成毕业设计会用到
苏亮亮 2011-01-28
只有在索引有变化的时候。才需要重新打开indexsearch
Global site tag (gtag.js) - Google Analytics