最近準(zhǔn)備做個(gè)自己的blog,考慮到對(duì)文文章內(nèi)容的搜索,于是決定通過lucene對(duì)文章進(jìn)行全文搜索。以下是我的學(xué)習(xí)筆記。
首先學(xué)習(xí)了
中文java上的為自己的系統(tǒng)搞個(gè)全文搜索、
車東的基于Java的全文索引引擎Lucene簡介和
竹筍炒肉的lucene學(xué)習(xí)筆記對(duì)lucene的原理有個(gè)一個(gè)全局的認(rèn)識(shí)。
下面是對(duì)lucene自帶的兩個(gè)demo的運(yùn)行測(cè)試方法:
一、FileIndex例子很簡單。
1、設(shè)置classpath中包含lucene-1.3-final.jar和lucene-demos-1.3-final.jar包。
2、建立lucene的索引文件。
java org.apache.lucene.demo.IndexFiles filePath
---------------------------------------------------------------------
注:1、lucene將該filePath目錄下的所有文件作為數(shù)據(jù)源來建立索引文件
2、demo中是在當(dāng)前目錄下建一個(gè)index目錄來存放索引文件
3、查詢
java org.apache.lucene.demo.SearchFiles
Query:搜索的關(guān)鍵字
二、HTMLIndex例子
1、設(shè)置classpath中包含lucene-1.3-final.jar和lucene-demos-1.3-final.jar包。
2、部署luceneweb應(yīng)用到j(luò)sp容器中。
3、建立lucene的索引文件。
格式為:IndexHTML [-create] [-index <index>] <root_directory>
參數(shù)含義:[-create] 表示重新建立索引文件(第一次,該參數(shù)必須)
[-index <index>] 索引文件存放位置(任意)
<root_directory> 用于創(chuàng)建索引文件的源文件位置(相對(duì)路徑)
注:1、只對(duì).html .htm .txt文件作為數(shù)據(jù)源進(jìn)行索引文件的創(chuàng)建
2、因?yàn)樵摾邮莣eb應(yīng)用,所以設(shè)置<root_directory>路徑時(shí)應(yīng)注意,CMD下的相對(duì)路徑和web應(yīng)用下search.jsp的相對(duì)路徑要相同。就必須在cmd下進(jìn)入該search.jsp所在目錄執(zhí)行IndexHTML.
cd luceneweb
java org.apache.lucene.demo.IndexHTML -create -index d:/lucenedb ../examples
4、修改configuration.jsp文件中索引文件存放目錄String indexLocation = "d:/lucenedb";
5、如果搜索關(guān)鍵字為中文,還需修改results.jsp中獲取表單的參數(shù)語句。進(jìn)行編碼轉(zhuǎn)換。
將queryString =request.getParameter("query");
替換為
queryString = new String(request.getParameter("query").getBytes("iso8859-1"));
6、http://localhost:8080/luceneweb/執(zhí)行搜索