使用 Discover 探索字段和数据

编辑

使用 Discover 探索字段和数据

编辑

了解如何使用 Discover

  • 选择过滤您的 Elasticsearch 数据。
  • 深入探索数据的字段和内容。
  • 以可视化形式呈现您的发现。

先决条件

将数据加载到 Discover 中

编辑

选择您要探索的数据,然后指定查看该数据的时间范围。

  1. 在导航菜单中找到Discover,或使用全局搜索字段
  2. 选择包含您要探索的数据的数据视图。

    Kibana 需要一个数据视图才能访问您的 Elasticsearch 数据。数据视图可以指向一个或多个索引、数据流索引别名。当使用许多可用的集成之一将数据添加到 Elasticsearch 时,有时会自动创建数据视图,但您也可以创建自己的数据视图。

    如果您使用的是示例数据,则会自动创建数据视图,并且可以立即使用。

    How to set the data view in Discover
  3. 如果需要,请调整时间范围,例如将其设置为最近 7 天

    范围选择基于数据视图中的默认时间字段。如果您使用的是示例数据,则此值在创建数据视图时已设置。如果您使用的是自己的数据视图,并且它没有时间字段,则范围选择不可用。

Discover 会填充您的数据,您可以查看具有不同信息的各个区域

  • 检测到的所有字段都列在专用面板中。
  • 图表允许您可视化您的数据。
  • 表格显示您的搜索结果。默认情况下,表格包含时间字段的列和摘要列,其中包含每个结果的概述。您可以修改文档表格以显示您感兴趣的字段。

稍后,您可以通过指定查询和更改时间范围来筛选图表和表格中显示的数据。

探索数据中的字段

编辑

Discover 提供旨在帮助您理解数据的实用程序

  1. 在侧边栏中,检查可用字段。拥有数百个字段是很常见的。使用该侧边栏顶部的搜索来查找字段名称中的特定术语。

    在此示例中,我们在搜索字段中输入了 ma 以查找 manufacturer 字段。

    Fields list that displays the top five search results

    您可以组合多个关键字或字符。例如,geo dest 会找到 geo.destgeo.src.dest

  2. 选择一个字段以查看其最频繁的值。

    Discover 显示前 10 个值以及用于计算这些值的记录数。

  3. 选择加号图标以将字段添加到结果表格。您也可以将它们从列表拖到表格中。

    How to add a field as a column in the table

    当您向表格添加字段时,摘要列将被替换。

    Document table with fields for manufacturer

  4. 使用 Discover 的各种显示选项,根据您的喜好安排视图,以显示您最关心的字段和数据。例如,您可以更改列的顺序和大小,将表格展开为全屏或折叠图表和字段列表。查看自定义 Discover 视图
  5. 保存您的更改,以便稍后打开相同的视图并进一步探索您的数据。

向数据视图添加字段

编辑

如果您忘记将重要值定义为单独的字段会发生什么?或者,如果您想组合两个字段并将它们视为一个字段会怎样?这就是运行时字段发挥作用的地方。您可以从 Discover 内部向数据视图添加运行时字段,然后像使用其他字段一样,使用该字段进行分析和可视化。

  1. 在侧边栏中,选择添加字段
  2. 选择新字段的类型
  3. 命名该字段。以与数据视图的其他字段命名方式相对应的方式命名它。您可以为该字段设置自定义标签和描述,使其在您的数据视图中更易于识别。
  4. 定义您希望该字段显示的值。默认情况下,如果源数据已包含具有相同名称的字段,则将从源数据检索字段值。您可以使用以下选项自定义此项

    • 设置值:定义一个脚本,该脚本将确定该字段要显示的值。有关添加字段和 Painless 脚本语言示例的更多信息,请参阅使用运行时字段探索您的数据
    • 设置格式:设置您首选的显示值格式。更改格式可能会影响值并阻止在 Discover 中突出显示。
  5. 在高级设置中,您可以调整字段的受欢迎程度,使其在字段列表中显示得更高或更低。默认情况下,Discover 会按从最常选到最少选的顺序排列常用字段。
  6. 保存您的新字段。

