Elastic Search의 데이터를 조회해야할 일이 생겨서 간단히 정리해봅니다.
저는 제일 먼저 제가 확인해야하는 ES서버에 어떤 index들이 있는지 확인해보고 싶었습니다.
간단하게 주소창에 https://{ES 주소}/_cat/indices?v
로 조회해보면 index를 확인할 수 있습니다.
health 체크도
/_cat/health?v
로 확인 할 수 있다.
저는 이제 제가 찾는 index안의 data를 확인하고 싶었습니다.
바로 보려면 주소창에 조회해서 확인할 수도 있습니다만, postman을 사용해서 좀 더 보기쉽게 조회해보겠습니다.
문법은 위에서 확인한 https://{ES 주소}/{index 명}/_search
를 GET으로 호출합니다.
만약 암호화 되어있는 경우 Authorization에서 인증 정보를 작성해줍니다.
데이터 조회시에 원하는 특정 데이터만 조회하고 싶을 수 있습니다.
기본적으로 Json 쿼리 문법을 사용합니다.
(참고: https://www.elastic.co/guide/kr/elasticsearch/reference/current/gs-query-lang.html)
{
"query": {
"match_all": {}
}
}
이 쿼리는 기본적으로 모든 문서를 조회합니다.
여기서 가져오고 싶은 데이터 수는 size
를 통해 정의합니다.
{
"query": {
"match_all": {}
},
"size": 20 //20개의 데이터 가져오기
}
이때 보통 from
도 같이 사용하는데, from
은 검색을 시작할 값, size
는 from에서부터 몇 개를 검색할지를 지정합니다.
{
"query": {
"match_all": {}
},
"from": 20, //20번째 색인에서부터
"size": 20 //20개의 데이터 가져오기
}
_source에 특정 값을 포함한 데이터만 가져오고 싶을 수도 있습니다. includes
를 사용해 포함값을, exclude
를 사용해 제외할 값을 작성할 수 있습니다.
{
"query": {
"match_all": {}
},
"_source": {
"includes": ["name"]
},
"size": 20
}
Postman에서 조회할 때는, Body에 raw - JSON을 선택하여 위 내용을 작성해주면 됩니다.