我有一个脚本指标,我正在尝试获取分析字符串的值,该字符串返回一个字符串数组。我正在尝试为分析的字段获取正确的值,该字段返回按字母顺序排序并按空格分隔的字符串。与未分析的字符串一起运行良好。带有分析字段的脚本化指标:"aggs": { 'influencers': { 'scripted_metric': { "init_script": "_agg['transactions'] = []", 'map_script': """ result = [:]; result['field_analyzed1'] = doc['field_analyzed1'].values; result['field_analyzed2'] = doc['field_analyzed2'].value; result['field_not_analyzed'] = doc['field_not_analyzed'].value; _agg.transactions.add(result); """ } } }我正在尝试获取以下字符串Francisco Claudio Urbano,但 is 的结果和isfield_analyzed1的['claudio', 'francisco', 'urbano']结果,只有数组的第一个字符串。使用该字段的结果是正确的。field_analyzed2claudiofield_not_analyzedFrancisco Claudio Urbano我认为对于较新的版本,我可以做这样的事情或使用无痛脚本:result['field_text'] = doc['field_text.keyword'].value;但我需要 ES 1.7body = { 'script_fields': { 'test': { 'script': 'doc["analyzed_field"].value', 'lang': 'groovy' } }}
1 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
在 1.7 中,您可以创建一个未分析的子字段
"properties" : {
"name" : {
"type" : "string",
"fields" : {
"raw": {
"type" : "string",
"index" : "not_analyzed"
}
}
}
这类似于新版本中的 type 关键字
添加回答
举报
0/150
提交
取消