2017-07-04 28 views
0

いくつかのフィールドに値 "sales"を持つすべての子を親からいくつかの一意のIDで取得したいと考えています。 これは私のクエリです: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

かわりshouldmust条件を使用する必要があります。

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

のように動作します私のために働く。ありがとうございました –

関連する問題