module Redis::Search::ClassMethods

Public Instance Methods

prefix_match(q, opts = {}) click to toggle source
# File lib/redis-search/base.rb, line 146
def prefix_match(q, opts = {})
  Redis::Search.complete(self.name, q, opts)
end
redis_search_index(opts = {}) click to toggle source
# File lib/redis-search/base.rb, line 141
def redis_search_index(opts = {})
  Kernel.warn 'DEPRECATION WARNING: redis_search_index is deprecated, use redis_search instead. '
  redis_search(opts)
end
redis_search_index_batch_create(batch_size = 1000) click to toggle source
# File lib/redis-search/base.rb, line 150
def redis_search_index_batch_create(batch_size = 1000)
  count = 0
  if ancestors.collect(&:to_s).include?('ActiveRecord::Base'.freeze)
    find_in_batches(batch_size: batch_size) do |items|
      _redis_search_reindex_items(items)
      count += items.count
    end
  elsif included_modules.collect(&:to_s).include?('Mongoid::Document'.freeze)
    self.all.each_slice(batch_size) do |items|
      _redis_search_reindex_items(items)
      count += items.count
    end
  else
    puts 'skiped, not support this ORM in current.'
  end

  count
end

Private Instance Methods

_redis_search_reindex_items(items) click to toggle source
# File lib/redis-search/base.rb, line 171
def _redis_search_reindex_items(items)
  items.each do |item|
    item.redis_search_index_create
    print DOT
    item = nil
  end
  items = nil
end