4

フィールドを持つ Elasticsearch にデータがあります

PUT /logs/visited_domains/1
{
"visited_domain":"microsoft.com"
}
PUT /logs/visited_domains/2
{
"visited_domain":"not-microsoft.com"
}

マッピングは次のとおりです。

{
  "properties": {
    "visited_domain": {
      "type": "string",
      "index": "not_analyzed"
    }
  }
}

ElasticSearch を実行すると

{
  "query": {
    "filtered": {
      "filter": {
        "term": {
          "visited_domain": "microsoft.com"
        }
      }
    }
  }
}

両方の結果が得られます。しかし、私は完全に一致したいだけです。クエリを変更したり、マッピングを改善したりする方法についてのアイデアはありますか?

編集:このダッシュが多くの問題を引き起こしているため notmicrosoft.com、 例の 1 つを から に変更しました。を検索すると返されませんが、返されます。not-microsoft.comnotmicrosoft.comnot-microsoft.commicrosoft.com

4

1 に答える 1

4

引用符で使用すると完全に一致する query_string を使用します

 "query": {
     "query_string": {
          "default_field": "visited_domain",
                "query": "\"microsoft.com\""
                }
  }
于 2014-08-27T18:24:31.320 に答える