(ElasticSearch) 결과와 함께 반환하는 필드

검색 요청의 일부분을 차지하는 또 다른 요소는 엘라스틱 서치로 하여금 일치하는 개별 도큐먼트에서 반환할 필드 목록을 어떻게 지정하는가인데,
검색요청에 _source 구성 요소에서 이를 지정하면 된다.
요청에 _source를 지정하지 않는다면, 엘라스틱서치는 기본적으로 도큐먼트의 _source 전체를 반환하거나 저장된 _source가 없다면 일치하는 _id, _type, _index, _score와 같은 도큐먼트에 관한 메타데이터만 반환한다.


일치하는 각 그룹의 name과 date필드를 반환하는 쿼리는 다음과 같다.

GET get-together/_search
{
"query" : {
"match_all" : {}
},
"_source" : ["name", "date"]
}


_SOURCE로 반환한 필드에서 와일드 카드


필드목록을 각각 지정해서 반환하는 것 외에도 와일드 카드를 사용할 수 있다.
예를들어, "name" , "nation"필드 둘다 반환하려면 "_source" : "na*"를 지정한다.

_source["name.*", "address.*"] 와 같이 와일드 카드 문자열을 배열처럼 사용해서 다수개 와일드 카드를 지정할 수 있다.
어떤 필드를 포함할지 지정할 수 있을 뿐만아니라 반환하지 않을 필드도 제외시킬 수 있다.

예)

GET get-together/_search
{
"query" : {
"match_all" : {}
},
"_source" : {
"include" :["location.*", "date"],
"exclude" : ["location.geolocation"]
}
}

댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