2017-09-14 3 views
0

を除外し、この部分は非常に簡単です:elasticsearch 5:と検索は、私が(姓と名前)人のためのインデックスを検索してみてください

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

加えて、私は有する者を除外したいです特定のid、私はfilter句で試しましたが、私は適切にクエリを形成することができませんでした、みんな助けてくれますか?


EDIT

私は

{ 
    "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

新しい、より良い! –

関連する問題