lucene创建索引
lucene创建索引:
- import?java.io.File;import?java.io.IOException;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.CorruptIndexException;import?org.apache.lucene.index.IndexWriter;import?org.apache.lucene.index.IndexWriterConfig;import?org.apache.lucene.index.IndexWriterConfig.OpenMode;import?org.apache.lucene.store.Directory;import?org.apache.lucene.store.FSDirectory;import?org.apache.lucene.store.LockObtainFailedException;import?org.apache.lucene.util.Version;public?class?LuceneTest?{????String?docsPath?=?null;???//文件位置????String?indexPath?=null;???//索引位置????public?static?void?main(String[]?args)?{????????LuceneTest?test?=?new?LuceneTest();????????try?{????????????test.index();????????}?catch?(CorruptIndexException?e)?{????????????//?TODO?Auto-generated?catch?block????????????e.printStackTrace();????????}?catch?(LockObtainFailedException?e)?{????????????//?TODO?Auto-generated?catch?block????????????e.printStackTrace();????????}?catch?(IOException?e)?{????????????//?TODO?Auto-generated?catch?block????????????e.printStackTrace();????????}????}????/**?????*?先创立索引?????*?@throws?IOException?????*?@throws?LockObtainFailedException?????*?@throws?CorruptIndexException?????*/????public?void?index()?throws?CorruptIndexException,?LockObtainFailedException,?IOException????{????????docsPath=”F:\\Search?engine\\搜索引擎\\lucene-3.1.0-src\\lucene-3.1.0\\contrib\\analyzers\\common\\readm.txt”;????????indexPath=”D:\\mywork\\LuceneTest\\lucenedic”;????????if(docsPath==null)????????{????????????System.err.println(“docsPath为空”);????????????System.exit(1);????????}????????File?docDir?=?new?File(docsPath);????????Analyzer?analyzer?=?new?StandardAnalyzer(Version.LUCENE_31);????????Directory?dir?=?FSDirectory.open(new?File(indexPath));????????IndexWriterConfig?iwc?=?new?IndexWriterConfig(Version.LUCENE_31,?analyzer);????????/*IndexWriter?indexWriter1?=?new?IndexWriter(dir,new?IndexWriterConfig(Version.LUCENE_31,????????????????????????????????????new?WhitespaceAnalyzer(Version.LUCENE_31)));*/????????iwc.setOpenMode(OpenMode.CREATE_OR_APPEND);????????IndexWriter?indexWriter?=?new?IndexWriter(dir,iwc);????????Document?doc?=?new?Document();????????Field?pathField?=?new?Field(“path”,docDir.getPath(),Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS);????????pathField.setOmitTermFreqAndPositions(true);????????doc.add(pathField);????????indexWriter.addDocument(doc);????????indexWriter.close();????}}