class Elastic::Type

Add activerecord related index helpers

Public Class Methods

connector() click to toggle source
# File lib/elastic/type.rb, line 33
def self.connector
  @connector ||= begin
    Elastic::Core::Connector.new(
      suffix,
      definition.as_es_mapping
    ).tap do |conn|
      if Elastic.config.whiny_indices && conn.status != :ready
        raise 'elastic index out of sync, try migrating'
      end
    end
  end
end
default_suffix() click to toggle source
# File lib/elastic/type.rb, line 13
def self.default_suffix
  to_s.underscore
end
delete(_object) click to toggle source
# File lib/elastic/type.rb, line 84
def self.delete(_object)
  connector.delete new(_object).as_elastic_document(only_meta: true)
  self
end
drop() click to toggle source
# File lib/elastic/type.rb, line 93
def self.drop
  connector.drop
  self
end
import(_collection, batch_size: nil) click to toggle source
# File lib/elastic/type.rb, line 67
def self.import(_collection, batch_size: nil)
  batch_size = batch_size || import_batch_size

  Commands::ImportIndexDocuments.for(
    index: self,
    collection: _collection,
    batch_size: batch_size
  )

  self
end
import_batch_size() click to toggle source
# File lib/elastic/type.rb, line 25
def self.import_batch_size
  @import_batch_size || Elastic.config.import_batch_size
end
import_batch_size=(_value) click to toggle source
# File lib/elastic/type.rb, line 29
def self.import_batch_size=(_value)
  @import_batch_size = _value
end
index(_object) click to toggle source
# File lib/elastic/type.rb, line 79
def self.index(_object)
  connector.index new(_object).as_elastic_document
  self
end
index_name() click to toggle source
# File lib/elastic/type.rb, line 46
def self.index_name
  connector.index_name
end
migrate() click to toggle source
# File lib/elastic/type.rb, line 50
def self.migrate
  connector.migrate(batch_size: import_batch_size)
  self
end
query() click to toggle source
# File lib/elastic/type.rb, line 89
def self.query
  Query.new self
end
refresh() click to toggle source
# File lib/elastic/type.rb, line 98
def self.refresh
  connector.refresh
  self
end
reindex(verbose: true) click to toggle source
# File lib/elastic/type.rb, line 55
def self.reindex(verbose: true)
  connector.rollover do
    Commands::ImportIndexDocuments.for(
      index: self,
      verbose: verbose,
      batch_size: import_batch_size
    )
  end

  self
end
suffix() click to toggle source
# File lib/elastic/type.rb, line 17
def self.suffix
  @suffix || default_suffix
end
suffix=(_value) click to toggle source
# File lib/elastic/type.rb, line 21
def self.suffix=(_value)
  @suffix = _value
end