module Elasticsearch::Model::Searching::ClassMethods
Public Instance Methods
search(query_or_payload, options={})
click to toggle source
Provides a ‘search` method for the model to easily search within an index/type corresponding to the model settings.
@param query_or_payload [String,Hash,Object] The search request definition
(string, JSON, Hash, or object responding to `to_hash`)
@param options [Hash] Optional parameters to be passed to the Elasticsearch
client
@return [Elasticsearch::Model::Response::Response]
@example Simple search in ‘Article`
Article.search 'foo'
@example Search using a search definition as a Hash
response = Article.search \ query: { match: { title: 'foo' } }, highlight: { fields: { title: {} } } response.results.first.title # => "Foo" response.results.first.highlight.title # => ["<em>Foo</em>"] response.records.first.title # Article Load (0.2ms) SELECT "articles".* FROM "articles" WHERE "articles"."id" IN (1, 3) # => "Foo"
@example Search using a search definition as a JSON string
Article.search '{"query" : { "match_all" : {} }}'
# File lib/elasticsearch/model/searching.rb, line 97 def search(query_or_payload, options={}) search = SearchRequest.new(self, query_or_payload, options) Response::Response.new(self, search) end