3

elasticsearch-railsに問題があり、使用Business.__elasticsearch__.create_index!するとエラーが発生します。

{"error":{"root_cause":[{"type":"mapper_parsing_exception","re​​ason":"ルート マッピング定義にサポートされていないパラメーターがあります: [business : {dynamic=true, properties={id={type=integer}] }}]"}],"type":"mapper_parsing_exception","re​​ason":"マッピングの解析に失敗しました [_doc]: ルート マッピング定義にサポートされていないパラメーターがあります: [business : {dynamic=true, properties={id={type =integer}}}]","caused_by":{"type":"mapper_parsing_exception","re​​ason":"ルート マッピング定義にサポートされていないパラメーターがあります: [business : {dynamic=true, properties={id={type=integer }}}]"}}、"ステータス":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
`
4

2 に答える 2