06. Get API - 02 :: 2015/05/19 20:30

Generated fields


Indexing refresh 사이에 refresh 일어나지 않는다면, GET document 가져오기 위해서 transaction log 접속할 것이다. 그러나 어떤 fields들은 indexing되는 시점에서만 생성된다. 만약 indexing되는 시점에서만 생성되는 field 접근하고자 한다면, (기본적으로) exception 발생할 것이다. 만약 transaction log ignore_errors_on_generated_fields=true 설정으로  접근한다면 생성된 필드들 중에서 무시할 필드 (ignore field) 선택할 있다.


Getting the _source directly


Document _source field 조회하기 위해서는 별다른 추가적인 content없이 /{index}/{type}/{id}/_source endpoint 사용하라. 예를 들면 다음과 같다.


curl -XGET 'http://localhost:9200/twitter/tweet/1/_source'


_source 일부가 리턴될 , 제어하기 위하여 마찬가지로 동일한 source filtering parameter 사용할 있다.


curl -XGET 'http://localhost:9200/twitter/tweet/1/_source?_source_include=*.id&_source_exclude=entities'


Document 존재하는지 효과적으로 테스트하기 위해서 _source endpoint 대해 HEAD variant 사용할 있다. Curl 예제는 다음과 같다.


curl -XHEAD -i 'http://localhost:9200/twitter/tweet/1/_source'


Routing


Routing 제어하기 위해서 index 사용할 경우, document 조회하기 위해서 routing value 제공해야 한다. 예를 들면 다음과 같다.


curl -XGET 'http://localhost:9200/twitter/tweet/1?routing=kimchy'


위에서 id 1 갖는 tweet 조회할 있다. 그러나 user 기반하여 route 것이다. 적합한 routing없이 조회하는 것은 document 조회되지 않는 원인이 수도 있다.


Preference


조회 요청을 어느 shard replica 수행할지는 preference 제어한다. 기본적으로 operation shard replica 사이에 랜덤으로 처리한다.


Preference 다음 값으로 설정될 있다.


_primary : operation 단지 primary shard에서 수행될 것이다.

_local : operation 가능하면 local 할당된 shard에서 수행될 것이다.


Custom (string) value


Custom value 동일한 shard 동일한 custom value 대해서 사용될 것을 보장하는데 사용될 것이다. 이것은 서로 다른 refresh 상황에서 서로 다른 shard 요청할 , "jumping value" 도울 있다. Sample value web session id user name 같은 어떤 것이 있다.


Refresh


Refresh parameter get operation 전에 적절한 shard refresh하고 검색 가능하게 하기 위해서 true 설정할 있다. True 설정하려면 system 과부하 (indexing하는데 느려짐) 야기하지 않는다는 주의와 확신하에 설정하라.


Distributed


Get operation hash하여 해당 shard id 얻는. 그리고 결과에 따라 shard id 해당하는 replica 하나로 redirect되고 결과를 리턴받는다. Replica primary shard shard id group내에 있는 replicas 의미한다. 이것은 replica 많을수록 좋은 GET scaling 가짐을 의미한다.


Versioning support


만약 현재 버전이 지정된 것과 동일하다면 Document 조회에 version parameter 사용할 있다. 이것은 항상 document 가져올 있는 version type FORCE 제외하고 모든 version type에서 동일하다.

Elasticsearch document 예전 버전은 저장하지 않음에 유의하라. 단지 현재 버전만 조회할 있다.

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

Secret
< PREV |  1  |  ...  75  |  76  |  77  |  78  |  79  |  80  |  81  |  82  |  83  |  ...  566  |  NEXT >