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();
- ????}
- }