lucene之創建索引代碼
public void createIndex() throws IOException {
// 第一步采集數據:(jdbc采集數據)
BookDao dao = new BookDaoImpl();
List<Book> queryBookList = dao.queryBookList();
// 將數據采集放到docment對象中
Document doc = null;
List<Document> docList = new ArrayList<>();
for (Book book : queryBookList) {
// 根據需求創建不同的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
// 將field域,添加到文檔對象中
doc.add(id);
doc.add(name);
doc.add(price);
doc.add(pic);
doc.add(desc);
docList.add(doc);
}
//創建一個indexWriter對象(通過它反向推理出需要的條件)
//先構造一個directory 指定索引庫的位置,一般使用文件系統的目錄。
FSDirectory directory = FSDirectory.open(new File("G:\\index01"));
//創建一個分詞器 對文檔中的Field域進行分詞
Analyzer analyzer = new StandardAnalyzer();//標準分詞器
IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, analyzer);
IndexWriter writer = new IndexWriter(directory,config);
//創建索引
for (Document document : docList) {
writer.addDocument(document);
}
//關閉資源
writer.close();
}
lucene之創建索引代碼