2017-11-20 2 views
0

내 elasticsearch 버전은 2.4,elasticsearch는 다중 값 검색을해야합니다

must 節와 함께 다중 값 검색을 사용할 때 문제가 있습니다. 아래의 elasticsearch 쿼리에서 "polo tshirt"쿼리와 country "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

반드시 ': {{}, {}}'를 사용해야합니다. 또한'_all'을 사용하지 마십시오. 검색하려는 특정 용어의 색인을 생성 한 다음 더 구체적인 결과를 반환 할 때 해당 용어를 사용할 수 있습니다. 제품 이름 및 설명이 비슷합니다. – MohamedSanaulla

+0

안녕하세요 @ 모하메드 사나 울라는 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

관련 문제