Class: JayAPI::Elasticsearch::Index
- Inherits:
-
Object
- Object
- JayAPI::Elasticsearch::Index
- Includes:
- Indexable
- Defined in:
- lib/jay_api/elasticsearch/index.rb
Overview
Represents an Elasticsearch index. Allows data to be pushed to it one record at a time or in batches of the specified size.
Constant Summary
Constants included from Indexable
JayAPI::Elasticsearch::Indexable::DEFAULT_DOC_TYPE, JayAPI::Elasticsearch::Indexable::SUPPORTED_TYPES
Instance Attribute Summary
Attributes included from Indexable
Instance Method Summary collapse
-
#index(data, type: DEFAULT_DOC_TYPE) ⇒ Hash
Sends a record to the Elasticsearch instance right away.
-
#index_name ⇒ String
The name of the Elasticsearch index.
-
#initialize(client:, index_name:, batch_size: 100, logger: nil) ⇒ Index
constructor
A new instance of Index.
Methods included from Indexable
#delete_by_query, #delete_by_query_async, #flush, #push, #queue_size, #search
Constructor Details
#initialize(client:, index_name:, batch_size: 100, logger: nil) ⇒ Index
19 20 21 |
# File 'lib/jay_api/elasticsearch/index.rb', line 19 def initialize(client:, index_name:, batch_size: 100, logger: nil) super(client: client, index_names: [index_name], batch_size: batch_size, logger: logger) end |
Instance Method Details
#index(data, type: DEFAULT_DOC_TYPE) ⇒ Hash
Sends a record to the Elasticsearch instance right away.
{
"_index" => "xyz01_unit_test",
"_type" => "nested",
"_id" => "SVY1mJEBQ5CNFZM8Lodt",
"_version" => 1,
"result" => "created",
"_shards" => { "total" => 2, "successful" => 1, "failed" => 0 },
"_seq_no" => 0,
"_primary_term" => 1
}
For information on the contents of this Hash please see: www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#docs-index-api-response-body
49 50 51 |
# File 'lib/jay_api/elasticsearch/index.rb', line 49 def index(data, type: DEFAULT_DOC_TYPE) super.first end |
#index_name ⇒ String
24 25 26 |
# File 'lib/jay_api/elasticsearch/index.rb', line 24 def index_name @index_name ||= index_names.first end |