lucene 學習實戰系列 高亮 分頁

2021-08-31 02:26:28 字數 1343 閱讀 1287

對查詢內容分頁,那是必須的。當然最好是能夠對所查詢的關鍵字進行高亮顯示。

對於高亮有直接的api,但是對於分頁。雖然沒有直接的方法,但也有類似於hibernate分頁的方法,但我們可以用

indexsearcher提供的doc方法,直接通過陣列下標來獲取該組物件集合。

此例在myeclipse8.5++tomcat6+jdk1.6+lucene3.0.2+struts2.2.1+freemarker-2.3.16下測試通過

效果圖:

做的很簡單,只是為了展現高亮+分頁的效果

這個分頁效果是我第一篇部落格的仿qq的效果。嘿嘿。推銷一下。

一:高亮部分**

******htmlformatter ******htmlformatter = new ******htmlformatter("","");	//高亮樣式,粗體+red

highlighter highlighter = new highlighter(******htmlformatter,new queryscorer(query)); //對查詢出來的query進行高亮設定

highlighter.settextfragmenter(new ******fragmenter(100)); //關鍵字兩旁字數

tokenstream tokenstream1 = analyzer.tokenstream("newstitle",new stringreader(resultdoc.get("newstitle"))); //tokenstream用來分析文字流

tokenstream tokenstream2 = analyzer.tokenstream("newscontent",new stringreader(resultdoc.get("newscontent")));

string bestfragment1 = highlighter.getbestfragment(tokenstream1, resultdoc.get("newstitle")); //匹配樣式

string bestfragment2 = highlighter.getbestfragment(tokenstream2, resultdoc.get("newscontent"));

二:分頁部分

listnewslist=new arraylist();

for (int i = firstresult; i < firstresult+maxresult ; i++)

大致就是以上這樣子。

分頁採用lucene官方推薦的,每次都對索引進行檢索,雖然效率並不高,但操作相對簡單很多。就跟普通分頁

一樣。

深度學習入門實戰系列筆記(1) 線性回歸實戰

深度學習入門實戰系列筆記 1 線性回歸實戰 目錄梯度下降法簡介 梯度下降演算法的思想 選擇合適的損失函式,開始時隨機選擇乙個引數作為初值,選擇合適的學習率,即步長。在訓練過程中不斷迭代出下乙個能夠使得損失函式下降速度最快的引數。持續計算直到尋找到乙個區域性最小值,而初值的不同可能會造成函式尋找到不同...

演算法學習系列3 實戰演算法題目解析

演算法學習系列3 實戰演算法題目解析 題目 移動零題目練習 題幹 給定乙個陣列nums,編寫乙個函式將所有的0移動到陣列的末尾,同時保證非零元素的相對順序 示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 loop 迴圈查詢0的個數,非零元素前移,0後移 宣告乙個新陣列,i從頭部記錄陣列...

機器學習演算法基礎 實戰系列 決策樹演算法

決策樹是一種基本的分類和回歸模型,也就是說既可以用於分類也可以用於回歸。這裡以分類為例。決策樹的學習演算法包含三個步驟 特徵選擇,決策樹的生成,決策樹的剪枝 特徵選擇在於選取對訓練資料具有較好分類能力的特徵,如果選取的特徵進行分類的結果與隨機分類的結果沒有很大的差別,那麼就不能說這個特徵具有很好的分...