Lucene的入門例子

2021-07-30 02:29:48 字數 3520 閱讀 8683

1.lucene的基本步驟(配**與jar包版本)

2.示例的**

3.完成示例後再該延伸到哪些知識

jar包版本:

一  ,  從資料庫中查資料 ====爬資料  -------------1

public arraylistgetdate(string sql) throws sqlexception  // 把資料庫裡的資料取出來

return item;

}

二 , // 建立索引存放的位置 ------本方法是建立 在c盤--------------------2

public void createfileindex(string dir) 

// 建立標準文字分析器, 標準的是可以支援的中文的

analyzer luceneanalyzer = new standardanalyzer();

indexwriter = new indexwriter(indexdir, luceneanalyzer, true);

// 可以說是建立乙個新的寫入工具

// 第乙個引數是要索引建立在哪個目錄裡

// 第二個引數是新建乙個文字分析器,這裡用的是標準的大家也可以自己寫乙個

// 第三個引數如果是true,在建立索引之前先將c: \\index目錄清空

indexwriter.setmaxfieldlength(100000);

indexwriter.optimize();

} catch (ioexception e)

}

三 , // 新增資料到索引裡去-----------------3

public string createindex(string title, string url, string content)  catch (ioexception e) 

return "建立索引成功!!!!!!!";

}

四 , // 關閉索引******************************==== 4

public void close() throws ioexception
五  , // 查詢索引的方法 ******************************=5

public arraylistgetquerydate(string info)

throws corruptindexexception, ioexception,

org.apache.lucene.queryparser.parseexception

// }

indexsearcher searcher = new indexsearcher("c:\\hujiong");

analyzer analyzer = new standardanalyzer();

query query = null;

if (searcher != null) ;

query = multifieldqueryparser.parse(querystring, new string , clauses, analyzer); // 這裡就是在兩個範圍內進行收索 , 不過這些索引的字段必須要在新增資料到索引的時候設定它

topdoccollector collector = new topdoccollector(5); // 設定返回的最大數目,就返回前100條

searcher.search(query, collector);

scoredoc hits1 = collector.topdocs().scoredocs;

// 返回的結果他是乙個陣列

if (hits1.length > 0)

} else

} return doc;

}

package phz;

import org.apache.lucene.analysis.standard.standardanalyzer;

import org.apache.lucene.document.document;

import org.apache.lucene.document.field;

import org.apache.lucene.index.indexwriter;

import org.apache.lucene.queryparser.multifieldqueryparser;

import org.apache.lucene.search.booleanclause;

import org.apache.lucene.search.hits;

import org.apache.lucene.search.indexsearcher;

import org.apache.lucene.search.multisearcher;

import org.apache.lucene.search.query;

/*** 這個例項包含了lucene所有核心用法

* * @author panhuizi

* */

public class lucenetest catch (exception e)

system.out.println("ok");

}public void index() throws exception

public void search(string serchstring) throws exception ;

/* 我們需要搜尋兩個域"articletitle", "articletext"裡面的內容 */

string fields = ;

/* 下面這個表示要同時搜尋這兩個域,而且只要乙個域裡面有滿足我們搜尋的內容就行 */

booleanclause.occur clauses = ;

/** multifieldqueryparser表示多個域解析,

* 同時可以解析含空格的字串,如果我們搜尋"中國 金牌",根據前面的索引,顯然搜到的是第二份檔案

*/query query = multifieldqueryparser.parse(serchstring, fields, clauses,

new standardanalyzer());

/* multisearcher表示多目錄搜尋,在這裡我們只有乙個目錄 */

multisearcher searcher = new multisearcher(indexsearchers);

/* 開始搜尋 */

hits h = searcher.search(query);

/* 把搜尋出來的所有檔案列印出來 */

for (int i = 0; i < h.length(); i++)

/* 關閉 */

searcher.close();}}

索引的更新:如果資源內容變了該如何更新索引

原文內容:

lucene的一簡單例子

1.引入lucene包,用到了junit,包搞進來就可以了 2.先跑建立索引檔案的單元測試,有了索引才能查詢嘛,然後在跑下面的檢索資料方法 3.目錄根據自己需要更改哦 private final string indexpath e lucene private final string searc...

lucene常用搜尋例子

public class test 按詞條搜尋 public void termsearcher throws ioexception 短語搜尋 public void phrasesearcher throws ioexception 萬用字元搜尋 wildcardquery 萬用字元包括 匹配乙...

lucene的實戰入門

最近在寫個人部落格專案.有個需求.就是要求在前端頁面上有乙個搜尋框,使用者可以根據這個搜尋框對所有部落格進行全文檢索,包括標題和正文,然後根據搜尋匹配度進行排序展示出來,並且要有高亮顯示,類似如下效果 全文檢索的這個功能可以採用lucene這個框架實現.lucene的具體原理到底是什麼呢?其實就是根...