public class HelloLucene {/*** 建立索引* @param args*/public void index(){IndexWriter writer = null; try {//1.创建Directory,// Directory directory = new RAMDirectory();//索引是建立在内存中的Directory directory = FSDirectory.open(new File("D:/Lucene/index01"));//索引是建立在硬盘上//2.创建IndexWriter,用完之后要关闭,在finally关闭。IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_36,new StandardAnalyzer(Version.LUCENE_36));writer = new IndexWriter(directory,iwc);//3.创建Document对象Document document = null;File files = new File("D:/Lucene/example1");//4.为Document添加Fieldfor(File file: files.listFiles()){document = new Document();//添加内容到索引document.add(new Field("content",new FileReader(file)));//添加文件名到索引document.add(new Field("filename",file.getName(),Field.Store.YES,Field.Index.NOT_ANALYZED));//添加路径到索引document.add(new Field("path",file.getAbsolutePath(),Field.Store.YES,Field.Index.NOT_ANALYZED));//5.通过IndexWriter添加文档到索引 writer.addDocument(document);}} catch (CorruptIndexException e) {e.printStackTrace();} catch (LockObtainFailedException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{try {if(writer != null) writer.close();} catch (CorruptIndexException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}} }
源码下载