Sample Data로 ElasticSearch 시작하기 (2)

규동·2021년 4월 9일
0

ELK

목록 보기
3/3

RESTful API로 데이터 검색

드디어! RESTful API로 데이터 검색을 시도한다.

localhost:9200/<_index>/_search


q는 query를 넣는 parameter이고, pretty는 결과를 보기 좋게 만들어주는 parameter이다. 사실 postman 자체에서 pretty가 가능하기 때문에 postman에서 결과를 확인할 때에는 포함하지 않아도 괜찮다.

어쨌든, 현재 query의

DestWeather:Cloudy

는 DestWeather의 값이 Cloudy인 모든 도큐먼트들을 리턴시킨다.

그렇다면, 다양한 조건으로 검색할 수는 없을까?

Lucene Query로 데이터 검색

Lucene Query를 잘 이용하면 다양한 형태의 데이터 검색이 가능해진다!
ElasticSearch는 정보 검색 라이브러리인 Lucene 기반으로 만들어진 검색 엔진이기 때문에 이와 같은 방법이 가능한 것이다.

Lucene Query Syntax에 관한 설명은 이곳에서 파악할 수 있다.

현재 query의

OriginCityName:(Venice OR Bergamo)

는 (다들 아시겠지만) Venice 또는 Bergamo를 OriginCityName의 값으로 갖고 있는 도큐먼트들을 리턴시킨다.

다음으로, 현재 query의

FlightNum:Z*

는 FlightNum의 값이 Z로 시작하는 모든 도큐먼트들을 리턴시킨다.

그렇다면, 여러 field에 대해 검색도 가능할까?


가능하다! 현재 query의

(FlightNum:Z* AND DestCountry:US)

는 FlightNum의 값이 Z로 시작하고 DestCountry가 US인 모든 도큐먼트들을 리턴시킨다.

또한, 데이터 타입이 숫자인 field의 경우에는 범위 검색도 가능하다.

현재 query의

AvgTicketPrice:[900 TO 1000]

는 AvgTicketPrice의 값이 900이상, 1000 이하인 모든 도큐먼트들을 리턴시킨다.

0개의 댓글