Я пытаюсь добавить elasticsearch
на свой сайт Ruby on Rails, используя searchkick gem
. В настоящее время я использую ОС Ubuntu 16.04 TLS.
Я установил elasticsearch 6.2.2 и пока настройки по умолчанию не изменились.
Когда я запускаю curl -X GET 'http://localhost:9200'
, я получаю:
{
"name" : "viTKcuN",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "aHCpbpvoQd2sieJRWtqI7g",
"version" : {
"number" : "6.2.2",
"build_hash" : "10b1edd",
"build_date" : "2018-02-16T19:01:30.685723Z",
"build_snapshot" : false,
"lucene_version" : "7.2.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
Какой, я думаю, желаемый результат.
Затем я добавил gem 'searchkick', '~> 3.0'
в свой Gemfile, запустил bundle install
и добавил searchkick
в свои модели.
Однако запуск Activity.reindex
в терминале приводит к:
Activity.reindex: command not found
Запуск rake searchkick:reindex CLASS=Activity
привел к следующей ошибке:
rails searchkick earchkick::ImportError: {"type"=>"cluster_block_exception", "reason"=>"blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"} on item with id '1'
Я пытался запустить curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
Но затем повторный запуск rake searchkick:reindex CLASS=Activity
приводит к следующему:
Elasticsearch::Transport::Transport::Errors::Forbidden: [403] {"error":{"root_cause":[{"type":"cluster_block_exception","reason":"blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"}],"type":"cluster_block_exception","reason":"blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"},"status":403}
Я также попытался добавить searchkick settings: {blocks: {read_only: false}}
в модель Activity, но получил ту же ошибку, когда снова запустил rake searchkick:reindex CLASS=Activity
.
Как я могу решить эту проблему.