【发布时间】:2019-04-09 22:16:02
【问题描述】:
是否可以构造一个 ElasticSearch 搜索/查询,只返回与嵌套对象搜索条件匹配的嵌套对象,而不是所有嵌套对象?
例如...
{
"product": "shoe 1",
"available" [
{
"size" : "small",
"color" : "red",
},
{
"size" : "large",
"color" : "blue",
}
],
}
{
"product": "shoe 2",
"available" [
{
"size" : "medium",
"color" : "red",
}
{
"size" : "xtra large",
"color" : "green",
}
],
}
.. 搜索鞋子颜色 red 会返回....
{
"product": "shoe 1",
"available" [
{
"size" : "small",
"color" : "red",
},
],
}
{
"product": "shoe 2",
"available" [
{
"size" : "medium",
"color" : "red",
}
],
}
【问题讨论】:
-
这个答案应该会有所帮助:stackoverflow.com/questions/32773542/…
-
该链接中的建议不起作用。我只在“颜色”字段上进行搜索,然后返回每个文档的所有数组元素
-
发布您的查询,以便我们查看您的尝试。
-
@user2868835 您可以按原样获取查询并对其进行修改以在颜色字段上进行搜索,它将起作用。这里的关键是使用
inner_hits功能。显示您的查询,以便我们了解您是如何完成的。
标签: elasticsearch