2017-07-04 115 views
0

我想從父項的某個字段獲取具有某個唯一標識的所有子項的值爲「sales」的值。 這是我的查詢:ElasticSearch從父項中獲取子項

GET /_search 
{ 
"query": { 
    "bool": { 
     "should": [{ 
      "query_string": { 
       "query": "sales" 
      } 
     }, 
     { 
      "has_parent": { 
       "type": "role_permission_parent", 
       "query": { 
        "match": { 
          "resourceURI": "urn:module:com.qad.collaboration" 
        } 
       } 
      } 
     }] 
    } 
}, 
"size": 100 
} 

我會從不同的家長孩子的而不是隻從我的類型。爲什麼?我如何解決它?

回答

1

您必須使用must條件,而不是should

GET /_search 
{ 
    "query": { 
     "bool": { 
      "must": [ 
       { 
        "query_string": { 
         "query": "sales" 
        } 
       }, 
       { 
        "has_parent": { 
         "type": "role_permission_parent", 
         "query": { 
          "match": { 
           "resourceURI": "urn:module:com.qad.collaboration" 
          } 
         } 
        } 
       } 
      ] 
     } 
    }, 
    "size": 100 
} 

否則,它的工作原理是「父母匹配」或「QUERY_STRING匹配」,而不是「父母匹配」和「QUERY_STRING匹配」

+0

是的,它的爲我工作。謝謝 –

相關問題