def query=(search_term)
      @search_term =
        case search_term
        when nil, ''        then []
        when String, Symbol then [search_term]
        when Array          then search_term.flatten.select { |e| [String, Symbol].include? e.class }
        else fail ArgumentError, 'search_term must be a String, Symbol or Array. ' \
                                 "#{ search_term.inspect } given."
        end

      build_query
    end
def query=(search_term)
      @search_term =
        case search_term
        when nil, ''        then []
        when String, Symbol then [search_term]
        when Array          then search_term.flatten.select { |e| [String, Symbol].include? e.class }
        else fail ArgumentError, 'search_term must be a String, Symbol or Array. ' \
                                 "#{ search_term.inspect } given."
        end

      build_query
    end
Change the search term, triggering a query rebuild and clearing past results.

 Raises ArgumentError if search_term is not a String, Symbol or Array