[lucene] 如何检索全部结果
TonyLian
2010-01-21
TopDocs topDocs = isearcher.search(query, count);
如果全部结果有200件(事先是不知道的),这里如果给count一个很大的数, 如:999999 或 Integer.MAX_VALUE -1 检索时间会变的非常慢(同样是检索出200件,count=200用时10毫秒左右;count=999999用时600多毫秒) 那么要想检索全部结果,该如何写呢? |
|
luckaway
2010-01-21
org.apache.lucene.search.Searcher.maxDoc()
|
|
TonyLian
2010-01-21
luckaway 写道 org.apache.lucene.search.Searcher.maxDoc()
这个比 Integer.MAX_VALUE 小了, 但是还是大呀,如果Document有100万,而符合条件的结果只有1000,那也很影响速度呀。 |
|
luckaway
2010-01-21
呵呵,是我考虑的太简单了! 这个性能有区别的吗?我不太清楚,要不你就分两次去差,第一次取一条,第二次把一次取的count数再去搜索!!!
|
|
TonyLian
2010-01-21
luckaway 写道 呵呵,是我考虑的太简单了! 这个性能有区别的吗?我不太清楚,要不你就分两次去差,第一次取一条,第二次把一次取的count数再去搜索!!!
或许是个不错的注意。 |