Ale*_*lex 7 amazon-web-services elasticsearch aws-elasticsearch
我正在尝试将模板上传到我的AWS托管ElasticSearch.
ElasticSearch以500错误响应,抱怨我需要设置script.painless.regex.enabled为true.我知道你不能elasticsearch.yml直接编辑文件,但是无论如何都要允许在AWS托管ES上的无痛脚本中支持正则表达式?
目前还没有办法在AWS ES集群下使用正则表达式。
您可以尝试使用 StringTokenizer,如下例:
示例值:
doc['your_str_field.keyword'].value = '{"xxx":"123213","yyy":"123213","zzz":"123213"}'
Run Code Online (Sandbox Code Playgroud)
无痛脚本:
{
"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();"
}
}
Run Code Online (Sandbox Code Playgroud)
另外,我需要增加 max_compilations_rate
PUT /_cluster/settings
{
"transient": {
"script.max_compilations_rate": "500/1m"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
719 次 |
| 最近记录: |