module S3Search::API::Searches
Public Instance Methods
search(options)
click to toggle source
# File lib/s3search/api/searches.rb, line 17 def search options raise 'where: {field: "value"} is a required option' unless options[:where] query_terms = options.delete(:where).map do |field, value| { query_string: { default_field: field, query: value, default_operator: 'AND' } } end query = { query: { bool: { must: query_terms } } } page = options.delete(:page) || 1 per_page = options.delete(:per_page) || 25 query.merge!(options) response = _post '/v1/searches.json', { search: query, page: page, per_page: per_page } S3Search::ResultPage.new(response, self) end
simple_search(search_term, options={})
click to toggle source
# File lib/s3search/api/searches.rb, line 7 def simple_search search_term, options={} if search_term.include?(':') field, value = search_term.split(':')[0..1] options.merge!({where: { field => value }}) else options.merge!({where: {_all: search_term }}) end search options end