[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
|