Kibana使用:Search Bar

2021-01-21 17:46:28 浏览数 (1)

简介

在 Kibana 的搜索中,有一下三种方式进行搜索:

  • KQL (Kibana Query Language)
  • Lucene
  • DSL:这种方式适用于使用 Kibana 中的 Dev Tools

数据类型

对于Elasticsearch来说,有两类数据可以进行分析:

  • Time series (时间系列):这类数据的每个事件都是和时间的某一个时刻相关的。一般来说增长很快。通常会有一个和时间相关的字段。
代码语言:javascript复制
{
    "tweet": "Wow Elasticsearch 7.0 seems awesome!",
     "hashtags": ["elasticsearch", "kibana"]
    "timestamp": September 1st 2017, 07:15:40.035
}
  • Static data (静态数据):这类数据通常增长很慢,通常没有相应的时间标志。
代码语言:javascript复制
{
   "cuisine": "French",
   "ingredients": "Cheese, flour, butter, eggs, milk, nutmeg",
   "time_in_min": 50,
   "level": "easy"
}

Index pattern

Index pattern:它指向一个或多个 Elasticsearch 的索引,并告诉 Kibana 想对哪些索引进行操作。

在上面我们需要根据自己的索引的名称输入相应的 index pattern。它可以是指向某单个的索引,也可以通过通配符指向多个索引。如果你的 index 里含有有时间相关的字段,Kibana 会自动弹出选项让我们选择是否需要 Time Filter。如果我们选择 Time Filter 的字段,那么将会按照时间系列(Time series)的方法来处理。否则,我们可以选择不使用 Time Filter,那么我们只能对该 index 进行搜索,而不能对它进行和时间系列相关的操作。

Kibana搜索

我们可以利用 Kibana 自带的数据来做演示。我们按照如下的方式来加载数据:

我们选择 “Add data”,这样我们就把我们需要的样本数据加载到 Elasticsearch 了。

KQL

搜索词周围的引号将启动词组(phrase)搜索。 例如,消息:“Quick brown fox” 将在消息字段中搜索短语 “quick brown fox”。 没有引号,您的查询将通过消息字段配置的分析器分解为 token,并且将匹配包含这些 token 的文档,而不考虑其出现的顺序。 这意味着带有 “quick brown fox” 的文档将匹配,但是 “quick fox brown” 也将匹配。 如果要搜索短语 (phrase),请记住使用引号。搜索phrase 时,每个 token 的顺序是非常重要的。

查询解析器将不再在空白处拆分。 多个搜索词必须由显式布尔运算符分隔。 Lucene 会将搜索字词与或默认组合,这些布尔操作符为 or, and 及 not。

也可以对字段进行范围来搜索,比如:

Lucene

为了能够进行 Lucene 方式进行搜索,我们必须切换到 Lucence 方式。在这种方式下,当我们在输入框里输入字段时没有提示,不能帮我们自动完成输入。

我们可以搜索一个范围的文档:dayOfWeek:[0 TO 3],也可以写从 3 向上的任何值:dayOfWeek:[0 TO *]

按照如下的方法搜索 OriginCountry 是 US 或者是 DE 的所有文档

也可以对某个字段进行加权,比如我们可以突出 OriginCountry 为 DE 的国家。在如下的搜寻中,我们给 OriginCountry 为 DE 的文档 3 倍的分数,这样使得这些文档尽量在排名的前面。

代码语言:javascript复制
OriginCountry:(DE^3 O US)

模糊查询:

代码语言:javascript复制
DestCountry:C*

或者只有一个 edit 的模糊查询 (请注意这里的 edit 的概念,在模糊查询文章里查看):

也可以使用通配符 ?来匹配任何一个字母(请注意这个在 KQL 中是没有的):

代码语言:javascript复制
DestWeather:Sunn?

可以使用正则表达式来进行搜索。假如我们不知道我们的 OriginCountry 是 US 还是什么,我们知道后面的一个字母时 S,那么我们可以使用如下的方法来查询:

代码语言:javascript复制
DestCountry:/.S/

0 人点赞