比如有两条记录
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相同的问题。

相关文章:

  • 2023-02-08
  • 2021-08-22
  • 2021-08-23
  • 2022-12-23
  • 2021-04-03
  • 2021-07-27
  • 2022-01-02
  • 2021-07-01
猜你喜欢
  • 2021-12-06
  • 2022-12-23
  • 2021-05-27
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案