Elasticsearch与特定字段的完全匹配

时间:2014-09-29 19:44:09

标签: elasticsearch lucene exact-match

我试图通过特定字段过滤我的弹性搜索索引," country"确切地说。但是,我不断收到大量其他结果(其他国家/地区)并不准确。

请有人指出我正确的方向。

我已尝试过以下搜索:

GET http://127.0.0.1:9200/decision/council/_search
{
  "query": {
    "filtered": {
      "filter": {
        "term": {
          "country": "Algeria"
        }
      }
    }
  }
}

以下是一个示例文档:

{
  "_index": "decision",
  "_id": "54290140ec882c6dac5ae9dd",
  "_score": 1,
  "_type": "council",
  "_source": {
    "document": "DEV DOCUMENT"
    "id": "54290140ec882c6dac5ae9dd",
    "date_updated": 1396448966,
    "pdf_file": null,
    "reported": true,
    "date_submitted": 1375894031,
    "doc_file": null,
    "country": "Algeria"
  }
}

1 个答案:

答案 0 :(得分:1)

您可以使用match_phrase查询

POST http://127.0.0.1:9200/decision/council/_search
{
   "query" : {
      "match_phrase" : { "country" : "Algeria"}
            }
}