es php配置返回的字段,Elasticsearch中使用script_fields的同时还返回_source字段的方法...
如何保留_source字段的同时返回新增自定义字段背景Elasticsearch说它能满足一切意料之中和意料之外的需求,通常,增加一个返回字段就是意料之外又是意料之中的需求。。。通过官方文档,可以看到,通过script_fields我们可以自定义一些返回字段。但是,如果你只使用这个,会发现_source字段没了。。。 这就太不友好了,总不能通过script_fields把所有_source字段也都
如何保留_source字段的同时返回新增自定义字段
背景
Elasticsearch说它能满足一切意料之中和意料之外的需求,通常,增加一个返回字段就是意料之外又是意料之中的需求。。。
通过官方文档,可以看到,通过script_fields我们可以自定义一些返回字段。但是,如果你只使用这个,会发现_source字段没了。。。 这就太不友好了,总不能通过script_fields把所有_source字段也都手动写一遍吧?(我还真的手写了几个)
解决方案
这个时候,kibana的好处就体现出来了,偶然间我发现,在query同级可以输入_source。。。然后,通过阅读官方文档,发现这个可以限制返回某些列或者不返回某些列。很是强大~ 尝试配合script_fields一起实现要_source的同时还有新增自定义字段的需求。。。 搞定。。。
例子如下:
GET test_index/test_type/_search
{
"query": {
"match_all": {}
},
"_source": "*",
"script_fields": {
"FIELD": {
"script": {
"inline": "return 666"
}
},
"debug": {
"script":{
"inline": "return 123"
}
}
}
}
更多推荐
所有评论(0)