package lucene;
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.util.Date;
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.index.IndexWriter;
public class TxtFileIndexer {
public static void main(String[] args) throws Exception
{
//索引目錄
File indexDir = new File("D:\\TOM\\LuceneIndex");
//分詞器
Analyzer luceneAnalyzer = new StandardAnalyzer();
//創建索引類
IndexWriter indexWriter = new IndexWriter( indexDir, luceneAnalyzer, true);
//數據源目錄
File dataDir = new File("D:\\TOM\\LuceneData");
//遍歷數據源目錄,查找每個文本文件
File[] dataFiles = dataDir.listFiles();
//計時!
long startTime = new Date().getTime();
//對數據源目錄中的每個文件遍歷
for(int i = 0; i < dataFiles.length; i++)
{
if(dataFiles[i].isFile() && dataFiles[i].getName().endsWith(".txt"))
{
System.out.println("Indexing file " + dataFiles[i].getCanonicalPath());
Document document = new Document();
Reader txtReader = new FileReader(dataFiles[i]);
document.add(Field.TEXT("path",dataFiles[i].getCanonicalPath()));
document.add(Field.TEXT("contents",txtReader));
indexWriter.addDocument(document);
}
}
//關閉索引
indexWriter.optimize();
indexWriter.close();
//計時!
long endTime = new Date().getTime();
System.out.println("It takes " + (endTime - startTime)
+ " milliseconds to create index for the files in directory "
+ dataDir.getPath());
}
}
Java_ABC_3.Lucene創建索引
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.