Class: Elasticsearch::Model::Indexing::Mappings
- Inherits:
 - 
      Object
      
        
- Object
 - Elasticsearch::Model::Indexing::Mappings
 
 
- Defined in:
 - lib/elasticsearch/model/indexing.rb
 
Overview
Wraps the [index mappings](www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html)
Constant Summary collapse
- TYPES_WITH_EMBEDDED_PROPERTIES =
 %w(object nested)
Instance Attribute Summary collapse
- 
  
    
      #options  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
Returns the value of attribute options.
 
Instance Method Summary collapse
- #as_json(options = {}) ⇒ Object
 - #indexes(name, options = {}, &block) ⇒ Object
 - 
  
    
      #initialize(options = {})  ⇒ Mappings 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Mappings.
 - #to_hash ⇒ Object
 
Constructor Details
#initialize(options = {}) ⇒ Mappings
Returns a new instance of Mappings.
      56 57 58 59  | 
    
      # File 'lib/elasticsearch/model/indexing.rb', line 56 def initialize(={}) @options = @mapping = {} end  | 
  
Instance Attribute Details
#options ⇒ Object
Returns the value of attribute options.
      52 53 54  | 
    
      # File 'lib/elasticsearch/model/indexing.rb', line 52 def @options end  | 
  
Instance Method Details
#as_json(options = {}) ⇒ Object
      89 90 91  | 
    
      # File 'lib/elasticsearch/model/indexing.rb', line 89 def as_json(={}) to_hash end  | 
  
#indexes(name, options = {}, &block) ⇒ Object
      61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83  | 
    
      # File 'lib/elasticsearch/model/indexing.rb', line 61 def indexes(name, ={}, &block) @mapping[name] = if block_given? @mapping[name][:type] ||= 'object' properties = TYPES_WITH_EMBEDDED_PROPERTIES.include?(@mapping[name][:type].to_s) ? :properties : :fields @mapping[name][properties] ||= {} previous = @mapping begin @mapping = @mapping[name][properties] self.instance_eval(&block) ensure @mapping = previous end end # Set the type to `text` by default @mapping[name][:type] ||= 'text' self end  | 
  
#to_hash ⇒ Object
      85 86 87  | 
    
      # File 'lib/elasticsearch/model/indexing.rb', line 85 def to_hash @options.merge( properties: @mapping ) end  |