锁定老帖子 主题:lucene 搜索速度问题
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-27
whiletrue 写道 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 谢谢您 |
|
返回顶楼 | |
发表时间:2012-03-27
官方提示:When measuring performance, disregard the first query.
|
|
返回顶楼 | |
发表时间:2012-03-27
wu_quanyin 写道 官方提示:When measuring performance, disregard the first query.
已经忽略了第一次 |
|
返回顶楼 | |
发表时间:2012-03-27
yrclsgo 写道 wu_quanyin 写道 官方提示:When measuring performance, disregard the first query.
已经忽略了第一次 1. 你要在一个 IndexReader reader下面做。 你上面写的代码我看不出你怎么才能忽略第一次。 2. System.out.println确实很耗时间特别是循环特别多的情况。 3.FSDirectory可以换成 RAMDirectory |
|
返回顶楼 | |
发表时间:2012-03-27
DDT_123456 写道 yrclsgo 写道 wu_quanyin 写道 官方提示:When measuring performance, disregard the first query.
已经忽略了第一次 1. 你要在一个 IndexReader reader下面做。 你上面写的代码我看不出你怎么才能忽略第一次。 2. System.out.println确实很耗时间特别是循环特别多的情况。 3.FSDirectory可以换成 RAMDirectory 另外 请适当调大你的JVM内存 |
|
返回顶楼 | |
发表时间:2012-03-27
你的时间在io
|
|
返回顶楼 | |
发表时间:2012-03-27
DDT_123456 写道 DDT_123456 写道 yrclsgo 写道 wu_quanyin 写道 官方提示:When measuring performance, disregard the first query.
已经忽略了第一次 1. 你要在一个 IndexReader reader下面做。 你上面写的代码我看不出你怎么才能忽略第一次。 2. System.out.println确实很耗时间特别是循环特别多的情况。 3.FSDirectory可以换成 RAMDirectory 另外 请适当调大你的JVM内存 谢谢您的指导 |
|
返回顶楼 | |
发表时间:2012-03-28
yrclsgo 写道 tsxm 写道 你现在是搜索,Query query = parser.parse("活动");,这句话仅仅是对搜索关键词进行分词,又不是建索引时候的分词,这个时间很短的,基本可以忽略
但是经过我反复的测试,确实是这句话在影响速度(最起码在我这个环境下是这样的) 很负责的告诉你,Query query = parser.parse("活动"); 这句影响了你的测试时间,原因是parse方法执行的时候要调用分词器,而IK分词器在第一次执行的时候,需要将27w多的词典加载到内存,你说耗时么?! |
|
返回顶楼 | |
发表时间:2012-03-29
linliangyi2007 写道 yrclsgo 写道 tsxm 写道 你现在是搜索,Query query = parser.parse("活动");,这句话仅仅是对搜索关键词进行分词,又不是建索引时候的分词,这个时间很短的,基本可以忽略
但是经过我反复的测试,确实是这句话在影响速度(最起码在我这个环境下是这样的) 很负责的告诉你,Query query = parser.parse("活动"); 这句影响了你的测试时间,原因是parse方法执行的时候要调用分词器,而IK分词器在第一次执行的时候,需要将27w多的词典加载到内存,你说耗时么?! 谢谢您的指导,这下彻底明白了 |
|
返回顶楼 | |
发表时间:2012-04-24
lucene的搜索1s有点夸张了 才22M 是不是看错了
|
|
返回顶楼 | |