class Sonicsearch::Search

Public Instance Methods

connection() click to toggle source
# File lib/sonicsearch/search.rb, line 7
def connection
  ChannelFactory.new.search_channel
end
query(collection_id, bucket_id, terms_text, limit, offset) click to toggle source
# File lib/sonicsearch/search.rb, line 11
def query(collection_id, bucket_id, terms_text, limit, offset)
  cmd = "QUERY #{collection_id} #{bucket_id} #{terms_text}"
  cmd += " LIMIT(#{limit})" unless limit.nil?
  cmd += " OFFSET(#{limit})" unless offset.nil?
  connection.connect do |peer|
    peer.write(cmd)
    message = peer.read(512) # PENDING CjPvE5t9
    puts "Sent #{data}, got response: #{message}"
  end
  search_done = false
  while search_done
    Async do |_task|
      endpoint.connect do |peer|
        message = peer.read(512) # received EVENT QUERY CjPvE5t9
        puts "Sent #{data}, got response: #{message}"
        search_done = true
      end
    end
  end
end
suggest(collection_id, bucket_id, word_text, limit, offset) click to toggle source
# File lib/sonicsearch/search.rb, line 32
def suggest(collection_id, bucket_id, word_text, limit, offset)
  cmd = "SUGGEST #{collection_id} #{bucket_id} #{word_text}"
  cmd += " LIMIT(#{limit})" unless limit.nil?
  cmd += " OFFSET(#{limit})" unless offset.nil?
  connection.connect do |peer|
    peer.write(cmd)
    message = peer.read(512) # PENDING CjPvE5t9
    puts "Sent #{data}, got response: #{message}"
  end
  search_done = false
  while search_done
    Async do |_task|
      endpoint.connect do |peer|
        message = peer.read(512) # received EVENT SUGGEST CjPvE5t9
        puts "Sent #{data}, got response: #{message}"
        search_done = true
      end
    end
  end
end