Elasticsearch子字符串必须包含在字段中

时间:2018-10-19 06:48:47

标签: elasticsearch lucene kibana elastic-stack

我有以下查询:

GET _search
{
  "query": {
    "bool" : {
      "must" : {
        "match" : {  "log": "a perfect phrase" }
      },
     "filter": 
        {
          "range": {
            "time": {
               "gte": "now-10m",
               "lte": "now"
            }
          }
        }
    }
  }
}

但是,有时我会得到一些文档,其中包含来自a perfect phrase的某些单词,但并不完全是a perfect phrase。我只想保留包含此确切字符串的文档,而不保留包含相当多该字符串的文档。

由于此字符串通常包含在可以包含随机数据的大得多的文档中,所以我认为我不能使用term关键字。

如何查找log字段中完全包含此字符串的所有文档?

1 个答案:

答案 0 :(得分:1)

您可以使用mysql > GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; 代替match_phrase

因此,基本上,您的搜索查询如下:

match

有关此详细信息,请参阅此link