AWS cloudsearch 의 최대 단점 중 하나. delete all document 기능이 없다.

새로운 도메인 만들어서 인덱싱 작업하는 것도 지긋지긋 하다.

오늘 나를 괴롭힌 것은 다름아닌 delete document.


삭제할 document 형식은 다음과 같다.


[{"type""delete""id""tt0484571"}
,{"type""delete""id""tt0484572"}...
,{"type""delete""id""tt0484573"}]
cs


난 batch 파일을 만들어 업로드 하였고, 결과는.


{
    "status""success"
    "adds"0
    "deletes"50
}
cs


오케이 정상 삭제!

하지만 삭제되어야 할 데이터는 계속해서 검색이 되고, 총 document 수도 줄지 않고... 뭔가 빼먹었겠지.

문서를 열심히 뒤져보니 cloudsearch 에서 확실하게 삭제하려면 index 를 리빌드 하라고.

오케이!


$ aws cloudsearch index-documents --domain-name ...
cs


장작 4시간에 걸쳐 다시 확인해보니 옌장, 삭제 안됐다.

저 결과에 success 는 대체 뭐냐고.


결국 찾아낸 원인은, 난 id 필드를 가지고 있었고, {"type": "delete", "id": "tt0484571"} 에 ID(key) 를 넣어야 하는 데 id 필드를 넣고 있었다.

ㅋㅋ 제길...




WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,