1. 程式人生 > >lucene之創建索引代碼

lucene之創建索引代碼

dao 根據 arr conf document 通過 數據 getname pan

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

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);

}

//創建一個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之創建索引代碼