#015617: Add ability for negative filtering

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' );
 ?>

Environment:

Operating System:
PHP Version: (please be specific, like '4.4.3' or '5.1.5')
Database and version:
Browser (and version):


- Attachments

No attachments for this issue.


- Comments

No comments for this issue.


- History
Properties
Type Enhancement
Priority Medium
Component eZ Publish extension » Searching
Affects 2.0.0alpha1 - eZ Find ( eZP 4)
Fix Version -
Reporter Bruce Morrison
Responsible -
Status 0 New
Resolution UNRESOLVED
Created October 5th, 2009
Updated October 5th, 2009
Resolved -
 
Navigation [Permanent Link]
Previous Issue
Back to Issues List
Next Issue: #016046
  Refactor eZ Find to use eZ Components Search API