歡迎光臨我的個人**,csdn更多以工具文章為主,個人**裡會有更多關於程式設計思維等多方面的文章
我開發本段**用到的jar包:
(後面三個為相比之前文章中新引入的)
setfields = new hashset();
fields.add("carid");
fields.add("carname");
org.apache.lucene.document.document document = searcher.doc(scoredoc.doc, fields);
carvo resultvo = new carvo();
resultvo.setcarid(document.getvalues("carid")[0]);
resultvo.setcarname(document.getvalues("carname")[0]);
return resultvo;
在這裡,如果說我們通過carname搜尋到了某個car,那麼我們希望能夠高亮顯示這個carname中匹配的值,那麼就對這個resultvo中setcarname時進行高亮處理,方法如下:
這樣呼叫:
resultvo.setcarname(
highlightformat(document.getvalues("carname")[0],"carname",query,scoredoc,document)
);
實現方法:
private string highlightformat(string value, string field,
query query, scoredoc scoredoc, document document) throws exception
searcher就是indexsearcher,anlyzer是分詞器,這個我一般都作為靜態變數長時間持有
其餘的這一「大堆」東西我並不打算做太多說明,一則是這裡和原來的版本變化不大,二是基本按照這些點已經足夠滿足基本的開發應用需求了,唯一需要大家關注的,也需要大家自己處理得,就是
******htmlformatter hlightformater = new ******htmlformatter("", "");
非常好理解,大家肯定一眼就懂,這就是設定高亮顯示的前後html標籤了
當然這裡提醒一句,如果是你的carname這種屬性是可以讓使用者自定義輸入的,請一定要注意對注入攻擊的攔截!
Lucene4 7 索引和檢索的常用API 二
前面幾篇筆者已經把lucene的最基本的入門,介紹完了,本篇就對lucene基本的知識做乙個總結,以便於加深對lucene基本api元件的理解。為了方便對比學習,下面給出 資料 索引期間使用的api元件 檢索期間使用的api元件 indexwriter indexreader indexwriter...
python系列教程47
宣告 在人工智慧技術教學期間,不少學生向我提一些python相關的問題,所以為了讓同學們掌握更多擴充套件知識更好的理解人工智慧技術,我讓助理負責分享這套python系列教程,希望能幫到大家!由於這套python教程不是由我所寫,所以不如我的人工智慧技術教學風趣幽默,學起來比較枯燥 但它的知識點還是講...
lucene使用教程2 索引技術
我們需要對文件進行預處理,建立一種便於檢索的資料結構,以此來提高資訊檢索的速度,這種資料結構就是索引。目前廣泛使用的一種索引方式是倒排序索引。倒排序索引的原理就如同查字典。要先查目錄,得到資料對應的頁碼,在直接翻到指定的頁碼。不是在文章中找詞,而是從目錄中找詞所在的文章。這需要在索引庫中生成乙個詞彙...