您现在可以在字段列表中找到它并将其添加到表格中。

在以下示例中,我们添加了 2 个字段:一个简单的“Hello world”字段,以及第二个字段,它将示例数据的 customer_first_namecustomer_last_name 字段组合并转换为一个单一的“customer”字段

Hello world 字段示例:

  • 名称hello
  • 类型Keyword
  • 设置值:已启用
  • 脚本:

    emit("Hello World!");

Customer 字段示例:

  • 名称customer
  • 类型Keyword
  • 设置值:已启用
  • 脚本:

    String str = doc['customer_first_name.keyword'].value;
    char ch1 = str.charAt(0);
    emit(doc['customer_last_name.keyword'].value + ", " + ch1);

可视化聚合字段

编辑

如果一个字段可以聚合,您可以通过从 DiscoverLens 中打开它来快速详细地可视化它。Lens 是 Kibana 中的默认可视化编辑器。

  1. 在字段列表中,查找一个可聚合的字段。例如,使用示例数据,您可以查找 day_of_week

    Top values for the day_of_week field

  2. 在弹出窗口中,单击可视化

    Kibana 会创建一个最适合此字段的 Lens 可视化。

  3. Lens 中,从 可用字段 列表中,拖放更多字段以细化可视化。在此示例中,我们将 manufacturer.keyword 字段添加到工作区,这会自动向可视化添加顶级值分解。

    Visualization that opens from Discover based on your data

  4. 如果您想将其添加到仪表板或将其保留在可视化库中以供以后使用,请保存该可视化。

对于地理点字段(地理点字段图标),如果您单击可视化,您的数据将显示在地图上。

Map containing documents

比较文档

编辑

您可以使用 Discover 来比较和比较表格中多个结果或文档的字段值。

  1. 从 Discover 中的“文档”或“结果”选项卡中选择要比较的结果。
  2. 从表格工具栏中的已选菜单中,选择比较已选。比较视图打开,并显示彼此相邻的选定结果。
  3. 比较每个字段的值。默认情况下,第一个选定的结果显示为显示其他结果差异的参考。当给定字段的值保持不变时,它将以绿色显示。当值不同时,它将以红色显示。

    您可以通过在任何其他结果的上下文菜单中选择 固定以进行比较 来更改用作参考的结果。

    Comparison view in Discover

  4. (可选)根据您的喜好自定义比较设置。例如,您可以选择不突出显示差异,以在行、单词或字符级别更精细地显示它们,甚至隐藏所有结果的值都匹配的字段。
  5. 使用退出比较模式按钮随时退出比较视图。

将结果复制为文本或 JSON

编辑

您可以快速将表格中当前显示的一个或多个结果的内容复制到剪贴板。

  1. 选择要复制的结果。
  2. 打开表格工具栏中的已选菜单,然后选择将选择复制为文本将文档复制为 JSON

内容将以选定的格式复制到剪贴板。当前未添加到表格的字段将被忽略。

深入探索单个结果或文档详细信息

编辑

深入了解单个文档以查看其字段以及发生在其之前和之后的文档。

  1. 在文档表格中,单击展开图标用于打开包含文档详细信息的弹出窗口的双箭头图标以显示文档详细信息。

    Table view with document expanded

  2. 浏览字段及其值。您可以通过多种方式筛选表格

    • 如果您找到感兴趣的字段,请将鼠标悬停在 字段 列上,以查看筛选器和其他选项。
    • 使用表格上方的搜索框筛选特定字段或值,或使用搜索字段右侧的选项按字段类型筛选。
    • 您可以通过单击左侧列来固定某些字段,即使您筛选表格,它们也会保持显示。

      您可以使用 仅限已选 开关,将详细视图中列出的字段限制为仅在 发现 表格中显式添加的字段。在 ES|QL 模式下,您还可以选择隐藏具有 null 值的字段。

  3. 要导航到可以添加书签和共享的文档视图,请选择 查看单个文档
  4. 要查看在您查看的事件之前或之后发生的文档,请选择 查看周围的文档

