in elasticsearch-model/spec/support/app/parent_and_child_searchable.rb [21:40]
def create_index!(options={})
client = Question.__elasticsearch__.client
client.indices.delete index: INDEX_NAME rescue nil if options.delete(:force)
settings = Question.settings.to_hash.merge Answer.settings.to_hash
mapping_properties = { join_field: { type: JOIN,
relations: { Question::JOIN_TYPE => Answer::JOIN_TYPE } } }
merged_properties = mapping_properties.merge(
Question.mappings.to_hash[:properties]
).merge(
Answer.mappings.to_hash[:properties]
)
mappings = { properties: merged_properties }
client.indices.create({ index: INDEX_NAME,
body: {
settings: settings.to_hash,
mappings: mappings } }.merge(options))
end