解决lucene 重复索引的问题
2015-12-01 14:45
155 查看
在使用Lucene过程中,会发现当我们为添加新的Document时,会产生重复现象(两次添加同一个Document),毕竟Lucene中没有像数据库中一样,有键可以区分。不过我们可以通过为Document建立类似于键的域,来防止添加重复的Document。
示例(id这个域就当做键使用了,推荐使用MD5码之类的唯一性较好的作为键):
id域不要分析,要不就会影响评分的。
之后就是加入Document了:
Term id=new Term("id",1231231);
利用update方法就可以避免添加重复索引了,当索引 里有id为1231231的文档时,就不添加索引,当没有时,就添加索引
建议id为docment中唯一可以识别的键,如果没有的话,再考虑md5
示例(id这个域就当做键使用了,推荐使用MD5码之类的唯一性较好的作为键):
Document document = new Document(); document.add(new Field("content", "刘德华 很帅" , Field.Store.YES , Field.Index.ANALYZED ,TermVector.NO)); document.add(new Field("id" , "1231231" , Field.Store.YES , Field.Index.NOT_ANALYZED , TermVector.YES));
id域不要分析,要不就会影响评分的。
之后就是加入Document了:
Term id=new Term("id",1231231);
indexWriter.updateDocument(id,document);
利用update方法就可以避免添加重复索引了,当索引 里有id为1231231的文档时,就不添加索引,当没有时,就添加索引
建议id为docment中唯一可以识别的键,如果没有的话,再考虑md5
相关文章推荐
- sql,关键字使用
- Python 多线程学习02
- Java transient关键字使用小记
- Swift图片轮播的代码
- #读书笔记#温伯格技术思想三部曲:程序开发心理学——第9章、智力水平及问题求解能力
- Android编程实现TextView字体颜色设置的方法小结
- linux 音频编程
- jQuery倒计时插件
- 思维题(转换) HDU 4370 0 or 1
- TopCoder SRM674 div1 250
- Android获取图片任意一点的RGB值
- IOS的xcode7的不需要开发者账号的调试步骤
- 全新模版型社交技术产品交响圈白皮书——箭扣科技Arrownock
- IPC More
- [Mac技巧]非Mac键盘/PC键盘 互换Win Alt 按键功能
- Android 使用SharedPreferences 进行保存账号or密码or其它数据
- DB2中导出数据库的所有DDL脚本
- 深入浅出SharePoint——Search疑难排除
- c++相关知识
- 从零开始配置Jenkins(二)——常见问题及排错思路