ruby-on-rails - Rails __elasticsearch__.create_index! "Root mapping definition has unsupported parameters(mapper_parsing_exception)"

标签 ruby-on-rails elasticsearch elasticsearch-rails elasticsearch-model

当我使用 Business.__elasticsearch__.create_index! 时,elasticsearch-rails 出现问题我收到一个错误:

{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"Root mapping definition has unsupported parameters: [business : {dynamic=true, properties={id={type=integer}}}]"}],"type":"mapper_parsing_exception","reason":"Failed to parse mapping [_doc]: Root mapping definition has unsupported parameters: [business : {dynamic=true, properties={id={type=integer}}}]","caused_by":{"type":"mapper_parsing_exception","reason":"Root mapping definition has unsupported parameters: [business : {dynamic=true, properties={id={type=integer}}}]"}},"status":400}

该请求的背后是:

PUT http://localhost:9200/development_businesses [status:400, request:0.081s, query:N/A] {"settings":{"index":{"number_of_shards":1}},"mappings":{"business":{"dynamic":"true","properties":{"id":{"type":"integer"}}}}}

我的模型代码:

`
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
`

最佳答案

在创建映射时删除部分 {"business":{"dynamic":"true"}}。像下面那样尝试对我来说效果很好-

PUT /development_businesses/
{
  "settings": {
    "index": {
      "number_of_shards": 1
    }
  },
  "mappings": {
      "properties": {
        "id": {
          "type": "integer"
        }
      }
  }
}

关于ruby-on-rails - Rails __elasticsearch__.create_index! "Root mapping definition has unsupported parameters(mapper_parsing_exception)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59141034/

相关文章:

ruby-on-rails - 第一个 Rails 项目 : Rake Problem

elasticsearch - elasticsearch慢日志不会写到日志文件

java - Java中使用elasticsearch滚动时程序保持运行

elasticsearch - 将 Elasticsearch 结果范围限定为特定 ID

ruby-on-rails - Pluck 和 ids 给出非唯一元素的数组

ruby-on-rails - 一般 Active Record 加入或包含

elasticsearch - 如何在没有 X-Pack 的情况下监控 Elastic Stack?

ruby-on-rails - Elasticsearch-rails : response is empty at times, 第二个请求它返回正确的响应

ruby-on-rails - Elasticsearch-rails完成建议器, map 数据,创建索引,建议方法

ruby-on-rails - 阻塞 IO/Ruby on Rails