-
17. 검색 템플릿(Search Templates)BackEnd/elasticsearch 2021. 10. 12. 17:10반응형
검색 템플릿(Search Templates)는 엘라스틱서치 1.1 버전에 추가된 오래된 기능입니다. 복잡한 검색 로직을 템플릿으로 저장하고 활용할 수 있기 때문에 매우 유용합니다. 검색 템플릿의 필드명과 파라미터를 사용해서 쿼리를 전송하고 템플릿에 제공한 파라미터로 실제 검색이 이루어 집니다. 검색 템플릿을 사용하면 클라이언트 코드가 단순해지며, 검색의 요구사항이 변경될 때 클라이언트 프로그램을 수정배포 하는 것이 아니라 엘라스틱서치에 저장되어 있는 템플릿의 기존 쿼리를 수정하고 새 쿼리를 작성할 수 있다는 이점이 있습니다. 검색 템플릿은 Mustache라는 템플릿 엔진을 사용해서 표현됩니다.
# movieNm 필드에 매칭된 데이터를 검색하는 쿼리가 수행되는 템플릿 생성 POST _scripts/movie_search_example_template { "script": { "lang": "mustache", "source": { "query": { "match": { "movieNm": "{{ movie_name }}" } } } } } # 템플릿 확인 GET _scripts/movie_search_example_template # movie_template_test 인덱스에서 템플릿으로 검색 POST movie_template_test/_doc/_search/template { "id": "movie_search_example_template", "params": { "movie_name": "titanic" } }
반응형'BackEnd > elasticsearch' 카테고리의 다른 글
19. 스냅숏(Snapshot)을 이용한 백업과 복구 (0) 2021.10.12 18. 별칭(Alias) (0) 2021.10.12 16. 파이프라인 집계(Pipeline Aggregations) (0) 2021.10.09 15. 버킷 집계(Bucket Aggregations) (0) 2021.10.09 14. 메트릭 집계(Metrics Aggregations) (0) 2021.10.09