我要搜索所有等于的嵌套文档,我的弹性搜索映射如下所示
{
"attribute_search_index": {
"mappings": {
"attribute_search": {
"dynamic": "true",
"properties": {
"attrId": {
"type": "text"
},
"attrName": {
"type": "text"
},
"attributeChildData": {
"type": "nested",
"properties": {
"attributeChildId": {
"type": "integer"
},
"attributeChildTxt": {
"type": "text"
},
"attributeChild_responsible": {
"type": "nested",
"properties": {
"responsible_id": {
"type": "integer"
},
"responsible_name": {
"type": "text"
}
}
},
"attrId": {
"type": "integer"
}
}
},
"attributePrj": {
"type": "nested",
"properties": {
"attributePrj_Id": {
"type": "integer"
},
"attributePrj_name": {
"type": "keyword"
}
}
}
}
}
}
}
}
这是我的布尔查询
{
"query":{
"bool" : {
"must" : [
{
"nested" : {
"query" : {
"bool" : {
"must" : [
{
"match" : {
"attributePrj.name" : {
"attributePrj_name" : "PROJ 121",
"operator" : "OR",
"prefix_length" : 0,
"max_expansions" : 50,
"fuzzy_transpositions" : true,
"lenient" : false,
"zero_terms_query" : "NONE",
"auto_generate_synonyms_phrase_query" : true,
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
},
"path" : "attributePrj",
"ignore_unmapped" : false,
"score_mode" : "avg",
"boost" : 1.0
}
},
{
"nested" : {
"query" : {
"bool" : {
"must" : [
{
"match" : {
"attributeChildData.attributeChild_responsible.responsible_id" : {
"query" : "100",
"operator" : "OR",
"prefix_length" : 0,
"max_expansions" : 50,
"fuzzy_transpositions" : true,
"lenient" : false,
"zero_terms_query" : "NONE",
"auto_generate_synonyms_phrase_query" : true,
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
},
"path" : "attributeChildData",
"ignore_unmapped" : false,
"score_mode" : "avg",
"boost" : 1.0
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
}
}
这给了我一个嵌套的attributeChild_responsible.responsible_id是否等于“ 100”的信息,我正在查看该文档下所有嵌套的对象是否必须具有100,然后仅返回结果