diff --git a/app/models/effective/resources/relation.rb b/app/models/effective/resources/relation.rb
index <HASH>..<HASH> 100644
--- a/app/models/effective/resources/relation.rb
+++ b/app/models/effective/resources/relation.rb
@@ -209,15 +209,23 @@ module Effective
 
         fuzzy = true unless fuzzy == false
 
-        conditions = (
-          if fuzzy
-            columns.map { |name| "#{sql_column(name)} #{ilike} :fuzzy" }
-          else
-            columns.map { |name| "#{sql_column(name)} = :value" }
-          end
-        ).join(' OR ')
+        # Retval
+        searched = relation
+        terms = value.split(' ') - [nil, '']
+
+        terms.each do |term|
+          conditions = (
+            if fuzzy
+              columns.map { |name| "#{sql_column(name)} #{ilike} :fuzzy" }
+            else
+              columns.map { |name| "#{sql_column(name)} = :term" }
+            end
+          ).join(' OR ')
+
+          searched = searched.where(conditions, fuzzy: "%#{term}%", term: term)
+        end
 
-        relation.where(conditions, fuzzy: "%#{value}%", value: value)
+        searched
       end
 
       private
Search by all terms in search_any