Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-Elasticsearch:无法在Heroku上创建索引_Ruby On Rails_Ruby_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Heroku - Fatal编程技术网 elasticsearch,heroku,Ruby On Rails,Ruby,elasticsearch,Heroku" /> elasticsearch,heroku,Ruby On Rails,Ruby,elasticsearch,Heroku" />

Ruby on rails Rails-Elasticsearch:无法在Heroku上创建索引

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异常”,“原因”:“原因” 映射定义不能嵌套在类

由于最近缺少使用,我在Heroku上重新安装了我的盆景Elasticsearch插件。以前它工作得很好,但现在当我在rails控制台中键入以下内容时:

 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版本兼容