Lucene查詢結果Hits的二次封裝

2021-08-22 18:24:05 字數 1038 閱讀 4498

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