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添加Field for(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(); } } } }
转载于:https://www.cnblogs.com/andgoo/archive/2012/06/08/2541693.html