lucene 基於索引的查詢

2021-07-25 04:19:29 字數 1517 閱讀 1223

根據title模糊查詢:

//索引檔案儲存的路徑

string indexpackurl = infoservice.class.getresource("/").getpath().replacefirst("/", "")

.replaceall("web-inf/classes/", "")

+ "static/indexpack";

//讀取索引檔案

indexreader indexreader = indexreader.open(new ******fsdirectory(new file(indexpackurl)));

indexsearcher indexsearch = new indexsearcher(indexreader);   

// 搜尋頁面傳入的引數

string title = request.getparameter("title");

string content = request.getparameter("content");

listfieldslist = new arraylist();

fieldslist.add("title");

// 單個關鍵字查詢器匹配

// query query=new termquery(new term("title",title));

// 模糊查查找器

// fuzzyquery query2=new fuzzyquery(new

// term("title","*"+title+"*"),0.1f);

// wildcardquery query3 = new wildcardquery(new term("title", title));

//多個查詢組合用到的  可以and 多個query

booleanquery booleanqueryhighlighter = new booleanquery();

string fields = (string) fieldslist.toarray(new string[fieldslist.size()]);

//前面講了多種查詢器 這種方式為統一的  不用自己判斷使用哪種查詢器 解決了我的中文搜尋不到的問題

queryparser parser = new multifieldqueryparser(version.lucene_30, fields,

new standardanalyzer(version.lucene_30));

query query4 = parser.parse(title);

// 一定包含occur.must

booleanqueryhighlighter.add(query4, occur.must);

lucene索引的新增與查詢

public class indexfiles 使用方法 indexfiles 索引輸出目錄 索引的檔案列表 public static void main string args throws exception string indexpath args 0 indexwriter writer...

lucene 4 查詢索引

第一步 建立乙個directory物件,也就是索引庫存放的位置。第二步 建立乙個indexreader物件,需要指定directory物件。第三步 建立乙個indexsearcher物件,需要指定indexreader物件 第五步 執行查詢。第六步 返回查詢結果。遍歷查詢結果並輸出。第七步 關閉in...

基於JAVA的全文索引引擎Lucene簡介 中

安裝和使用 lucene的組成結構 對於外部應用來說索引模組 index 和檢索模組 search 是主要的外部應用入口 org.apache.lucene.search 搜尋入口 org.apache.lucene.index 索引入口 org.apache.lucene.analysis 語言分...