【发布时间】:2019-12-02 14:31:19
【问题描述】:
我在使用 elasticsearch-rails 时遇到问题,当我使用 Business.__elasticsearch__.create_index! 时出现错误:
{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"根映射定义有不支持的参数:[business : {dynamic=true, properties={id={type =integer}}}]"}],"type":"mapper_parsing_exception","reason":"无法解析映射 [_doc]:根映射定义具有不受支持的参数:[business : {dynamic=true, properties={id ={type=integer}}}]","caused_by":{"type":"mapper_parsing_exception","reason":"根映射定义有不受支持的参数:[business : {dynamic=true, properties={id={ type=integer}}}]"}},"status":400}
请求的背后是:
PUT http://localhost:9200/development_businesses [状态:400,请求:0.081s,查询:N/A] {"settings":{"index":{"number_of_shards":1}},"mappings":{"business":{"dynamic":"true","properties":{"id":{"type" :"整数"}}}}}
我的型号代码:
`
after_save :reindex_model
Elasticsearch::Model.client = Elasticsearch::Client.new url: ENV['BONSAI_URL'], log: true
include Elasticsearch::Model
include Elasticsearch::Model::Callbacks
index_name [Rails.env, model_name.collection.gsub('///', '-')].join('_')
document_type self.name.downcase
`
我已经定义了我的映射:
`
settings index: { number_of_shards: 1 } do
mappings dynamic: 'true' do
indexes :id, type: 'integer'
end
end
`
【问题讨论】:
-
如果您使用的是版本 7.x stackoverflow.com/questions/58629372/…
-
"dynamic":"true"呢? -
真假都试过了都没有效果@Sunny
-
@AhmadAli 看看我在下面给出的答案
标签: ruby-on-rails elasticsearch elasticsearch-rails elasticsearch-model