在Spring Data Solr中,有没有办法将De Morgan定律应用于动态查询?

在Spring Data Solr中,有没有办法将De Morgan定律应用于动态查询?,spring,solr,criteria,spring-data-solr,Spring,Solr,Criteria,Spring Data Solr,我有以下问题: 当动态生成的条件的一部分仅包含否定时,Solr似乎不喜欢并返回任何内容,如下所示: AND (-title_facet:*title* AND -title_facet:*List*) 这是一个胯部,由两个独立的标准创建 由于这确实是一个问题,有没有办法将德摩根定律应用于上述标准,因此: AND -(title_facet:*title* OR title_facet:*List*) ? 我使用的是SpringDataSolr1.5.4AND-title\u facet:*

我有以下问题:

当动态生成的条件的一部分仅包含否定时,Solr似乎不喜欢并返回任何内容,如下所示:

 AND (-title_facet:*title* AND -title_facet:*List*)
这是一个胯部,由两个独立的标准创建

由于这确实是一个问题,有没有办法将德摩根定律应用于上述标准,因此:

AND -(title_facet:*title* OR title_facet:*List*)
?

我使用的是SpringDataSolr1.5.4

AND-title\u facet:*title*和-title\u facet:*List*不起作用的原因是它没有任何东西可以减去匹配的文档

当您将它作为一个查询使用时,Solr通过将所有文档的集合追加到查询前面来解决这个问题,但是当您在查询中进一步执行相同的操作时,它将不存在

AND (*:* AND -title_facet:*title* AND -title_facet:*List*)

。。既然你有了一套合适的文件,你就可以从中减去与其他两套文件相匹配的文件。

当我发布的标准是一个更大的裤裆的一部分时,你的理由也适用吗?我要传递给Solr的完整标准是:createdBy_facet:*名称1*或createdBy_facet:*名称2*和-title_facet:*标题*和-title_facet:*列表*是的,我猜后者和部分需要它。第一部分是正匹配,意思是他们选择文档,所以不需要它-但是后面的术语只删除文档,所以你必须从一些东西开始减去文档。从我测试的结果来看,它似乎工作得很好,所以谢谢你的帮助!