一、創建索引之代碼開發
阿新 • • 發佈:2018-11-24
第一步 其它 lis span ava public pub apach pen
jar包:
Lucene包:
lucene-core-4.10.3.jar
lucene-analyzers-common-4.10.3.jar
lucene-queryparser-4.10.3.jar
其它:
commons-io-2.4.jar
junit-4.9.jar
package com.itheima.lucene; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.document.Field.Store; import org.apache.lucene.document.LongField; import org.apache.lucene.document.StoredField; import org.apache.lucene.document.TextField; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.util.Version; import org.junit.Test; /** * Lucene入門 * 創建索引 * 查詢索引 * @author mjl * */ public class FirstLucene { /** * @throws IOException * */ @Test public void testIndex() throws IOException{ // 第一步:創建一個java工程,並導入jar包。 // 第二步:創建一個indexwriter對象。open(new File("D:\\temp\\index")); // 1)指定索引庫的存放位置Directory對象 // 2)指定一個分析器,對文檔內容進行分析 Directory directory = FSDirectory.open(new File("D:\\lucenesolr\\temp")); Analyzer analyzer = new StandardAnalyzer(); IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, analyzer); IndexWriter indexWriter = new IndexWriter(directory,config); // 第三步:創建document對象。 Document document = new Document(); // 第四步:創建field對象,將field添加到document對象中。 File f = new File("D:\\lucenesolr\\searchsource"); File[] listFiles = f.listFiles(); for (File file : listFiles) { //文件名稱 String file_name = file.getName(); Field fileNameField = new TextField("fileName", file_name, Store.YES); //文件大小 long file_size = FileUtils.sizeOf(file); Field fileSizeField = new LongField("fileSize", file_size, Store.YES); //文件路徑 String file_path = file.getPath(); Field filePathField = new StoredField("filePath", file_path); //文件內容 String file_content = FileUtils.readFileToString(file); Field fileContentField = new TextField("fileContent", file_content, Store.YES); document.add(fileNameField); document.add(fileSizeField); document.add(filePathField); document.add(fileContentField); // 第五步:使用indexwriter對象將document對象寫入索引庫,此過程進行索引創建。並將索引和document對象寫入索引庫。 indexWriter.addDocument(document); } // 第六步:關閉IndexWriter對象。 indexWriter.close(); } }
一、創建索引之代碼開發