论坛首页 入门技术论坛

lucene 搜索速度问题

浏览 16596 次
该帖已经被评为新手帖
作者 正文
   发表时间:2012-03-26   最后修改:2012-03-26
aixinnature 写道
yrclsgo 写道
zhchch518 写道
Long sDate = System.currentTimeMillis();
TopDocs topDoc =  sercher.search(query,5);
Long sDate2 = System.currentTimeMillis(); 
改成这样看看需要多少时间

改成上面后消耗时间:2x毫秒,难道搜索时间说到是这个?


是的,你的时间都用去打印了

与输出关系不大,好像是下面这句在消耗时间:
Query query = parser.parse("活动"); 
0 请登录后投票
   发表时间:2012-03-26  
yrclsgo 写道
aixinnature 写道
yrclsgo 写道
zhchch518 写道
Long sDate = System.currentTimeMillis();
TopDocs topDoc =  sercher.search(query,5);
Long sDate2 = System.currentTimeMillis(); 
改成这样看看需要多少时间

改成上面后消耗时间:2x毫秒,难道搜索时间说到是这个?


是的,你的时间都用去打印了

与输出关系不大,好像是下面这句在消耗时间:
Query query = parser.parse("活动"); 

分词也需要时间的
0 请登录后投票
   发表时间:2012-03-26  
TopDocs topDoc =  sercher.search(query,5); 

只有这一行执行的搜索

50个索引文件,22M就提搜索速度了,这个数据量是比较不出啥结果的,出的结果也没有啥参考价值,将你的数据量再X1000,估计还有一点价值
0 请登录后投票
   发表时间:2012-03-26  
hu437 写道
TopDocs topDoc =  sercher.search(query,5); 

只有这一行执行的搜索

50个索引文件,22M就提搜索速度了,这个数据量是比较不出啥结果的,出的结果也没有啥参考价值,将你的数据量再X1000,估计还有一点价值

我现在索引文件到达400M了,搜索正文里的一段话一般都要上百毫秒了
还在不断加大索引量测试ing
0 请登录后投票
   发表时间:2012-03-26  
IndexReader reader = IndexReader.open(FSDirectory.open(new File(TestIndexer.indexPath)));
这个方法放在SETUP方法里比较合理, 不需要每次请求都创建一个IndexReader, 这样很消耗性能
0 请登录后投票
   发表时间:2012-03-26  
eimhee 写道
IndexReader reader = IndexReader.open(FSDirectory.open(new File(TestIndexer.indexPath)));
这个方法放在SETUP方法里比较合理, 不需要每次请求都创建一个IndexReader, 这样很消耗性能

谢谢您,reader 是不是可以考虑弄能单利的?
0 请登录后投票
   发表时间:2012-03-26  
你现在是搜索,Query query = parser.parse("活动");,这句话仅仅是对搜索关键词进行分词,又不是建索引时候的分词,这个时间很短的,基本可以忽略
0 请登录后投票
   发表时间:2012-03-26  
tsxm 写道
你现在是搜索,Query query = parser.parse("活动");,这句话仅仅是对搜索关键词进行分词,又不是建索引时候的分词,这个时间很短的,基本可以忽略

但是经过我反复的测试,确实是这句话在影响速度(最起码在我这个环境下是这样的)
0 请登录后投票
   发表时间:2012-03-26  
孩子不是luene速度的问题,
因为你使用了分词要用到词典,一个词典几M吧,当第一次加载之后第二次搜索很快的!
0 请登录后投票
   发表时间:2012-03-27  
yrclsgo 写道
eimhee 写道
IndexReader reader = IndexReader.open(FSDirectory.open(new File(TestIndexer.indexPath)));
这个方法放在SETUP方法里比较合理, 不需要每次请求都创建一个IndexReader, 这样很消耗性能

谢谢您,reader 是不是可以考虑弄能单利的?

人家是在测试,就不要挑这么多了
看看这篇文章吧:
http://wiki.apache.org/lucene-java/ImproveSearchingSpeed
姐妹篇:http://wiki.apache.org/lucene-java/ImproveIndexingSpeed
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics