Я создаю индекс "myindex" с указанным типом документа "mytype" . Я могу удалить индекс, но похоже, что "mytype" все еще существует, не привязанный к индексу.
Как мне избавиться от "mytype" ?
Я создаю индекс "myindex" с указанным типом документа "mytype" . Я могу удалить индекс, но похоже, что "mytype" все еще существует, не привязанный к индексу.
Как мне избавиться от "mytype" ?
Если вы действительно удалили индекс, сопоставление в этом индексе больше не должно существовать. У вас есть какой-либо другой индекс в вашем кластере с похожим именем типа?
Чтобы ответить на вопрос: How to delete document types in elasticsearch?
, используйте Удалить API сопоставления:
curl -XDELETE http://localhost:9200/index/type
EDIT. Из elasticsearch 2.0 это будет невозможно. См. Сопоставление изменений. Вам нужно будет установить "Удалить по запросу" и запустить запрос, который удалит ваши документы, но отображение все равно будет существовать. Поэтому лучше всего переиндексировать ваши документы в другом индексе без старого типа.
Но поскольку @mguillemin и @javanna сказали, что при удалении индекса все привязки к этому индексу также удаляются:
curl -XDELETE http://localhost:9200/index
Вы можете использовать _delete_by_query
путь для удаления типа.
POST index-name/type-name/_delete_by_query
{
"query": {
"match": {
"message": "some message"
}
}
}
Для дальнейшего чтения см. Документы
В последней версии поиска эластичности они больше не поддерживают удаление типов документов. Он упоминается в документации
Больше невозможно удалить отображение для типа. Вместо этого вы должен удалить индекс и воссоздать его с новыми сопоставлениями.
Вам даже не нужно указывать тело запроса. Просто
curl -XPOST http://<host>:9200/<index>/<type>/_delete_by_query