Lucene 如何編寫Lucene程式

2022-08-26 10:39:12 字數 1109 閱讀 1772

lucene版本:7.1

使用lucene的關鍵點

建立文件(document),新增檔案(field),儲存了原始資料資訊;

把文件加入indexwriter;

使用queryparser.parse()構建查詢內容;

使用indexsearcher的search()方法,進行查詢;

一、建立索引基本流程

//open a directory

//fsdirectory指的是存放的資料夾,還可以使用快取ramdirectory

//indexpath:檔案路徑

directory dir = fsdirectory.open(paths.get(indexpath));

//instantiate analyzer,處理文字檔案

//standardanalyzer使用了unicode文字分割演算法,把符號轉成小寫,過濾出常用語

//不同語言需要使用不同的analyzer,詳見:

lucene索引過程:原始文件轉換成文字—>分析文字,處理成大量詞彙單元—>分析完的結果儲存到索引檔案(乙個或多個倒排索引的段)

二、搜尋基本流程

indexreader reader = directoryreader.open(fsdirectory.open(paths.get(index)));

indexsearcher searcher = new indexsearcher(reader);

analyzer analyzer = new standardanalyzer();

//索引字段

queryparser parser = new queryparser("contents", analyzer);

//查詢結果

query query = parser.parse("123456");

topdocs results = searcher.search(query, 5 * hitsperpage);

scoredoc hits = results.scoredocs;

如何建立Lucene索引

需要用到的ipa indexwriter 這個是索引建立的中心元件,通過他就可以建立索引,它是生成索引的過程 與讀取和搜尋索引沒有關係 初始化化它時,需要傳遞的兩個引數。第乙個是引數是指定索引建立的位置,第二是引數是配置分詞器。document 這個文字相當於資料庫中的一條記錄,它裡面需要新增fie...

Lucene 如何通過GeoHash 查詢距離

之前用lucene做過位置距離查詢的專案,其中lucene搜尋定位距離的原理就是geohash,關於geohash的介紹看這裡geohash 介紹,這篇文章要說的是如何根據geohash查詢距離。以下面以這幅圖來看,將經度為0作為x軸的原點,緯度為0作為y軸的原點,圖中為了問題簡單化,僅化了3層,實...

如何編寫CGI程式

cgi的工作原理介紹 cgi mon gateway inte ce 是乙個web伺服器提供資訊服務的標準介面,通過這樣乙個介面,web伺服器能夠執行程式,並將程式輸出的資訊返回給瀏覽器。因為在web網上的資料都是靜態的,通過cgi程式能夠動態的處理瀏覽者的請求,如儲存使用者輸入的資訊,根據使用者資...