10. Modifying Your Data - Indexing/Replacing Documents :: 2015/04/21 18:49

Elasticsearch data manipulation 실시간 (near realtime) 검색 기능을 제공한다. 기본적으로 실제로 data  index/update/delete 시점에서 검색 결과로 나타나기까지 1 delay (refresh interval) 발생한다. 이것은 transaction 완료된 이후에 즉시 data 나타나는 SQL 같은 다른 platform 가장 중요한 차이점이다.


[Indexing/Replacing Documents]

앞에서 어떻게 single document index하는지 살펴보았다. 그때 command 다시 호출해 보자.


curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
  "name": "John Doe"
}'


위의 command customer index external type으로 ID 1 document index 것이다. 만약 다른 document (혹은 같은) 위의 command 다시 실행하면, elasticsecarh 기존에 존재하는 ID 1 새로운 document replace 것이다.


curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
  "name": "Jane Doe"
}'


위의 command ID 1 document 내용 중에서 이름을 "John Doe"에서 "Jane Doe" 변경한다. 다른 한편, 만약 다른 ID 사용한다면, 새로운 document index되고, 기존에 입력한 document 변경되지 않고 남아 있게 된다.


curl -XPUT 'localhost:9200/customer/external/2?pretty' -d '
{
  "name": "Jane Doe"
}'


위의 결과로 ID 2 가지는 새로운 document index된다.


Index , ID part optional이다. ID 지정되지 않으면 elasticsearch random ID 생성하고 그것을 이용해 document를 index한다. Elasticsearch 생성한 ID (이전에 명시적으로 지정한 ID 마찬가지로) index API call 부분으로 리턴된다.


명시적인 ID 지정하지 않고 document index하기 위한 예제는 다음과 같다.


curl -XPOST 'localhost:9200/customer/external?pretty' -d '
{
  "name": "Jane Doe"
}'


명시적으로 ID 지정하지 않을 때는 PUT 대신 POST 사용한다.

2015/04/21 18:49 2015/04/21 18:49
Trackback Address :: http://www.yongbi.net/trackback/694
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret
< PREV |  1  |  ...  108  |  109  |  110  |  111  |  112  |  113  |  114  |  115  |  116  |  ...  566  |  NEXT >