Lucene 4 7 教程起步 高亮顯示

2021-06-22 01:37:00 字數 1313 閱讀 7029

歡迎光臨我的個人**,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 索引技術

我們需要對文件進行預處理,建立一種便於檢索的資料結構,以此來提高資訊檢索的速度,這種資料結構就是索引。目前廣泛使用的一種索引方式是倒排序索引。倒排序索引的原理就如同查字典。要先查目錄,得到資料對應的頁碼,在直接翻到指定的頁碼。不是在文章中找詞,而是從目錄中找詞所在的文章。這需要在索引庫中生成乙個詞彙...