2016-10-17 3 views
0

에 매개 변수로 날짜를 전달하는 방법을 우리는 우리는이처럼하려고는 ElasticSearch

.. 인라인 PARAMS의 일부가 아닌 날짜로 정수 값을 전달 areable.

"script": { 
        "inline": "if ((doc['enddate'].date >= param1) && (doc['enddate'].date <= param2)) { return param2 }", 
        "params": { 
        "param1": new DateTime(), 
        "param2": new DateTime(doc['enddate'].date).plusDays(+1) 
        } 
       } 
+0

매개 변수는 외부 값이어야하며 문서 필드를 참조 할 수 없습니다. 'enddate'를 자신과 비교하려고합니까? 당신이 달성하려고 노력하고 있는지 확실하지 않습니다 ... – Val

+0

미안 해요 질문을 편집 :) 그것은 DateTime.now와 비교해야합니다. – TBA

답변

0

인라인 매개 변수에서 문서 필드를 참조 할 수 없으며 사용자 매개 변수가 필요하지 않습니다.

  "script": { 
       "inline": "def now = new DateTime(); def tomorrow = now.plusDays(1); if ((doc['enddate'].date >= now) && (doc['enddate'].date <= tomorrow)) { return tomorrow }" 
      } 

참고 조건이 충족되지 여전히 경우에 무언가를 반환해야 : 나는 그것을 다음과 같은 방법을 수행하는 것이 좋습니다.