Lucene删除索引DeleteDocuments的注意事项
来源:互联网 发布:html单页源码 编辑:程序博客网 时间:2024/04/30 05:05
Lucene在删除索引时,经常会出现代码成功执行,但索引并未正直删除的现象,总结一下,要注意以下因素:
1.在创建Term时,注意Term的key一定要是以"词"为单位,否则删除不成功,例如:添加索引时,如果把"d:\doc\id.txt"当作要索引的字符串索引过了,那么在删除时,如果直接把"d:\doc\id.txt"作为查询的key来创建Term是无效的,应该用Id.txt(但这样会把所有文件名为Id.txt的都删除,所以官方建议最好用一个能唯一标识的关键字来删除,比如产品编号,新闻编号等(我的猜想:每个document都加入一个id字段作为唯一标识(可用系统当前时间值作为id的值),每当要删除包含某关键字的文档索引时,先将这些文档搜索出来,然后获取它们的id值,传给一个List,然后再用List结合id字段来删除那些文档的索引......不过这个方法的效率可能会低了一点,因为每个文档都要搜两遍);
2.要删除的“词”,在创建索引时,一定要是Tokened过的,否则也不成功;
3.IndexReader,IndexModifer,IndexWriter都提供了DeleteDocuements方法,但建议用 IndexModifer来操作,原因是IndexModifer内部做了很多线程安全处理;
4.删除完成后,一定要调用相应的Close方法,否则并未真正从索引中删除。
1 0
- Lucene删除索引DeleteDocuments的注意事项
- Lucene使用DeleteDocuments删除索引无效的原因
- lucene索引的更新和删除
- lucene索引的删除和更新
- lucene中的删除索引
- lucene 删除索引
- Lucene在删除索引
- Lucene之删除索引
- Lucene索引删除详解
- Lucene创建索引,删除索引
- lucene实时建立索引--注意事项
- lucene索引_创建_域选项和lucene索引_的删除、更新.
- lucene索引删除,恢复,更新
- lucene索引删除,恢复,更新
- lucene 新增 更新 删除索引
- lucene-索引文档的删除、更新及增强加权
- 关于Lucene.net 2.9.2.2 中删除索引的若干问题
- 一个lucene索引初始化,添加,删除,修改功能的实现
- 《C语言及程序设计》程序阅读——一维数组初步
- linux下gcc.gdb整理
- 利用Lucene打造站内搜索引擎的思路
- Django ElasticSearch Ionic 打造 GIS 移动应用 —— 架构设计
- 《C语言及程序设计》实践项目——一维数组初步
- Lucene删除索引DeleteDocuments的注意事项
- 镇楼篇--转行初入IT的心路历程
- 第四章习题
- Android 权限整理
- 将vsftpd编译进openwrt的固件中去
- pcl点云库学习笔记(二)
- 『程序员』关于Java代码的内存泄漏
- 最小二乘法 线性与非线性拟合
- Java程序员面试中的多线程问题