#python #python-3.x #elasticsearch
#python #python-3.x #elasticsearch
Вопрос:
Я начинающий программист на python. Теперь я интегрировал версию Elasticseach 6.8.1 с python, и теперь мне нужно удалить данные из elasticsearch с помощью pyhton language. Для этого я написал следующий запрос
query = {'bool':{'must':[
{'term':{'db_id':25}},
{'terms': {'type': ['user_likes','likes']}}
]}}
es_client.delete_by_query(index="user_likes", doc_type='doc', body=query)
Когда я запускаю этот запрос, я получаю следующую ошибку
{RequestError}RequestError(400, ‘parsing_exception’, ‘Неизвестный ключ для START_OBJECT в [bool].’)
Я не нашел в примере, как я могу использовать must с несколькими условиями для delete_by_query. как я могу выполнить этот запрос для delete_by_query?
Комментарии:
1. эта ошибка не связана с какой-либо ошибкой в python, в вашем запросе есть ошибка. пожалуйста, поделитесь любым документом 1 из вашего
elasticsearch index
amp; каков ваш ожидаемый результат.2. @SowjanyaRBhat Я обновил запрос, мне просто нужно удалить данные, используя этот запрос, который я пишу
Ответ №1:
Попробуйте изменить то, что вы объявили относительно query
этого :
query = {'query':
{'bool':
{'must':[
{'term':{'db_id':int(model['id'])}},
{'terms': {'type': ['user_likes','likes']}}
]}}
}
То, что я сделал, это просто добавил query
параметр — внутри которого bool
должен появиться, но вы напрямую сохранили bool
, я предполагаю, что это будет проблемой.
Если он все еще не работает, предоставьте более подробную информацию о ваших данных и ожидаемых результатах