Solr6.0多个过滤查询条件的并集

一开始使用如下代码,使用多个过滤条件限制搜索条件,查询出的结果会是过滤条件的交集。因为业余需求,需要solr查询返回多个过滤条件的并集。

SolrQuery query = new SolrQuery();
...
query.addFilterQuery( "FILE_TYPE:**");
在网上找了很久,只找到一篇讲到过滤条件并集的,但是并不适合我的场景

地址:http://www.cnblogs.com/seaspring/p/6428074.html

按照这篇文章来做,但是我在控制台输出query内容时候,发现solr并没有给我解析成我想要的结果,反而出现了不应该出现的代码。然后我去源码中找,虽然找得到对应的类和对应的方法,但是,在该文章讲到解析dismix的时候,死活找不到跳到该方法的代码,我理解是没有走他说的那一步,或者就是说因为solr版本的问题,我的这个版本没有按照他说的走。

解决办法:

在无意间看到有人放出来正常搜索条件里有AND、OR的,然后我就设置了一个过滤条件,当然这个方法,上面链接中也提到,但是被作者否定掉,我就没有试,结果浪费了大量时间看源码。

query.addFilterQuery("FILE_TYPE:入院记录 OR FILE_TYPE:手术记录");
结果通过计算两次的返回条数,和该条返回的条数相加,得到了我想要的结果。

猜你喜欢

转载自blog.csdn.net/henrymrz/article/details/79096848