Удаление поврежденных данных из elasticsearch после случайной индексации нескольких документов с неправильными полями ⇐ Python
Удаление поврежденных данных из elasticsearch после случайной индексации нескольких документов с неправильными полями
Я написал код Python, который использует Curl, получает time_download и некоторую другую информацию о конкретных веб-сайтах и помещает их в индекс в Elasticsearch. Объем данных, с которыми я имею дело, огромен. Приложение вылетело из строя и вместо time_download поместило весь HTML-код веб-сайта в мой Elasticsearch. Теперь у меня есть такие поля, как «» и множество других ненужных полей. Мне также не нужны документы, содержащие такую информацию в неправильных полях. Как я могу удалить документы или поля?
Причина, по которой я хочу их удалить, заключается в том, что я добавил новое поле, но возникла ошибка: {'error': {'root_cause': [{'type': 'mapper_parsing_Exception', 'reason': 'не удалось проанализировать'}], 'type': 'mapper_parsing_Exception', 'reason': 'не удалось выполнить анализ parse', 'caused_by': {'type': 'illegal_argument_Exception', 'reason': 'Предел общего количества полей [1000] превышен при добавлении новых полей [1]'}}, 'status': 400
Кроме того, у меня очень некрасивый вид в моем управлении индексами.
Раньше меня устраивали эти поля, потому что никто, кроме меня, не мог видеть их в управлении индексами, и я спешил, поэтому проигнорировал проблему. Теперь я столкнулся с такой проблемой, что мне действительно нужно их удалить и оставить только те поля, которые важны для меня.
GET _sql?format=txt { "query": "DESC [my_index_name]"
Я попробовал приведенный выше код и получил множество полей, как показано ниже:
некоторые названия полей на этой фотографии
Даже код JavaScript одного веб-сайта включен в мои ПОЛЯ. Разве это не смешно?
Я написал код Python, который использует Curl, получает time_download и некоторую другую информацию о конкретных веб-сайтах и помещает их в индекс в Elasticsearch. Объем данных, с которыми я имею дело, огромен. Приложение вылетело из строя и вместо time_download поместило весь HTML-код веб-сайта в мой Elasticsearch. Теперь у меня есть такие поля, как «» и множество других ненужных полей. Мне также не нужны документы, содержащие такую информацию в неправильных полях. Как я могу удалить документы или поля?
Причина, по которой я хочу их удалить, заключается в том, что я добавил новое поле, но возникла ошибка: {'error': {'root_cause': [{'type': 'mapper_parsing_Exception', 'reason': 'не удалось проанализировать'}], 'type': 'mapper_parsing_Exception', 'reason': 'не удалось выполнить анализ parse', 'caused_by': {'type': 'illegal_argument_Exception', 'reason': 'Предел общего количества полей [1000] превышен при добавлении новых полей [1]'}}, 'status': 400
Кроме того, у меня очень некрасивый вид в моем управлении индексами.
Раньше меня устраивали эти поля, потому что никто, кроме меня, не мог видеть их в управлении индексами, и я спешил, поэтому проигнорировал проблему. Теперь я столкнулся с такой проблемой, что мне действительно нужно их удалить и оставить только те поля, которые важны для меня.
GET _sql?format=txt { "query": "DESC [my_index_name]"
Я попробовал приведенный выше код и получил множество полей, как показано ниже:
некоторые названия полей на этой фотографии
Даже код JavaScript одного веб-сайта включен в мои ПОЛЯ. Разве это не смешно?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение