2017-03-02 7 views
0

"ride"및 "audit_log"라는 두 개의 색인이 있습니다. 여기서 audit_log는 ride of child입니다. 일부 조건에 따라 audit_log 테이블 (인덱스)에서 타임 스탬프 평균을 가져와야합니다. 조건은 부모와 자녀 모두에게 적용됩니다. 쿼리, 나는 실행하기 위해 노력하고 있습니다 :Elasticsearch : 부모와 자식 모두 조건이있는 집계

컬의 -XGET 'http://localhost:9200/rides/audit_log/_search은'ride_status은 부모 테이블 타고에서 여기

{ 
    "size":0, 
    "query":{ 
     "has_parent":{ 
     "parent_type":"ride", 
     "query":{ 
      "match":{ 
       "ride_status":"Ride Completed" 
      } 
     } 
     }, 
     "match":{ 
     "status":"Driver Confirmed" 
     } 
    }, 
    "aggs":{ 
     "avg_time":{ 
     "avg":{ 
      "field":"createdAt" 
     } 
     } 
    } 
} 

을 -d.

, 나는이 API를 히트에서 오류를 다음과 점점 오전 :

[has_parent] 잘못된 쿼리, 예상 [END_OBJECT]하지만 [FIELD_NAME] ","라인 발견 ": 1,"COL " (107)

답변

0

term 대신 match의를 사용해보십시오. 내가 제안을 시도했지만 작동하지 않았다

{ 
    "size":0, 
    "query":{ 
     "has_parent":{ 
     "parent_type":"ride", 
     "score" : true, <---- add this 
     "query":{ 
      "term": { 
      "ride_status":"Ride Completed" 
      } 
     } 
     }, 
     "term": { 
      "status":"Driver Confirmed" 
     } 
    }, 
    "aggs":{ 
     "avg_time":{ 
     "avg":{ 
      "field":"createdAt" 
     } 
     } 
    } 
} 
+0

는. 나는 has_parent하지 않는 것으로 나타났습니다 주 색인에 대한 질의 작업. –