Details
-
Improvement
-
Resolution: Obsolete
-
Medium
-
4.0.0alpha1
-
None
Description
It's not currently possible to use negative filters, but this can be enabled by a small patch to ezfind/classes/ezfezpsolrquerybuilder.php
diff --git a/classes/ezfezpsolrquerybuilder.php b/classes/ezfezpsolrquerybuilder.php index 3c997dc..f30813c 100755 --- a/classes/ezfezpsolrquerybuilder.php +++ b/classes/ezfezpsolrquerybuilder.php @@ -852,7 +852,10 @@ class ezfeZPSolrQueryBuilder } } - return implode( " $booleanOperator ", $filterQueryList ); + if ( $booleanOperator == 'NOT' ) + return ' NOT ( ' . implode( " OR ", $filterQueryList ) .')'; + else + return implode( " $booleanOperator ", $filterQueryList ); } /** @@ -1590,5 +1593,7 @@ ezfeZPSolrQueryBuilder::$FindINI = eZINI::instance( 'ezfind.ini' ); ezfeZPSolrQueryBuilder::$allowedBooleanOperators = array( 'AND', 'and', 'OR', - 'or' ); + 'or', + 'NOT', + 'not' ); ?>