728x90
검색 템플릿은 복잡한 검색 로직을 템플릿으로 저장하고 활용할 수 있다. 검색 템플릿의 필드명과 파라미터를 사용해서 쿼리를 전송하고, 템플릿에 제공한 파라미터로 실제 검색이 이뤄진다.(클라이언트 코드가 단순해짐)
클라이언트 프로그램을 열어 요구사항이 변경될 때마다 수정 배포하는 것이 아닌 엘라스틱서치에 저장돼 있는 템플릿의 기존 쿼리를 수정하고 새 쿼리를 작성하면 된다
검색 템플릿 생성
POST _scripts/movie_search_example_template
{
"script": {
"lang": "mustache",
"source": {
"query": {
"match": {
"movieNm": "{{movie_name}}"
}
}
}
}
}
검색 템플릿 조회
POST movie_template_test/_search/template
{
"id": "movie_search_example_template",
"params": {
"movie_name": "titanic"
}
}
- 검색 템플릿은 Mustache라는 템플릿 엔진을 사용해서 표현한다.
- Get 메서드를 통해 확인할 수 있다(GET _scripts/movie_search_example_template)
- 검색을 수행하는 쪽에서는 내부의 복잡한 쿼리 구조를 몰라도 된다.
- 앞서 생성한 템플릿을 id로 지정하고 파라미터를 제공하면 된다.
728x90
'Elastic Search' 카테고리의 다른 글
| Ch06. 고급 검색 - 스냅숏을 이용한 백업과 복구 (0) | 2025.09.24 |
|---|---|
| Ch06. 고급 검색 - 별칭을 이용해 항상 최신 인덱스 유지하기 (0) | 2025.09.24 |
| Ch06. 고급 검색 - 스크립팅을 이용해 동적으로 필드 추가하기 (0) | 2025.09.24 |
| Ch06. 고급 검색 - 검색 결과 하이라이트하기 (0) | 2025.09.24 |
| Ch06. 고급 검색 - 한글 형태소 분석기 사용하기 (0) | 2025.09.24 |