Ruby on rails Rails-Elasticsearch:无法在Heroku上创建索引
由于最近缺少使用,我在Heroku上重新安装了我的盆景Elasticsearch插件。以前它工作得很好,但现在当我在rails控制台中键入以下内容时:Ruby on rails Rails-Elasticsearch:无法在Heroku上创建索引,ruby-on-rails,ruby,elasticsearch,heroku,Ruby On Rails,Ruby,elasticsearch,Heroku,由于最近缺少使用,我在Heroku上重新安装了我的盆景Elasticsearch插件。以前它工作得很好,但现在当我在rails控制台中键入以下内容时: Lead.__elasticsearch__.create_index! force:true 我得到这个错误: Elasticsearch::Transport::Transport::Errors::BadRequest([400] {“错误”:{“根本原因”:[{“类型”:“非法参数”\u异常”,“原因”:“原因” 映射定义不能嵌套在类
Lead.__elasticsearch__.create_index! force:true
我得到这个错误:
Elasticsearch::Transport::Transport::Errors::BadRequest([400]
{“错误”:{“根本原因”:[{“类型”:“非法参数”\u异常”,“原因”:“原因”
映射定义不能嵌套在类型[\u doc]下,除非
include_type_name设置为
true。“}],“类型”:“非法参数\异常”,“原因”:“映射”
定义不能嵌套在类型[\u doc]下,除非
include_type_name设置为true。“},“status”:400})
如何解决此问题
版本:
轨道:5.2.2
Ruby:2.6.3
elasticsearch模型:6.0.0
ElasticSearchRails:6.0.0在盆景elasticsearch中,我们必须自己创建索引 您可以通过以下方式创建帖子模型的索引:
curl -XPUT https://your:bonsai@url-here.us-east-1.bonsai.io/posts
您可以通过以下方式获取您的盆景Url:
heroku config | grep BONSAI
是我找到的最好的教程,你可以使用它
除此之外,您还可以通过以下方式在elasticsearch中导入模型:
heroku run bundle exec rake environment elasticsearch:import:model CLASS='Post' FORCE=true
如果您遇到与上述相同的错误,请运行上述命令,然后尝试更改您的盆景和其他elasticsearch gems,这些gems应与elasticsearch版本兼容