2.X/1. Getting Started

1-03-08. Deleting a Document

drscg 2017. 10. 1. 11:24

The syntax for deleting a document follows the same pattern that we have seen already, but uses the DELETE method :

document를 삭제하는 문법은 우리가 이미 보았던 것과 동일한 형태를 가진다. 하지만, DELETE method를 사용한다.

DELETE /website/blog/123

If the document is found, Elasticsearch will return an HTTP response code of 200 OK and a response body like the following. Note that the _version number has been incremented:

document가 발견되면, Elasticsearch는 HTTP response code 200 OK 와, 아래와 같은 response body를 반환할 것이다. _version 이 증가했다는 점을 눈 여겨 보자.

{
  "found" :    true,
  "_index" :   "website",
  "_type" :    "blog",
  "_id" :      "123",
  "_version" : 3
}

If the document isn’t found, we get a 404 Not Found response code and a body like this:

document가 발견되지 않으면, 404 Not Found respond code를 얻고, body는 아래와 같다.

{
  "found" :    false,
  "_index" :   "website",
  "_type" :    "blog",
  "_id" :      "123",
  "_version" : 4
}

Even though the document doesn’t exist (found is false), the _version number has still been incremented. This is part of the internal bookkeeping, which ensures that changes are applied in the correct order across multiple nodes.

비록 document가 존재하지 않더라도(found 가 false), _version 은 여전히 증가한다. 이것은 변화가, 다수의 node에 올바른 순서로 적용되도록 보장하는, 내부적인 부가기록의 일부이다.

Note

As already mentioned in Updating a Whole Document, deleting a document doesn’t immediately remove the document from disk; it just marks it as deleted. Elasticsearch will clean up deleted documents in the background as you continue to index more data.

Updating a Whole Document에서 이미 언급했듯이, document를 삭제한다고 해서, 디스크에서 document가 즉시 제거되는 것은 아니다. 단순히 지워진 것으로 표시하는 것이다. Elasticsearch는 더 많은 데이터를 색인 하는 것을 계속하면, background에서 지워진 document를 정리한다.