您的位置:首页 > 移动开发 > Objective-C

Lucene.NET 实时更新索引

2012-02-17 15:15 330 查看
 

更新(添加)

 protected void btnUpdate_Click(object sender, EventArgs e)

        {

            Boolean EnableCreate = true;

            if (System.IO.File.Exists(index + "\\segments.gen"))

            {

                EnableCreate = false;

            }

            IndexWriter writer = new IndexWriter(FSDirectory.Open(new System.IO.FileInfo(index)), new StandardAnalyzer(Version.LUCENE_CURRENT), EnableCreate);

            //   System.IO.FileInfo file = new System.IO.FileInfo(txtID.Text.Trim().Replace("\\", "\\\\"));

            System.IO.FileInfo file = new System.IO.FileInfo(@"E:\Demo\Document\ksp.txt");

            Term term = new Term("path", txtID.Text.Trim());

            Lucene.Net.Documents.Document document = FileDocument.Document(file);

            writer.UpdateDocument(term, document);

           

            writer.Close();

        }

 

删除

 protected void btnDel_Click(object sender, EventArgs e)

        {

            try

            {

                Directory directory = FSDirectory.Open(new System.IO.FileInfo(index));

                IndexReader reader = IndexReader.Open(directory, false);

                //// 删除所有记录

                for (int i = 0; i < reader.MaxDoc(); i++)

                {

                    reader.DeleteDocument(i);

                }

         

                //if (rdlDel.SelectedValue == "1") //根据ID删除记录

                //{

                //    Int32 i = Convert.ToInt32(txtID.Text);

                //    reader.DeleteDocument(i);

                //    ltrResult.Text = "删除成功";

                //}

                //else if (rdlDel.SelectedValue == "2") // 根据路径删除记录

                //{

                //    Term term = new Term("path", txtID.Text.Trim());

                //    Int32 num = reader.DeleteDocuments(term);

                //    ltrResult.Text = "删除" + num.ToString() + "条记录成功";

                //}

                Response.Write(reader.MaxDoc().ToString());

                reader.Close();

                directory.Close();

            }

            catch (System.Exception ex)

            {

                ltrResult.Text = " caught a " + e.GetType() + "\n with message: " + ex.Message;

            }

        }

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  object file path