ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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"
      }
    }
    반응형

    댓글

Designed by Tistory.