elasticsearch
2017-08-21 12 views 0 likes 
0

複数のクエリを使用する必要がありますが、次のエラーが発生します。 キー "重複"が重複しています。 結果はファンタとコーラでなければなりません。 このデータはどのように入手できますか? (名= 'コカ・コーラ' とコード= 'コークス生成物からES複数のクエリが必要です

SELECT *: 1:コカコーラ 2:ファンタ

MySQLでは
{ 
    "query": { 
     "bool": { 
     "must": [ 
      { 
       "match": { 
        "productName":"Coca Cola" 
       } 
       }, 
       { 
       "match": { 
        "productCode": "Coke" 
       } 
       }, 
       { 
       "match": { 
        "created_date": "2018-06-10" 
       } 
       } 
     ], 
     "must": [ 
      { 
       "match": { 
        "productName":"Fanta" 
       } 
       }, 
       { 
       "match": { 
        "productCode": "Coke" 
       } 
       }, 
       { 
       "match": { 
        "created_date": "2018-06-05" 
       } 
       } 
     ] 
     } 
    } 
    } 

その結果を次のようでなければなりません」...)または(名前= 'ファンタ' ...)

答えて

2

あなたはshould(すなわちORでmust(すなわちAND)の両方をラップする必要があります)、このような:

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "bool": { 
      "must": [ 
       { 
       "match": { 
        "productName": "Coca Cola" 
       } 
       }, 
       { 
       "match": { 
        "productCode": "Coke" 
       } 
       }, 
       { 
       "match": { 
        "created_date": "2018-06-10" 
       } 
       } 
      ] 
      } 
     }, 
     { 
      "bool": { 
      "must": [ 
       { 
       "match": { 
        "productName": "Fanta" 
       } 
       }, 
       { 
       "match": { 
        "productCode": "Coke" 
       } 
       }, 
       { 
       "match": { 
        "created_date": "2018-06-05" 
       } 
       } 
      ] 
      } 
     } 
     ] 
    } 
    } 
} 
+0

ありがとうございます:)あなたはスーパーマンです:)) – ercvs

+0

喜んで助けて! – Val

関連する問題