elasticsearch Elasticsearch:使用Groovy向结果中添加临时字段
我有一个带有查询和过滤器的大型配置,运行良好 现在,我正在使用Groovy添加一个新的脚本过滤器,它也可以正常工作:
elasticsearch Elasticsearch:使用Groovy向结果中添加临时字段,
elasticsearch,groovy,
elasticsearch,Groovy,我有一个带有查询和过滤器的大型配置,运行良好 现在,我正在使用Groovy添加一个新的脚本过滤器,它也可以正常工作: doc['age'].value >= 18; 但我想知道如何使用Groovy执行以下操作: 将临时布尔字段添加到当前文档。见下面的例子 我的结果中的示例文档: { "name": "foo", "age": 20 } 但是我想在我的结果中添加脚本过滤器的结果,如下所示: { "name": "foo", "age": 20, "
doc['age'].value >= 18;
但我想知道如何使用Groovy执行以下操作:
将临时布尔字段添加到当前文档。见下面的例子
我的结果中的示例文档:
{
"name": "foo",
"age": 20
}
但是我想在我的结果中添加脚本过滤器的结果,如下所示:
{
"name": "foo",
"age": 20,
"age_ok": true
}
age\u ok
没有索引,而是由Groovy筛选器设置。好的,您不能将脚本筛选器注入搜索结果,但可以使用scriptable字段来注入脚本数据。你必须复制脚本的某些部分
从文件中:
{
"query" : {
...
},
"script_fields" : {
"test1" : {
"script" : "doc['my_field_name'].value * 2"
},
"test2" : {
"script" : {
"inline": "doc['my_field_name'].value * factor",
"params" : {
"factor" : 2.0
}
}
}
}
}
看