搜索和筛选数据

编辑

默认模式:使用 KQL 搜索和筛选

编辑

发现 的独特功能之一是能够将自由文本搜索与基于结构化数据的筛选相结合。要搜索所有字段,请在查询栏中输入一个简单的字符串。

Search field in Discover

要搜索特定字段并构建更复杂的查询,请使用 Kibana 查询语言。当您键入时,KQL 会提示您可以搜索的字段以及可以用来构建结构化查询的运算符。

例如,在电子商务示例数据中搜索国家/地区与美国匹配的文档

  1. 输入 g,然后选择 geoip.country_iso_code
  2. 选择 : 表示等于,选择 US 表示值,然后单击刷新按钮或按 Enter 键。
  3. 对于更复杂的搜索,请尝试

    geoip.country_iso_code : US and products.taxless_price >= 75

通过查询输入,您可以使用 KQL 或 Lucene 语言筛选数据。您还可以使用查询输入旁边的 添加筛选器 功能来逐个构建筛选器或将其定义为 Query DSL。

例如,从电子商务示例数据视图中排除星期几不是星期三的结果

  1. 单击查询栏旁边的 添加图标
  2. 添加筛选器 弹出窗口中,将字段设置为 day_of_week,运算符设置为 不是,值设置为 Wednesday

    Add filter dialog in Discover

  3. 单击 添加筛选器
  4. 继续添加更多筛选器进行探索。
  5. 要删除筛选器,请单击筛选器栏中其名称旁边的关闭图标 (x)。

使用 ES|QL 搜索和筛选

编辑

您可以将 发现 与 Elasticsearch 查询语言 ES|QL 一起使用。使用 ES|QL 时,您不必选择数据视图。您的查询决定了在“发现”中探索和显示的数据。

您可以从应用程序菜单栏切换到“发现”的 ES|QL 模式。

请注意,在 ES|QL 模式下,文档 选项卡被命名为 结果

使用 ES|QL 中了解有关如何使用 ES|QL 查询的更多信息。

保存您的搜索以供以后使用

编辑

保存您的搜索,以便您稍后使用它、生成 CSV 报告,或使用它来创建可视化效果、仪表板和 Canvas 工作区。保存搜索会保存查询文本、筛选器和 发现 的当前视图,包括文档表格中选择的列、排序顺序和数据视图。

  1. 在应用程序菜单栏中,单击 保存
  2. 为您的搜索指定标题和描述。
  3. 可以选择将 标签 和时间范围与搜索一起存储。
  4. 单击 保存

分享您的搜索

编辑

要与更多受众分享您的搜索和 发现 视图,请单击应用程序菜单栏中的 分享。有关共享选项的详细信息,请参阅 报告

生成警报

编辑

发现 中,您可以创建一个规则,以定期检查数据在给定时间间隔内何时高于或低于特定阈值。

  1. 确保您的数据视图、查询和筛选器获取您要发出警报的数据。
  2. 在应用程序菜单栏中,单击 警报 > 创建搜索阈值规则

    创建规则 表单预先填充了发送到 Elasticsearch 的最新查询。

  3. 配置您的查询选择连接器类型
  4. 单击 保存

有关警报功能中提供的此规则和其他规则的更多信息,请转到 警报

下一步是什么?

编辑

故障排除

编辑

本节引用了使用“发现”时遇到的常见问题和疑问。另请查看以下博客文章:了解如何解决“发现”的常见问题。

某些字段显示为空,而它们不应该为空,这是为什么?

这可能发生在几种情况下

  • 对于运行时字段和常规关键字字段,当字符串超过将数据索引到 Elasticsearch 时使用的 ignore_above 设置的值时。
  • 由于嵌套字段的结构,添加到表格作为列的叶字段将不会在其任何单元格中包含值。而是将根字段添加为列以查看其值的 JSON 表示形式。在 这篇博客文章中了解更多信息。