请问 lucene 是如何 对查询的结果 合并的?
就是 合并的 过程原理,我有这个需求 想程序模仿实现一下。
或者类似的文章 的介绍。。。
如 我查询 “北京 天气”,假设 使用 并且 的查询,就是 两个词语 都必须包含;
那 lucene 内部 肯定是 先查询 "北京",再查询 "天气",然后 合并 的结果。
相知道 这个结果 的合并的过程的原理。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
两个取交集。。无非就是布尔运算
竟如此简单...
好像不对,是合并结果,不是去重,是取交集的 ...所以这个过程还是需要 了解下。。。
根据docID去重就可以了
。。。嗯。。。类似吧 应该。。。
HashSet<String> terma = new HashSet<String>();
terma.add("1");
terma.add("2");
terma.add("3");
terma.add("4");
HashSet<String> termb = new HashSet<String>();
termb.add("2");
termb.add("4");
terma.retainAll(termb);
Iterator<String> iterator = terma.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}