lucene之创建索引代码
public?void?createIndex() throws?IOException {
// 第一步采集數(shù)據(jù):(jdbc采集數(shù)據(jù))
BookDao dao?= new?BookDaoImpl();
List<Book> queryBookList?= dao.queryBookList();
// 將數(shù)據(jù)采集放到docment對象中
Document doc?= null;
List<Document> docList?= new?ArrayList<>();
for?(Book book?: queryBookList) {
// 根據(jù)需求創(chuàng)建不同的field ? ? Store是是否存儲
doc?= new?Document();
Field id?= new?TextField("id", book.getId().toString(), Store.YES);
Field name?= new?TextField("name", book.getName(), Store.YES);
Field price?= new?TextField("price", book.getPrice().toString(), Store.YES);
Field pic?= new?TextField("pic", book.getPic(), Store.YES);
Field desc?= new?TextField("description", book.getDescription(), Store.YES);
// 將field域,添加到文檔對象中
doc.add(id);
doc.add(name);
doc.add(price);
doc.add(pic);
doc.add(desc);
docList.add(doc);
}
//創(chuàng)建一個indexWriter對象(通過它反向推理出需要的條件)
//先構(gòu)造一個directory ?指定索引庫的位置,一般使用文件系統(tǒng)的目錄。
FSDirectory directory?= FSDirectory.open(new?File("G:\\index01"));
//創(chuàng)建一個分詞器 對文檔中的Field域進行分詞
Analyzer analyzer?= new?StandardAnalyzer();//標準分詞器
IndexWriterConfig config?= new?IndexWriterConfig(Version.LATEST, analyzer);
IndexWriter writer?= new?IndexWriter(directory,config);
//創(chuàng)建索引
for?(Document document?: docList) {
writer.addDocument(document);
}
//關(guān)閉資源
writer.close();
}
轉(zhuǎn)載于:https://www.cnblogs.com/LHZFlyCode/p/7082009.html
總結(jié)
以上是生活随笔為你收集整理的lucene之创建索引代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web Essentials 2015-
- 下一篇: 数据库复习之规范化理论