Elasticsearch :: Transport :: Transport :: Errors :: NotFound([404] {“error”:{“root_cause”:[{“type”:“index_not_found_exception”

时间:2018-04-13 06:36:07

标签: ruby-on-rails elasticsearch elasticsearch-rails

在使用elasticsearch的本地环境中工作时,我不确定这是一个奇怪的错误,任何帮助都会让我感激不尽。感谢

  

Elasticsearch :: Transport :: Transport :: Errors :: NotFound([404]   { “错误”:{ “ROOT_CAUSE”:[{ “类型”: “index_not_found_exception”, “理由”:“无   这样   指数 “ ”resource.type“: ”index_or_alias“, ”resource.id“: ”发票“, ”索引“: ”发票“}], ”类型“: ”index_not_found_exception“, ”理由“:” 无   这样   指数”, “resource.type”: “index_or_alias”, “resource.id”: “发票”, “索引”: “发票”}, “状态”:404})

2 个答案:

答案 0 :(得分:4)

通过在rails console运行这些命令来索引ES来解决问题: -

Model.__elasticsearch__.create_index!
Model.__elasticsearch__.create_index! force: true
Model.import force: true 

答案 1 :(得分:0)

您还可以按照我在rubydoc网站上找到的步骤进行操作:

需要您的应用程序中的任务定义,例如。在lib / tasks / elasticsearch.rake文件中:

require 'elasticsearch/rails/tasks/import'

要从模型导入记录,请运行:

bundle exec rake environment elasticsearch:import:model CLASS='ModelName'

或者您可以使用:

rake environment elasticsearch:import:all DIR=app/models

导入所有模型。