是否有可能构造一个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",
}
],
}
..将返回对鞋子红色的搜索。...
{
"product": "shoe 1",
"available" [
{
"size" : "small",
"color" : "red",
},
],
}
{
"product": "shoe 2",
"available" [
{
"size" : "medium",
"color" : "red",
}
],
}
答案 0 :(得分:0)
您可以尝试以下方法吗?
GET /my_index/products/_search
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "available",
"score_mode": "max",
"query": {
"bool": {
"must": [
{
"match": {
"available.color": "red"
}
}
]
}
}
}
}
]
}
}
}