如何建立Lucene索引

2021-07-09 17:02:01 字數 1589 閱讀 7085

需要用到的ipa:

indexwriter:這個是索引建立的中心元件,通過他就可以建立索引,它是生成索引的過程(與讀取和搜尋索引沒有關係)。初始化化它時,需要傳遞的兩個引數。第乙個是引數是指定索引建立的位置,第二是引數是配置分詞器。

document:這個文字相當於資料庫中的一條記錄,它裡面需要新增field,document裡面有多個filed,根據你需求而定。

field:我把它理解為索引建立的列,它裡面封裝了列裡面的元素。如:通過姓名這個列,可以找到下面詹姆斯,杜蘭特,科比。。具體的值。它也可以理解為乙個map集合。

總結為:

1.indexwriter writer = new indexwriter(index_dir, new standardanalyzer(), true);

2.document doc = new document();

3.doc.add(new field(***));

4.writer.adddocument(doc);

5.writer.commit();//合併索引

6.writer.close();

下面是稍微加了點肉。

看下面代買。簡寫了一下。有錯望指正。

//給索引指定建立位置以及配置資訊

directory directory=new ******fsdirectory(new file(environment.getexternalstoragedirectory().getabsolutefile()+ "/wy/file/"));

indexwriterconfig config=new indexwriterconfig(version.lucene_36, new cjkanalyzer(version.lucene_36));

if(iscreateindex)else

indexwriter indexwriter=new indexwriter(directory, config);

//這個是指定資料庫

sqlitedatabase database = sqlitedatabase.opendatabase(indexconfig.databasepath, null,sqlitedatabase.open_readwrite);

//寫sql語句,指定查詢的lie

string sql="select * from tprov where id"

; cursor cursor = db.rawquery(sql, null);

while(cursor.movetonext())

//這個就是建索引,統一新增到文字中

indexwriter.adddocument(document);

}cursor.close();

}db.close();

indexwriter.preparecommit();

indexwriter.commit();

indexwriter.close();

log.e("tag", "索引建立完成");

system.gc();

Lucene 建立索引

public class indexer public static string indexdir d luceneindex public static void main string args system.out.println 被索引的文件個數 writer.numdocs catch ...

Lucene之建立索引

lucene用來建搜尋引擎要解決四個問題 抓取資料 解析資料 建立索引和執行搜尋。首先為每一篇文章新增標題 內容 寫作時間等資訊,從而寫好每一篇文章,然後將每一篇文章新增到書裡面去。這樣問及就寫好了。建立索引的過程如下 建立索引器indexwriter,這相當於一本書的框架。建立文件物件docmen...

Lucene索引的建立

lucene索引的建立 1.搜尋引擎之所以檢索速度快其中乙個因素就是對索引的建立。就好像書籍的目錄,可以讓我們迅速定位到內容。這裡引用一張圖說明搜尋過程。從圖中可以很清晰的看到乙個搜尋系統,三個部分 收集資料整理成索引文件,這個過程多是確定你需要檢索的資訊。比如如果你需要檢索圖書館中的書。那麼你可能...