Database/Elaticsearch

_source를 이용하여 원하는 필드만 선택하기

BUST 2018. 5. 24. 22:46

- 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