前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kibana使用:Search Bar

Kibana使用:Search Bar

原创
作者头像
HLee
修改2021-01-21 17:46:28
1.2K0
修改2021-01-21 17:46:28
举报
文章被收录于专栏:房东的猫房东的猫

简介

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

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

数据类型

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

  • Time series (时间系列):这类数据的每个事件都是和时间的某一个时刻相关的。一般来说增长很快。通常会有一个和时间相关的字段。
{
    "tweet": "Wow Elasticsearch 7.0 seems awesome!",
     "hashtags": ["elasticsearch", "kibana"]
    "timestamp": September 1st 2017, 07:15:40.035
}
  • Static data (静态数据):这类数据通常增长很慢,通常没有相应的时间标志。
{
   "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 倍的分数,这样使得这些文档尽量在排名的前面。

OriginCountry:(DE^3 O US)

模糊查询:

DestCountry:C*

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

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

DestWeather:Sunn?

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

DestCountry:/.S/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • 数据类型
      • Index pattern
      • Kibana搜索
        • KQL
          • Lucene
          相关产品与服务
          Elasticsearch Service
          腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档