Ejemplo n.º 1
0
        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);

        }
Ejemplo n.º 2
0
        /// <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();
            }
        }