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创建索引
最新推荐文章于 2021-02-16 06:04:28 发布