protected void updateIndex(string path, 内容基本数据 model) { string Indexdic_Server = IndexDic(path); IndexWriter writer = null; Lucene.Net.Store.Directory dir = new Lucene.Net.Store.SimpleFSDirectory(new DirectoryInfo(Indexdic_Server)); try { //writer = new IndexWriter(Indexdic_Server, PanGuAnalyzer, false, Lucene.Net.Index.IndexWriter.MaxFieldLength.LIMITED); writer = new IndexWriter(dir, PanGuAnalyzer, false, IndexWriter.MaxFieldLength.LIMITED); } catch { //writer = new IndexWriter(Indexdic_Server, PanGuAnalyzer, true, Lucene.Net.Index.IndexWriter.MaxFieldLength.LIMITED); writer = new IndexWriter(dir, PanGuAnalyzer, true, IndexWriter.MaxFieldLength.LIMITED); } writer.DeleteDocuments(new Term("NumId", model.Id.ToString()));//删除一条索引 writer.Optimize(); writer.Close(); CreateIndex(model, path); }
/// <summary> /// 创建索引 /// </summary> private void CreateIndex(内容基本数据 model, string indexdic) { string Indexdic_Server = IndexDic(indexdic); PanGu.Segment.Init(PanGuXmlPath); //var g = model as Go81WebApp.Models.数据模型.内容数据模型.公告; //创建索引目录 if (!Directory.Exists(Indexdic_Server)) { Directory.CreateDirectory(Indexdic_Server); } Lucene.Net.Store.Directory dir = new Lucene.Net.Store.SimpleFSDirectory(new DirectoryInfo(Indexdic_Server)); //IndexWriter第三个参数:true指重新创建索引,false指从当前索引追加....此处为追加索引所以为false try { IndexWriter writer = new IndexWriter(dir, PanGuAnalyzer, false, IndexWriter.MaxFieldLength.UNLIMITED); //IndexWriter writer = new IndexWriter(Indexdic_Server, PanGuAnalyzer, false, Lucene.Net.Index.IndexWriter.MaxFieldLength.LIMITED); AddIndex(writer, model.Id.ToString(), model.内容主体.标题, model.内容主体.内容, model.内容主体.发布时间.ToString()); writer.Optimize(); writer.Close(); } catch { IndexWriter writer = new IndexWriter(dir, PanGuAnalyzer, true, IndexWriter.MaxFieldLength.UNLIMITED); //IndexWriter writer = new IndexWriter(Indexdic_Server, PanGuAnalyzer, true, Lucene.Net.Index.IndexWriter.MaxFieldLength.LIMITED); AddIndex(writer, model.Id.ToString(), model.内容主体.标题, model.内容主体.内容, model.内容主体.发布时间.ToString()); writer.Optimize(); writer.Close(); } }