module RediSearch::RediSearchable::InstanceMethods

Public Instance Methods

redisearch_add() click to toggle source
# File lib/redisearch-rails/redisearchable/instance_methods.rb, line 18
def redisearch_add
  redisearch_document.add(replace: true, partial: true)
end
redisearch_delete() click to toggle source
# File lib/redisearch-rails/redisearchable/instance_methods.rb, line 22
def redisearch_delete
  redisearch_document.del(dd: true)
end
redisearch_document() click to toggle source
# File lib/redisearch-rails/redisearchable/instance_methods.rb, line 5
def redisearch_document
  @redisearch_document ||= generate_redisearch_document
end
redisearch_document_id() click to toggle source
# File lib/redisearch-rails/redisearchable/instance_methods.rb, line 26
def redisearch_document_id
  [self.class.redisearch_index.name, self.id].join('_')
end
redisearch_reindex(**options) click to toggle source
# File lib/redisearch-rails/redisearchable/instance_methods.rb, line 9
def redisearch_reindex(**options)
  RediSearch::RecordIndexer.new(self).reindex(options)
end
Also aliased as: reindex
reindex(**options)
Alias for: redisearch_reindex
should_index?() click to toggle source
# File lib/redisearch-rails/redisearchable/instance_methods.rb, line 14
def should_index?
  true
end

Private Instance Methods

generate_redisearch_document() click to toggle source
# File lib/redisearch-rails/redisearchable/instance_methods.rb, line 32
def generate_redisearch_document
  index = self.class.redisearch_index
  serializer = redisearch_serializer || self
  fields = index.schema.fields.map(&:name)
  fields_values = Hash[fields.flatten.map! { |field| [field, serializer.public_send(field)] }]
  index.generate_document(redisearch_document_id, fields_values)
end
redisearch_serializer() click to toggle source
# File lib/redisearch-rails/redisearchable/instance_methods.rb, line 40
def redisearch_serializer
  self.class.redisearch_index_serializer.new(self) if self.class.redisearch_index_serializer
end