Lucene.Net 删除索引DeleteDocuments的注意事项

简介: Lucene.Net 在删除索引时,经常会出现代码成功执行,但索引并未正直删除的现象,总结一下,要注意以下因素: 1.在创建Term时,注意Term的key一定要是以"词"为单位,否则删除不成功,例如:添加索引时,如果把"d:\doc\id.

Lucene.Net 在删除索引时,经常会出现代码成功执行,但索引并未正直删除的现象,总结一下,要注意以下因素:

1.在创建Term时,注意Term的key一定要是以"词"为单位,否则删除不成功,例如:添加索引时,如果把"d:\doc\id.txt"当作要索引的字符串索引过了,那么在删除时,如果直接把"d:\doc\id.txt"作为查询的key来创建Term是无效的,应该用Id.txt(但这样会把所有文件名为Id.txt的都删除,所以官方建议最好用一个能唯一标识的关键字来删除,比如产品编号,新闻编号等)

2.要删除的“词”,在创建索引时,一定要是Tokened过的,否则也不成功

3.IndexReader,IndexModifer,IndexWriter都提供了DeleteDocuements方法,但建议用IndexModifer来操作,原因是IndexModifer内部做了很多线程安全处理

4.删除完成后,一定要调用相应的Close方法,否则并未真正从索引中删除



目录
相关文章
|
索引 微服务
【.NET Core微服务实战-统一身份认证】开篇及目录索引
原文:【.NET Core微服务实战-统一身份认证】开篇及目录索引 简介 ​ 学习.NETCORE也有1年多时间了,发现.NETCORE项目实战系列教程很少,都是介绍开源项目或基础教程,对于那些观望的朋友不能形成很好的学习思路,遇到问题怕无法得到解决而不敢再实际项目中尝试,今天我想通过项目系列实战的方式,进一步推广应用.NETCORE,让大家感受它的魅力以及已经无所不能的神奇魔力,我会从实际项目开发的流程中带大家一起来学习和使用.NETCORE,对于项目实战系列写什么内容纠结很久,最后想想直接从基础设施开始着手,一步一步延伸到完整项目,第一篇就从统一身份认证模块开发详细介绍项目开发的过程。
1784 0
|
.NET API 网络架构
用ASP.NET Core 2.1 建立规范的 REST API 系列文章索引
预备知识:  http://www.cnblogs.com/cgzl/p/9010978.html http://www.cnblogs.com/cgzl/p/9019314.html 建立成熟度2级的 API请看这里: https://www.
1470 0