2016-09-05 2 views
0

:Elasticsearch의 delete_by_query 잘못 사용 나는 문서를로드하고 삭제이 유사한 ES 방법을 사용하고

result = es.search(index='users_favourite_documents', 
        doc_type='favourite_document', 
        body={"query": {"match": {'user': user}}}) 

그리고 :

result = es.delete_by_query(index='users_favourite_documents', 
          doc_type='favourite_document', 
          body={"query": {"match": {'user': user}}}) 

먼저 하나 확인 및 반환 예상 기록을 작동합니다.

"TransportError (404 '{
는 \"\ 발견 :
번째는 예외가 발생 "거짓
\"_ 인덱스 \ "\"users_favourite_documents \ "
\"_ 형 \ ": \"favourite_document \ ",
\"_ id \ ": \"_ 쿼리 \ ", \"_ 버전 \ ": 1,
\"_ 샤드 \ ": \"총 \ ": 성공 \ ": 2, \"실패 \ ": 0}} ')"

내가 뭘 잘못하고 있니? 그런 다음 ES를 다시 시작

bin/plugin install delete-by-query 

과 :

당신의 ES_HOME 폴더에서

이 실행 : 당신이 ES 2.x를 실행하는 경우

+0

사용중인 ES 버전은 무엇입니까? – Val

+1

ES의 버전 == 2.3 – Albert

+0

내 대답보기. 행운? – Val

답변

2

, 당신은 delete-by-query plugin 먼저 설치되어 있는지 확인해야 es.delete_by_query(...) 전화가 작동합니다.

ES 1.x를 실행중인 경우 쿼리 삭제가 핵심의 일부이며 즉시 사용할 수 있습니다.

0

은 I'v는 탄성 스택의 버전 6.2.0을 사용하고 API의 사용은 다음과 같이 삭제하는 일 : 당신의 값이 INT가 ""message_value에서 제거됩니다

es.delete_by_query(index="index_name", doc_type='doc_type', body={"query":{"match": {"message": "message_value"}}}) 

합니다.

관련 문제