def find(needle, limit = nil)
      limit ||= LIMIT_DEFAULT
      check_valid_needle(needle)
      raise(ArgumentError, "LIMIT value must be in #{LIMIT_RANGE}") unless LIMIT_RANGE.include?(limit)

      cmd = ["FIND", @db_name, needle, limit]
      send_cmd_and_get_results(cmd).map(&:to_i).each_slice(3).to_a
    end
def find(needle, limit = nil)
      limit ||= LIMIT_DEFAULT
      check_valid_needle(needle)
      raise(ArgumentError, "LIMIT value must be in #{LIMIT_RANGE}") unless LIMIT_RANGE.include?(limit)

      cmd = ["FIND", @db_name, needle, limit]
      send_cmd_and_get_results(cmd).map(&:to_i).each_slice(3).to_a
    end
Initialize a new {Blurrily::Client} connection to {Blurrily::Server}.

 @param host IP Address or FQDN of the Blurrily::Server.
           Defaults to Blurrily::DEFAULT_HOST.
 @param port Port Blurrily::Server is listening on.
           Defaults to Blurrily::DEFAULT_PORT.
 @param db_name Name of the data store being targeted.
           Defaults to Blurrily::DEFAULT_DATABASE.

 Examples

 ```
 Blurrily::Client.new('127.0.0.1', 12021, 'location_en')
 # => #<Blurrily::Client:0x007fcd0d33e708 @host="127.0.0.1", @port=12021, @db_name="location_en">
 ```

 @returns the instance of {Blurrily::Client}
 Find record references based on a given string (needle)

 @param needle The string you're searching for matches on.
          Must not contain tabs.
          Required
 @param limit  Limit the number of results retruned (default: 10).
          Must be numeric.
          Optional

 Examples

 ```
 @client.find('London')
 # => [[123,6,3],[124,5,3]...]
 ```

 @returns an Array of matching [`ref`,`score`,`weight`] ordered by score. `ref` is the identifying value of the original record.
 Note that unless modified, `weight` is simply the string length.