Lucene创建索引
2021-07-01 12:04
标签:lucene创建索引 本文出自 “素颜” 博客,请务必保留此出处http://suyanzhu.blog.51cto.com/8050189/1945345 Lucene创建索引 标签:lucene创建索引 原文地址:http://suyanzhu.blog.51cto.com/8050189/19453451.创建Java项目(lucene)
2.创建CreateIndex类,包名(com.zhishang.lucenc)
package com.zhishang.lucene;
import org.apache.commons.io.FileUtils;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.*;
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;
import java.io.File;
import java.io.IOException;
/**
* Created by Administrator on 2017/7/7.
*/
public class CreateIndex {
public static final String indexDir = "G:/index";
public static final String dataDir = "G:/data";
@Test
public void createIndex(){
try {
Directory dir = FSDirectory.open(new File(indexDir));
//分词器
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_4_9);
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_4_9,analyzer);
config.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
IndexWriter writer = new IndexWriter(dir,config);
File file = new File(dataDir);
File[] files = file.listFiles();
for(File f:files){
Document doc = new Document();
doc.add(new StringField("filename",f.getName(), Field.Store.YES));
doc.add(new TextField("content", FileUtils.readFileToString(f),Field.Store.YES));
doc.add(new LongField("lastmodify",f.lastModified(), Field.Store.YES));
writer.addDocument(doc);
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
3.运行CreateIndex函数,查看G:/index下生成的文件