Lucene.Net的数据是存储在指定目录中的
所以在使用前需要确定好目录的路径
//path 路径
//为了保证效率,可以在创建后保存在内存中
//如果存在多个路径的话,可以将directory 存入Dictionary中
Directory directory = FSDirectory.Open(path);
//分词器,用于筛选数据以及将数据存入文件时使用
Analyzer analyzer= new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30);
这3个对象是Lucene中最重要的对象,写入和读取都需要这些
//创建IndexWriter
IndexWriter writer = new IndexWriter(directory, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED);
//创建IndexSearcher
IndexSearcher searcher = new IndexSearcher(directory, true);
//创建IndexReader
IndexReader reader = IndexReader.Open(directory, readOnly);
添加数据
IndexWriter writer=new IndexWriter(directory, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED);
var doc = new Document();
//Field关系到了查询,不同的数据类型对应不同的Field类型
doc.Add(new Field("Field", "Value", Field.Store.YES , Field.Index.NOT_ANALYZED));
writer.AddDocument(doc);
//只有提交了后才会保存入硬盘
writer.Commit();