首页 > 代码库 > lucene 解决主键重复
lucene 解决主键重复
比如有两条记录
Document0:
id:1 pk
content :hello
Document1:
id :1 pk
content :hello world
建立索引用ik分词,建立索引
搜索content 会出现两条记录
解决:使用 QueryFilter进行搜索过滤
Document0:
id:1 pk
content :hello
Document1:
id :1 pk
content :hello world
建立索引用ik分词,建立索引
搜索content 会出现两条记录
解决:使用 QueryFilter进行搜索过滤
Query query = new TermQuery(new Term("content", "hello"));
Filter filter = new DuplicateFilter("id");
Query query1 = new FilteredQuery(query, filter);
ScoreDoc[] docs = searcher.search(query1, Integer.MAX_VALUE).scoreDocs;
此时出现的结果就只有一条了,但可能命中的结果不准确,可以设置读取的文章是第一篇还是最后一篇 ,此方法是为了解决如一片文章分多页,一页为一个document,一篇文章的多页id相同的问题。
此时出现的结果就只有一条了,但可能命中的结果不准确,可以设置读取的文章是第一篇还是最后一篇 ,此方法是为了解决如一片文章分多页,一页为一个document,一篇文章的多页id相同的问题。
lucene 解决主键重复
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。