2017-07-04 3 views
0

Ich möchte alle Kind mit Wert "Umsatz" bei einigen Feld von Eltern mit einigen eindeutigen ID. das ist meine Frage:ElasticSearch holen Kind von Eltern

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 
} 

ich einen Childs von verschiedenen Eltern aber nicht nur das, was ich schreibe. Warum? Und wie repariere ich es?

Antwort

1

Sie müssen must Zustand anstelle von 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 
} 

sonst wird es wie "Mutter Spiel" oder "query_string Match" anstelle von "Mutter match" und "query_string match"

+0

ja funktioniert, es ist arbeite für mich. Danke –