У меня вопрос об изменении типа поля в моем индексе эластичного поиска с использованием клиента Rubyasticsearch chewy .
Я пытаюсь обновить тип поля в моем индексе.Я получаю эту ошибку: illegal_argument_exception
.
Я прочитал, что невозможно изменить тип в существующем индексе, поэтому я думал о переиндексации всего: rake chewy:reset
.Я перепробовал много вещей ... Я не могу заставить мою переиндексацию работать.
Подробная ошибка:
Elasticsearch::Transport::Transport::Errors::BadRequest: [400] {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"mapper [enabled] cannot be changed from type [text] to [boolean]"}],"type":"illegal_argument_exception","reason":"mapper [enabled] cannot be changed from type [text] to [boolean]"},"status":400}
Мой индекс, как это было раньше (поле включено было texte, попо умолчанию):
class SearchIndex < Chewy::Index
define_type Company, delete_if: :deleted_at do
...
field :enabled
...
end
end
Мой индекс, как я хочу, чтобы он был:
class SearchIndex < Chewy::Index
define_type Company, delete_if: :deleted_at do
...
field :enabled, type: 'boolean'
...
end
end
Как я могу сделать с Chewy (без запроса ElasticSearch через curl, если это возможно), чтобы получить мойиндекс переиндексирован с новым типом поля?
Спасибо.