본문 바로가기
DataBase

[Elastic Search] Syntax 사용

by HANdeveloper 2024. 1. 4.
{{^파라미터명}} {{/파라미터명}}

- 해당 파라미터값이 없다면 {{^파라미터명}} {{/파라미터명}} 사이에 있는 값을 default로 설정하겠다는 것

 

e.g ) 파라미터 값에 end 가 없다면 default 로 now를 넣으라는 뜻!

PUT _script/my_search_template
{
	"script" : {
    	"lang" : "mustache",
        "source" : {
        	"query" : {
            	"range" : {
                	"@timestamp" : {
                    	"gte" : "{{start}}",
                        "lte" : "{{end}}{{^end}}now{{/end}}"
  ...

 

 

{{#파라미터명}} {{/파라미터명}}

- {{^파라미터명}} {{/파라미터명}} 사이에 있는 값을 option로 설정하겠다는 것

- option 값은 넣지 않아도 에러 발생 안함 (선택사항)

 

e.g ) filter 부분의 값이 option 으로 적용되어 해당 부분이 request 에 없더라도 오류 발생되지 않음

        {{#search_date}} 부터  {{/search_date}} 까지가 옵션인 것! (, 포함)

PUT _scripts/my_search_template
{
	"script" : {
    	"lang" : "mustache",
        "source" :
        """
        { "query" : {
        	 "bool" : {
            	"must" : [ {
                	"match" : {
                    	"content" : "{{search_term}}" }}]
                    {{#search_date}}
                    ,
                "filter" : [ {
                	"range" : {
                    	"@timestamp" : {
                        	"gte" : "{{start}}",
                            "lte" : "{{end}}" }}}]
                    {{/search_date}}
                } } }
        """
    } }

 

댓글