elasticsearch BMT가 계속되고 있는 가운데, 나는 서포트하는 역할로 바뀌었다. 서포트라고 하지만, 내가 결과보고 다시 분석해보고 물어보는... 여튼, 그러고 있다! 그 와중에 흥미로운 결과가 하나 있었는데, 바로 원하는 필드만 조회하게 되었을 때 elasticsearch 성능이 더 좋아졌다는 것이다. 그런데 여기서 나는 원하는 필드만 조회하는 법을 몰라서 찾아보게 되었다.
바로 이 옵션이 원하는 필드만 조회해주는 역할을 한다. 즉, RDBMS의 select
같은 역할이라 볼 수 있겠다. 사용방법은 간단하다. 보통 우리가 사용하는 search
방법에 _source
옵션을 추가해주면 된다.
이때 필드명은 obj.*
이런식으로 패턴화할 수도 있다.
GET /_search
{
"_source": ["{필드명1}","{필드명2}"],
"query": {
"match": {
"user.id": "hi"
}
}
}
그리고 원하지 않는 필드와 원하는 필드가 각각 있다면, 아래처럼 includes
에 원하는 필드명을 넣고 exclude
에는 원하지 않는 필드명을 넣어주면 된다.