ospod.forum使用lucene作為搜尋引擎核心,對於lucene的分頁,ospod對hits進行了二次封裝,取出所需結果集後,關閉hits,極大提高搜尋效率。參考**如下:
/***索引分頁物件
*/private
paginationpage;
/***命中結果資料數
*/private
inthitslength=0
;/**
*當前分頁的命中結果集
*/private
listresults;
/***用於分頁的最大結果數
*/private
inttotal=0
;/**
*構造方法,建立並初始化索引結果集物件
*@param
hits查詢命中結果
*@param
start結果集提取其實位置
*@param
count當前提取數
*@param
totallimit用於分頁的最大結果集數,限制提取的最大結果數有利於提供系統查詢效能
*/public
indexresultset(hit****s,
intstart,
intcount,
inttotallimit)
else
intpagesize
=count;
if(start
+count
>
total)
page.init(start,count,total,pagesize);
intend
=start
+count;
trydata.setvalue(
"score__
",hits.score(i));
data.setvalue(
"docid__
",hits.id(i));
results.add(data);}}
catch
(ioexceptionex)
}
Lucene的檢索優化(二) Hits的改進
剛剛開始學lucene,看的是lucene in action。順著看下去,很自然的就是使用hits來訪問search的結果。但是使用起來,發現search的速度是很快,不過如果結果很多的話 比如1w個 通過hits訪問所有的結果速度非常慢,就是簡單地從每個結果中讀乙個field,在我的機器上用了接...
Lucene中的結果排序
sortfield類 field是排序欄位type是排序型別 public sortfield string field,type type field是排序欄位type是排序型別reverse是指定公升序還是降序 reverse 為true是降序 false為公升序 public sortfiel...
lucene搜尋結果分頁
如題,做lucene搜尋引擎時遇到的問題,不太會web程式設計。只知道jsp支援從頁面調後台,沒用什麼框架。現在給出自己的一些設計思路,不一定高效,不一定主流。我後台有個searchservice,其中有函式,大致是這樣的 public searchresults search string key...