2017-09-14 3 views
0

내가 (이름과 성으로) 사람에 대한 인덱스 검색을 시도 제외하여 검색이 부분은 아주 간단합니다 :elasticsearch 5 :

는 또한
GET /my_index/persons/search 
{ 
    "query": { 
     "query_string": { 
      "query" : "john doe" 
     } 
    } 
} 

난을 가진 사람을 제외 할 특정 이드, 나는 filter 절을 시도했지만 제대로 쿼리를 구성 할 수 없으므로 도와 줄 수 있습니까?


편집

나는

{ 
    "query":{ 
     "multi_match":{ 
      "query":"anne mirande", 
      "fields":[ 
       "first_name", 
       "last_name" 
      ], 
      "type":"cross_fields", 
      "operator":"and" 
     } 
    }, 
    "filter":{ 
     "not":{ 
      "term":{ 
       "id":1 
      } 
     } 
    } 
} 

을 시도했다 그러나이 수 발생 : [필터]에서 START_OBJECT에 대한 알 수없는 키를 누릅니다.

+0

'filter'는'query bool' 내에 있어야합니다. 다음을 참조하십시오 : https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html –

답변

1

다음과 같이 사용할 수 있습니다.

GET /my_index/persons/search 
{ 
    "query": { 
    "bool": { 
     "must": [ 
     {"term": { 
      "name": { 
      "value": "john doe" 
      } 
     }} 
     ], 
     "must_not": [ 
     {"term": { 
      "_id": { 
      "value": "1" 
      } 
     }} 
     ] 
    } 
    } 
} 
+0

완벽한, 그게 나를 위해 일한, 내가 elastic5를 사용하고 있기 때문에 내가 문제가 있었던 것 같아 – Senorihl

+0

더 새로운 것, 더 낫다! –