2017-09-07 3 views
0

나는 수행하려고하는 쿼리가 두 개 있습니다.내 검색어를 결합하여 여행을 Elasticsearch에 저장하려면 어떻게해야합니까?

1) Frank의 생일을 갖고 싶습니다. (사람의 이름은 문서의 ID입니다.)

2) Frank의 보스가 Bob입니다. Bob을 상사로 둔 사람들 (Frank 포함)의 수를 알아야합니다.

# 1의 경우 내가 뭐하는 거지 :

GET /myindex/_search 
{ 
    "_source": [ 
    "birthday" 
    ], 
    "query": { 
    "term": {"_id" : "Frank"} 
    } 
} 

이 # 2의 내가 뭐하는 거지는 :

GET /myindex/_count 
{ 
"query": { 
    "bool": { 
     "filter": [ 
     { 
      "term": { 
      "boss": "Bob" 
      } 
     } 
     ] 
    } 
    } 
} 

그런 다음 즉시 # 2를 얻을 수 # 1를 얻기 위해 낭비처럼 보인다. 하나의 쿼리로 쿼리를 결합하는 방법이 있습니까?

내 시도 :

GET /myindex/_search 
    { 
     "_source": [ 
     "birthday" 
     ], 
     "query": { 
     "term": {"_id" : "Frank"}, 
     "bool": { 
      "filter": [ 
      { 
       "term": { 
       "boss": "Bob" 
       } 
      } 
      ] 
     } 
     } 
    } 

이 분명히 잘못과 오류 반환 : [용어] 잘못된 쿼리, [END_OBJECT] 예상을하지만 발견 처음 발생할 필요가 없습니다까지 [FIELD_NAME]

답변

1

사용할 수있는 다른 검색어의 검색어 Multi Search Api

+2

동의! 이 두 쿼리는 완전히 독립적이므로 다중 검색은 사례에 완벽하게 맞습니다. – Val

+1

@Val 예 master! :) –

+0

예, 그들은 독립적입니다. –