Module: Elasticsearch::Model::ClassMethods
- Included in:
- Elasticsearch::Model
- Defined in:
- lib/elasticsearch/model.rb
Instance Method Summary collapse
-
#client ⇒ Object
Get the client common for all models.
-
#client=(client) ⇒ Object
Set the client for all models.
-
#inheritance_enabled ⇒ Object
Check if inheritance is enabled.
-
#inheritance_enabled=(inheritance_enabled) ⇒ Object
Enable inheritance of index_name and document_type.
-
#search(query_or_payload, models = [], options = {}) ⇒ Elasticsearch::Model::Response::Response
Search across multiple models.
Instance Method Details
#client ⇒ Object
Get the client common for all models
148 149 150 |
# File 'lib/elasticsearch/model.rb', line 148 def client @client ||= Elasticsearch::Client.new end |
#client=(client) ⇒ Object
Note:
You have to set the client before you call Elasticsearch methods on the model, or set it directly on the model; see Elasticsearch::Model::Client::ClassMethods#client
Set the client for all models
162 163 164 |
# File 'lib/elasticsearch/model.rb', line 162 def client=(client) @client = client end |
#inheritance_enabled ⇒ Object
Note:
Inheritance is disabled by default.
Check if inheritance is enabled
195 196 197 |
# File 'lib/elasticsearch/model.rb', line 195 def inheritance_enabled @inheritance_enabled ||= false end |
#inheritance_enabled=(inheritance_enabled) ⇒ Object
Enable inheritance of index_name and document_type
205 206 207 |
# File 'lib/elasticsearch/model.rb', line 205 def inheritance_enabled=(inheritance_enabled) @inheritance_enabled = inheritance_enabled end |
#search(query_or_payload, models = [], options = {}) ⇒ Elasticsearch::Model::Response::Response
Search across multiple models
By default, all models which include the ‘Elasticsearch::Model` module are searched
185 186 187 188 189 |
# File 'lib/elasticsearch/model.rb', line 185 def search(query_or_payload, models=[], ={}) models = Multimodel.new(models) request = Searching::SearchRequest.new(models, query_or_payload, ) Response::Response.new(models, request) end |