2017-10-10 5 views
-3

나는 탄력성 검색 인덱스가 있습니다. 여기에서 열은 국가 및 전문 지식입니다. 나는 나라 기록이다 (미국 또는 영국) 및 전문은 (식물학 또는 물리학)탄성 검색 쿼리 : (A 또는 B)와 (C 또는 D)

가 어떻게이 쿼리를 작성 할을 얻을 수있는 쿼리를 작성해야합니까? 당신 만이 할 bool 쿼리를 사용할 수있는 반면에

{ 
    "query": { 
     "bool": { 
      "must": [ 
       { 
        "terms": { 
         "Country": [ 
         "USA", 
         "UK" 
         ] 
        } 
       }, 
       { 
        "terms": { 
         "Expertise": [ 
         "Botany", 
         "Physics" 
         ] 
        } 
       } 
      ] 
     } 
    } 
} 

을 :

답변

1

아래처럼이 일을 boolterms 쿼리를 사용할 수 있습니다

{ 
    "query": { 
     "bool": { 
      "must": [ 
       { 
        "bool": { 
         "should": [ 
          { 
           "term": { 
           "Country": { 
            "value": "USA" 
           } 
           } 
          }, 
          { 
           "term": { 
           "Country": { 
            "value": "UK" 
           } 
           } 
          } 
         ] 
        } 
       }, 
       { 
        "bool": { 
         "should": [ 
          { 
           "term": { 
           "Expertise": { 
            "value": "Botany" 
           } 
           } 
          }, 
          { 
           "term": { 
           "Expertise": { 
            "value": "Physics" 
           } 
           } 
          } 
         ] 
        } 
       } 
      ] 
     } 
    } 
} 

을하지만, documentation를 찾아보세요 다른 질문을하기 전에. 어쩌면 짧은 검색어를 찾을 수도 있습니다.

+0

감사합니다. 두 번째 옵션이 효과가있었습니다. –