03. Index APIs - 03 :: 2015/05/19 09:04

Automatic ID Generation


Index operation 특정 id 지정 없이 실행될 있다. 그런 경우에는 id 자동으로 생성된다. 게다가 op_type 자동으로 create 설정될 것이다. 여기에 예제가 있다. (PUT 대신에 POST 사용되었음에 유의하라.)


$ curl -XPOST 'http://localhost:9200/twitter/tweet/' -d '{
  
"user" : "kimchy",
  
"post_date" : "2009-11-15T14:12:12",
  
"message" : "trying out Elasticsearch"
}'


위의 index operation 대한 결과는 다음과 같다.


{
  
"_index" : "twitter",
  
"_type" : "tweet",
  
"_id" : "6a8ca01c-7896-48e9-81cc-9f70661fcb32",
  
"_version" : 1,
  
"created" : true
}


Routing


기본적으로 shard 위치 - 혹은 routing - document id 값을 hash하여 제어된다. 명시적인 제어를 위해서 router 사용된 hash function 반영된 값은 routing parameter 사용한 per-operation 기반으로 직접 사용할 있다. 예를 들면 다음과 같다.


$ curl -XPOST 'http://localhost:9200/twitter/tweet?routing=kimchy' -d '{
  
"user" : "kimchy",
  
"post_date" : "2009-11-15T14:12:12",
  
"message" : "trying out Elasticsearch"
}'


위의 예제에서 "tweet" document 제공된 "kimchy" routing parameter 기반하여 해당 shard route된다.

명시적으로 mapping 설정하면, _routing 필드를 document에서 routing value 추출하여 index operation 직접 사용할 있다. 이것은 추가적인 document parse측면에서 최소한의 비용으로 처리할 있다. 만약 _routing mapping 정의되고, required 설정되었을 경우, routing value 제공되지 않거나 추출한 값이 없으면 index operation 실패할 것이다.


Parents & Children


Child document indexing parent 명시하여 index 있다. 예를 들면 다음과 같다.


$ curl -XPUT localhost:9200/blogs/blog_tag/1122?parent=1111 -d '{
  
"tag" : "something"
}'


Child document indexing , routing value routing parameter 명시적으로 지정되지 않으면, 자동으로 parent 동일하게 설정된다.


Timestamp


Document 그와 관련된 timestamp index 있다. Document timestamp 값은 timestamp parameter 사용해서 설정할 있다. 예를 들면,


$ curl -XPUT localhost:9200/twitter/tweet/1?timestamp=2009-11-15T14%3A12%3A12 -d '{
  
"user" : "kimchy",
  
"message" : "trying out Elasticsearch"
}'


만약 timestamp값이 외부나 _source 제공되지 않으면, timestamp 자동으로 document index chain 의해 처리되는 시점의 날짜로 설정될 것이다. 많은 정보는 _timestamp mapping page (https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-timestamp-field.html) 에서 찾아볼 있다.

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

Secret
< PREV |  1  |  ...  78  |  79  |  80  |  81  |  82  |  83  |  84  |  85  |  86  |  ...  566  |  NEXT >