如何在Kibana查询中搜索500个词语

时间:2019-07-07 17:15:56

标签: elasticsearch kibana

我正在运行7.2 ELK堆栈,并且试图在1个搜索字词中搜索500个可能的值,例如:

作者:Bill OR作者:Jim OR作者:Tim OR作者:Steve OR作者:Sam ...

我试图将列表剪切并粘贴到搜索栏中,但这似乎效果不佳。有人对如何搜索像这样的列表有任何建议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

如果值是术语(单个词),则可以使用terms query,否则必须将match_phrasebool query一起使用

Terms Query

  

返回在提供的字段中包含一个或多个确切术语的文档。   术语查询与术语查询相同,不同之处在于您可以搜索多个值。

"query": {
  "terms": {
    "author": [
      "bill", "jim", "tim", "steve", "sam"
    ]
  }
}

注意:使用术语查询时,我们必须小写每个作者

Match Phrasebool query

"query": {
  "bool": {
    "should": [
      {
        "match_phrase": {
          "author": "Bill"
        }
      },
      {
        "match_phrase": {
          "author": "Jim"
        }
      },
      {
        "match_phrase": {
          "author": "Tim"
        }
      },
      {
        "match_phrase": {
          "author": "Steve"
        }
      },
      {
        "match_phrase": {
          "author": "Sam"
        }
      }
    ]
  }
}