✔ 검색 API
✅ 검색(_search API)
- 엘라스틱서치에서 검색은 인덱스 또는 타입 단위로 수행
- _search API 사용
- 질의는 q 매개변수의 값으로 입력
- hamlet이라는 검색어로 검색
질의 |
질의문 |
books 인덱스, book 타입에서 hamlet 검색 |
localhost:9200/books/book/_search?q=hamlet |
books 인덱스에서 hamlet 검색 |
localhost:9200/books/_search?q=hamlet |
전체 인덱스에서 time 검색 |
localhost:9200/_search?q=time |
✔ Query String 검색 옵션 정리
✅ 특정 필드 검색
질의 |
질의문 |
전체 인덱스의 title 필드에서 time 검색 |
/_search?q=time:time |
✅ 다중 조건 검색
질의 |
질의문 |
title 필드에서 time과 machine을 검색 |
/_search?q=title:time AND machine |
✅ explain
질의 |
질의문 |
explain 매개변수를 사용하여 검색 처리 결과 표시 |
/_search?q=title:time&explain |
explain 키워드의 경우 점수(scoring)계산에서 사용된 상세 값 출력하는 용도로 사용이 된다.
✅ 요약된 전체 hit 수와 점수(score) 등의 메타 정보 출력
질의 |
질의문 |
_source 매개변수를 false로 설정해 도큐먼트 내용을 배제하고 검색 |
/_search?q=title:time&_source=false |
_source를 false를 설정하는 경우 검색 결과의 개수(count)만 알고싶은 경우에 사용이 된다.
✅ 출력 결과에 표시할 필드 지정
질의 |
질의문 |
title, author, category 필드만 출력 |
/_search?q=title:time&_source=title, author, category |
_source에 표시할 필드를 위와 같이 ‘,’로 구분하여 입력하면 해당 필드만 출력할 수 있다.
✅ 검색 결과의 출력 순서 정렬
질의 |
질의문 |
pages 필드를 기준으로 오름차순 정렬 |
/_search?q=author:jules&sort=pages |
pages 필드를 기준으로 내림차순 정렬 |
/_search?q=author:jules&sort=pages:desc |
- sort=필드명 형식 사용 (디폴트 : _score 값 기준)
- 내림차순 정렬: sort=필드명:desc (디폴트 : asc(오름차순))
🔥 퀴즈를 통한 쿼리 작성
위에서 배운 내용을 kibana devtool을 사용하여 직접 쿼리를 작성해보자.
참고 자료
댓글남기기