ES 서버에 어떠한 스크립트가 적용되어 있는지, 또 그 스크립트는 어떤 코드로 작성되어 있는지
확인하고 싶을 때가 있다. 그때 확인하는 명령어는 다음과 같다
GET _cluster/state/metadata?pretty&filter_path=**.stored_scripts
특정 스크립트를 등록하고 싶으면 다음과 같이 스크립트를 작성하고 적용한다
PUT _scripts/my-stored-script { "script": { "lang": "painless", "source": """ TimestampHour date = doc['@timestamp'].value; return date.getHour() """ } }
"distance_script" : { "lang" : "painless", "source" : "!doc['geo_point'].empty ? doc['geo_point'].arcDistance(params.lat, params.lon) * 0.001 : 1000" }
{ "sort": [ { "_geo_distance": { "geo_point": [ { "lat": 37.49790596008327, "lon": 127.02765558731741 } ], "unit": "km", "distance_type": "arc", "order": "asc", "validation_method": "STRICT", "ignore_unmapped": false } } ] }
"functions": [ { "filter": { "match_all": { "boost": 1.0 } }, "script_score": { "script": { "id": "distance_script", "params": { "lat": 37.49790596008327, "lon": 127.02765558731741 } } } } ]