From f18b35f4a94ae163a3f4467d03d9b5a89ea3aee7 Mon Sep 17 00:00:00 2001 From: Thom May Date: Tue, 2 Aug 2016 15:10:37 +0100 Subject: support ! in searches Signed-off-by: Thom May --- lib/chef_zero/solr/query/unary_operator.rb | 4 ++-- lib/chef_zero/solr/solr_parser.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/chef_zero/solr/query/unary_operator.rb b/lib/chef_zero/solr/query/unary_operator.rb index e83683c..2f34653 100644 --- a/lib/chef_zero/solr/query/unary_operator.rb +++ b/lib/chef_zero/solr/query/unary_operator.rb @@ -16,7 +16,7 @@ module ChefZero def matches_doc?(doc) case @operator - when "-", "NOT" + when "-", "NOT", "!" !operand.matches_doc?(doc) when "+" # TODO This operator uses relevance to eliminate other, unrelated @@ -27,7 +27,7 @@ module ChefZero def matches_values?(values) case @operator - when "-", "NOT" + when "-", "NOT", "!" !operand.matches_values?(values) when "+" # TODO This operator uses relevance to eliminate other, unrelated diff --git a/lib/chef_zero/solr/solr_parser.rb b/lib/chef_zero/solr/solr_parser.rb index 2bf2125..980a75f 100644 --- a/lib/chef_zero/solr/solr_parser.rb +++ b/lib/chef_zero/solr/solr_parser.rb @@ -180,7 +180,7 @@ module ChefZero end def unary_operator?(token) - [ "NOT", "+", "-" ].include?(token) + [ "NOT", "+", "-", "!" ].include?(token) end def binary_operator?(token) -- cgit v1.2.1