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)); }
///// <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)); }