module Estella::Searchable::ClassMethods

Public Instance Methods

default_analysis_fields() click to toggle source
# File lib/estella/searchable.rb, line 67
def default_analysis_fields
  Estella::Analysis::DEFAULT_FIELDS
end
index_slug() click to toggle source

support for mongoid::slug indexes slug attribute by default

# File lib/estella/searchable.rb, line 60
def index_slug
  if defined? slug
    indexed_fields.merge!(slug: { type: :keyword })
    indexed_json.merge!(slug: :slug)
  end
end
searchable(settings = Estella::Analysis::DEFAULT_SETTINGS, &block) click to toggle source

sets up mappings and settings for index

# File lib/estella/searchable.rb, line 72
def searchable(settings = Estella::Analysis::DEFAULT_SETTINGS, &block)
  Estella::Parser.new(self).instance_eval(&block)
  index_slug
  indexed_fields = @indexed_fields

  settings(settings) do
    mapping do
      indexed_fields.each do |name, opts|
        indexes name, opts.except(:analysis, :using, :factor, :filter, :include_raw)
      end
    end
  end
end