2017-11-20 4 views
0

私のelasticsearchバージョンは2.4です。elasticsearchは多値検索が必要です

私はmust節付きで多値検索を使用すると問題が発生します。 以下のelasticsearchクエリでは、 "polo tshirt"というクエリと "us"という国を検索します。

しかし、これはクエリ "polo tshirt"の関連データがありません。

curl -XGET 'localhost:9200/_search?pretty' -H 'Content-Type: application/json' -d' 
{ 
    "query" : {      
     "bool" : { 
      "must" : { 
       "match" :{ 
        "common" : { 
         "_all" : { 
          "query" : "polo tshirt",            
          "minimum_should_match" : '100%' 
         } 
        } 
       }, 
       "match" : { "country" : "us"} 
      }       
     } 
    }, 
    "sort" : [ 
    {"review" :{"order" :"desc"}} 
    ]  
}' 
+0

複数の 'が必要な場合は' must:[{}、{}] 'を使用します。 '_all'の使用も避けてください。検索したい特定の用語を索引付けし、その用語をより具体的な結果を返すようにここで使用することができます。製品名と説明のように – MohamedSanaulla

+0

こんにちは@MohamedSanaullaはansweに感謝しますが、私は "_all"を使用する必要があるので、私は他の多くのプロパティを持っているので、特定の用語を使用しませんでした。 – Ganesh

答えて

1

[]で使用する必要があります。

{ 
"query": { 
    "bool": { 
     "must": [{ 
      "common": { 
       "_all": { 
        "query": "polo tshirt", 
        "minimum_should_match": "100%" 
       } 
      } 
     }, { 
      "match": { 
       "country": "us" 
      } 

     }] 
    } 
}, 
"sort": [{ 
    "review": { 
     "order": "desc" 
    } 
}] 
} 
+0

ありがとう@swap、それは私のために働いています。 – Ganesh

関連する問題