Exemple #1
0
        private void btnUpdateIndex_Click(object sender, EventArgs e)
        {
            string id = txtFileId.Text.Trim();
            if (string.IsNullOrEmpty(id) == true)
            {
                SetOutput("请输入文件id(整数)");
                return;
            }
            string filename = "think in lucene......";
            if (string.IsNullOrEmpty(id))
            {
                return;
            }
            bool enableCreate = IsEnableCreated();//是否已经创建索引文件
            Term term = new Term("id", id);
            Document doc = new Document();
            doc = new Document();//创建文档,给文档添加字段,并把文档添加到索引书写器里
            doc.Add(new Field("id", id, Field.Store.YES, Field.Index.TOKENIZED));//存储且索引
            doc.Add(new Field("filename", filename, Field.Store.YES, Field.Index.TOKENIZED));
            doc.Add(new Field("contents", filename, Field.Store.YES, Field.Index.TOKENIZED));
            LuceneIO.Directory directory = LuceneIO.FSDirectory.GetDirectory(INDEX_STORE_PATH, enableCreate);
            IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(),IndexWriter.MaxFieldLength.LIMITED);
            writer.UpdateDocument(term, doc);
            writer.Optimize();
            //writer.Commit();
            writer.Close();
            directory.Close();

            SetOutput(string.Format("更新索引.Id:{0},已经优化成功", id));
        }
Exemple #2
0
        ///// <summary>
        ///// 删除索引所保存的文件夹
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        //private void btnDeleteAllIndex_Click(object sender, EventArgs e)
        //{
        //    DeleteFiles(INDEX_STORE_PATH);
        //    SetOutput(string.Format("{0}文件夹保存的索引已经全部删除", INDEX_STORE_PATH));
        //}

        private void btnDeleteIndex_Click(object sender, EventArgs e)
        {
            string id = txtFileId.Text.Trim();
            if (string.IsNullOrEmpty(id) ==true)
            {
                SetOutput("请输入文件id(整数)");
                return;
            }
            LuceneIO.Directory directory = LuceneIO.FSDirectory.GetDirectory(INDEX_STORE_PATH, false);
            IndexModifier modifier = new IndexModifier(directory, new StandardAnalyzer(), false);

            Term term = new Term("id", id);
            modifier.DeleteDocuments(term);//删除  
            modifier.Close();
            directory.Close();
            SetOutput(string.Format("删除文件索引成功,ID为{0}!", id));
        }