- ElasticSearch Query를 사용하다보면 필요한 데이터만 가지고 오고 싶을때가 있다. 그럴 경우에는 "_source" 필드를 사용하여 데이터를 선택할수가 있다.
- 하나의 데이터가 큰 경우에는 _source를 이용하여 네트워크 비용을 줄일수가 있다.
- 참고 : https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html
- 필드를 선택을 하지 않는 경우
GET /_search
{
"_source": false,
"query" : {
"term" : { "user" : "kimchy" }
}
}
- nested 구조의 필드를 선택하는 경우
GET /_search
{
"_source": "obj.*",
"query" : {
"term" : { "user" : "kimchy" }
}
}
- exclude 기능을 사용하는 경우
GET /_search
{
"_source": {
"includes": [ "obj1.*", "obj2.*" ],
"excludes": [ "*.description" ]
},
"query" : {
"term" : { "user" : "kimchy" }
}
}
'Database > Elaticsearch' 카테고리의 다른 글
Elastic Search (0) | 2018.12.12 |
---|---|
Lucene Segment (0) | 2018.08.26 |
로그성 데이터의 날짜 기반의 index 설계 (0) | 2018.05.24 |
term aggregation 기능 사용하기 (0) | 2018.05.24 |
Elastic Search Nested Query (0) | 2018.05.22 |