Я 'новичок в ElasticSearch. Я пытаюсь понять, как удалить данные из ElasticSearch. Я удалил свои индексы. Однако это, похоже, не удаляет сами данные. Другие материалы, которые я видел, указывают на функцию Delete by Query. Однако я даже не уверен, что именно нужно запрашивать. Я знаю свои индексы. По сути, я хотел бы выяснить, как сделать следующее
DELETE FROM [Index]
из PostMan в Chrome. Однако мне не везет. Похоже, что независимо от того, что я делаю, данные остаются на месте. До сих пор я успешно удалял индексы, используя HTTP-глагол DELETE в PostMan и используя такой url, как:
http://localhost:9200/[indexName]
Однако это, похоже, не удаляет сами данные (ака документы).
Если вам когда-нибудь понадобится удалить все индексы, это может пригодиться:
curl -X DELETE 'http://localhost:9200/_all'
Powershell:
Invoke-WebRequest -method DELETE http://localhost:9200/_all
Вы можете удалять с помощью cURL
или визуально, используя один из многочисленных инструментов, которые энтузиасты с открытым исходным кодом создали для Elasticsearch.
Использование cURL
curl -XDELETE localhost:9200/index/type/documentID
например
curl -XDELETE localhost:9200/shop/product/1
После этого вы получите ответ о том, удалось это сделать или нет. Вы можете удалить весь индекс или типы с индексом, также вы можете удалить тип, опустив ID документа, как показано ниже.
curl -XDELETE localhost:9200/shop/product
Если вы хотите удалить индекс -
curl -XDELETE localhost:9200/shop
Если вы хотите удалить более одного индекса, который соответствует определенному соглашению об именовании (обратите внимание на *
, подстановочный знак), - {{87036}}
curl -XDELETE localhost:9200/.mar*
Визуально.
Существуют различные инструменты, как упоминалось выше, я не буду перечислять их здесь, но дам ссылку на один, который позволит вам сразу же начать работу, расположенный здесь. Этот инструмент называется KOPF, для подключения к вашему хосту нажмите на логотип в левом верхнем углу и введите URL вашего кластера.
После подключения вы сможете управлять всем кластером, удалять, оптимизировать и настраивать его.
Документацию (или полное руководство) говорит, что вы также можете использовать следующий запрос, чтобы удалить все показатели:
curl -XDELETE 'http://localhost:9200/*'
И там'ы важное примечание:
для некоторых, возможность удалить все ваши данные с одной командой-это очень пугающая перспектива. Если вы хотите исключить возможность случайного массового удаления, вы можете установить следующие "истина" в Elasticsearch свой
.в формате YML
:
`действия.destructive_requires_name: правда
Вы должны послать запрос DELETE
к
http://[your_host]:9200/[your_index_name_here]
Вы также можете удалить отдельный документ:
http://[your_host]:9200/[your_index_name_here]/[your_type_here]/[your_doc_id]
Я предлагаю вам использовать elastichammer.
После удаления вы можете посмотреть, существует ли еще индекс, используя следующий URL: http://[ваш_хост]:9200/_stats/
.
Удачи!
Удаление индекса будет удалить сопоставление и типа вместе. вы можете удалить все строки с помощью следующего запроса
curl -XDELETE 'localhost:9200/twitter/tweet/_query?pretty' -d'
{
"query": {
"match_all":
}
}'
Однако на запрос необходимо установить удалить по запросу плагин состоянию на Elasticsearch в'ы 2.0.0-бета1 удалить-по-запроса был удален от основной API
Install delete-by-query plugin
sudo bin/plugin install delete-by-query
Для более
http://blog.appliedinformaticsinc.com/how-to-delete-elasticsearch-data-records-by-dsl-query/
#list all index: curl -XGET http://localhost:9200/_cat/indices?v
#delete index: curl -XDELETE 'localhost:9200/index_name'
#delete all indices: curl -XDELETE 'localhost:9200/_all'
#delete document : curl -XDELETE 'localhost:9200/index_name/type_name/document_id'
установите платформы Kibana. Платформы Kibana имеет инструмент умнее разработчика, которая помогает легко создать запрос.
Вы можете удалить индекс в Python следующим образом
from elasticsearch import Elasticsearch
es = Elasticsearch([{'host':'localhost', 'port':'9200'}])
es.index(index='grades',doc_type='ist_samester',id=1,body={
"Name":"Programming Fundamentals",
"Grade":"A"
})
es.indices.delete(index='grades')
Для массового удаления с помощью запроса можно использовать специальные удалить путем запроса API:
$ curl -XDELETE 'http://localhost:9200/twitter/tweet/_query' -d '{
"query" : {
"term" : { "user" : "kimchy" }
}
}
Кто это интересно имеет длинную историю.
простой способ !
Endpoint :
http://localhost:9201/twitter/_delete_by_query
Payload :
{
"query": {
"match": {
"message": "some message"
}
}
}
где "Твиттер" - это индекс в упругих поиск
Реф ; https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
Есть много хороших ответов здесь, но есть и то, что я'd, как добавить:
Я хотел удалить индекс logstash и искал много по поводу различных инструментов, таких как завиток. Но нашел решение в конце.
Вход на платформы Kibana. Перейти на dev инструменты вкладки и тип удалить /logstash-*
в поле запроса и нажмите кнопку с зеленой стрелкой. если вы получаете и"признал" и: правда, что означает, что данные были очищены.
Вы можете удалить весь индекс,док-тип или идентификатор данных определенным. эти три способа:
завиток -XDELETE адресу localhost:9200/имяиндекса
завиток -XDELETE адресу localhost:9200/имяиндекса/док-тип
завиток -XDELETE адресу localhost:9200/имяиндекса/док-тип/код документа
и если вы хотите удалить индекс, затем перейдите к шаблону.
В список показателей `завиток -л от localhost:9200/_cat/показателей
9200
по умолчанию порт[изменить порт, если через некоторый другой порт]
Вы, вероятно, найдете все индексы, начинающиеся с logstash-гггг-ММ-ДД
формат(logstash-*)
Вы можете посмотреть все индексы и использовать
Для удаления индексов и данных запуска следующей команды.
Ротор -XDELETE адресу localhost:9200/аргумент index_name` (который будет удалять данные и показатели обоих).
curl -X DELETE 'https://localhost:9200/_all'
Изменение HTTP
, который на "HTTPS", если вы используете SSL-сертификат в приложение
Вы также можете удалить индекс с помощью "удалить" в 'Elasticsearch в голове' (плагин Chrome ). Добавить его в свой хром и подключите его к вашему хосту. Там вы найдете все ваши показатели, и если вы нажмете на действия кнопку ниже индекса, который вы хотите удалить, вы найдете опцию "Удалить" в выпадающем меню. нажмите на нее и введите "удалить" в всплывающем окне. Ваш индекс будет удален. 'Elasticsearch в голове' расширение представляет собой простой способ для просмотра и управления ваших показателей и данных.
Вы можете удалить индекс на консоли платформы Kibana:
Чтобы получить все индексы:
GET /_cat/indices?v
Чтобы удалить конкретный показатель:
DELETE /INDEX_NAME_TO_DELETE
Вы можете использовать расширение для Chrome Elasticsearch в голове, чтобы удалить индекс