Enabling regex support on AWS Managed ElasticSearch in painless scripts Enabling regex support on AWS Managed ElasticSearch in painless scripts elasticsearch elasticsearch

Enabling regex support on AWS Managed ElasticSearch in painless scripts


There is no way yet to use regex under AWS ES cluster.

You can try to use StringTokenizer, as following example:

example value:

doc['your_str_field.keyword'].value = '{"xxx":"123213","yyy":"123213","zzz":"123213"}'

Painless script:

{"script": {"lang": "painless","inline": "String xxx = doc['your_str_field.keyword'].value; xxx = xxx.replace('{','').replace('}','').replace('\"','').replace(' ','');StringTokenizer tokenizer = new StringTokenizer(xxx, ',');tokenizer.nextToken();tokenizer.nextToken();StringTokenizer tokenizer_v = new StringTokenizer(tokenizer.nextToken(),':');tokenizer_v.nextToken();return tokenizer_v.nextToken();"}}

also, I needed to increase max_compilations_rate

PUT /_cluster/settings{"transient": {  "script.max_compilations_rate": "500/1m"}}