Spring Data Solr 中的动态查询有什么方法可以应用 De Morgan 定律吗?

Is there any way to apply De Morgan's law to dynamic query in Spring Data Solr?

我遇到了以下问题:

Solr 似乎不喜欢 return 当我动态生成的标准的一部分只包含否定时,像这样:

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

(这是一个裤裆,由两个独立的标准创建)

因为这确实是个问题,有没有什么方法可以将德摩根定律应用于上述标准,因此它将是:

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

?

我正在使用 Spring-data-solr 1.5.4

AND (-title_facet:*title* AND -title_facet:*List*) 不起作用的原因是因为它没有任何东西可以从中减去匹配的文档。

当您通过在查询前面附加所有文档的集合将其用作单个查询时,Solr 会解决这个问题,但是当您在查询中进一步执行相同的操作时,它不会出现.

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

.. 应该可以工作,因为您有一组适当的文档(所有文档),您可以从中减去与其他两组匹配的文档。