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程式能夠動態的處理瀏覽者的請求,如儲存使用者輸入的資訊,根據使用者資...