2017-04-25 2 views
0

에서 목록에서 존재하지 않는 얼마나 많은 문서 확인이HWO 쿼리 <br> 에서 찾을 수없는 문서의 번호를 검색 쿼리 될 것입니다 무엇 elasticsearch

$params['body']['query']["bool"]["filter"]["terms"]["feild"] = (list); 

내가 원하는 내 쿼리입니다 목록에서 찾을 수없는 문서를 검색합니다.

내 목록에 (A, B, C)가있는 경우. C가 인덱싱되지 않았다는 것을 알아야합니다. 나는 색인에있는 나머지 문서들 중 A, B, D, E, F 또는 모든 것이 필요 없다.

다음과 같이 당신은 쿼리의 부정을 달성하기 위해 must_not 절을 사용할 수 있습니다

답변

0

:

GET my-index/_search 
{ 
    "query": { 
    "constant_score": { 
     "filter": { 
     "bool": { 
      "must_not": { 
      "terms": { 
       "field": [ 
       "value-1", "value-2" 
       ] 
      } 
      } 
     } 
     } 
    } 
    } 
} 
+0

이 –

+0

내가 목록이 A, B, C를 가지고 있고 C가 발견되지 않는 경우에만, 나는 C와 1000 개의 문서를 얻어야한다. –

0

must_not with aggregation 당신이 기대되지 않은 필드 값에 대한 자세한 내용 줄 것이다 : -

{ 
    "_source":false, 
    "query": { 
     "bool": { 
      "must_not": [ 
       {"term": {"aFieldName": "aFieldValue"}} 
      ] 
     } 
    }, 
    "aggregations": { 
     "byLocation": { 
      "terms": { 
       "field": "aFieldName" 
      } 
     } 
    } 
}