首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

2lucene怎么创建一个索引

2012-07-01 
2lucene如何创建一个索引根据前面的那个例子,写出如下创建索引的例子,搞了老半天能,3.0的和3.1.0的居然也

2lucene如何创建一个索引
根据前面的那个例子,写出如下创建索引的例子,搞了老半天能,
3.0的和3.1.0的居然也那么的不一样。。。
先放着,以后备用

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 blocke.printStackTrace();} catch (LockObtainFailedException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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();}}

热点排行