工程

在 Kibana 仪表板中分析 Elastic Workplace Search 的使用情况 — 第二部分

对于 Elastic Workplace Search 的 7.10 版本,我们重点介绍了一些新的分析日志功能,并带您简单了解了一些示例分析场景。在 7.11 版本中,我们引入了分析字段,为通过实用的仪表板和可视化探索查询和点击数据开辟新的可能性。

我们为分析事件日志输出设计了条理清晰的结构,旨在尽可能提高灵活性。对于期望在 Workplace Search 的使用中看到的分析类型,我们有自己的想法,但我们也希望您能够根据您认为合适的情况对指标进行切分。我们鼓励用户自主探索这些数据,但在这篇博文中,我们将提供一些具体用例和示例,说明您能够如何处理额外的数据点。

最新动态

在 7.11 版本中,我们为分析增加了许多新字段: 

  • query refinements
  • query filters
  • query hash value
  • document types (query and click)
  • query feedback events

上一篇博文中,我们向您展示了如何使用 Kibana Lens 进行一些快速可视化。此文中,我们将进一步探讨更复杂的问题,即在这些新字段之上构建出几个更复杂的可视化。

和之前一样,可以使用索引模式 .ent-search-workplace-search-analytics-ecs-ilm-logs-* 找到原始分析事件数据。我们将利用 Elasticsearch 转换索引对几个字段进行一些预聚合,实现一些更加复杂的查询。对于下面已定义的仪表板和指标,我们创建了转换(源代码 gist 可在此获得),该转换在每个查询会话级别聚合以下指标:

  • 所有查询的细化和细化次数
  • 所有使用的查询筛选和筛选的数量
  • 当前查询会话的总点击次数
  • 查询会话的开始和结束时间戳
  • 从查询会话开始到点击第一个结果的时间(以秒为单位)

在创建和使用转换时,需要做出考虑和权衡。当与 Kibana 可视化结合时,数据的脚本聚合会异常强大。其通过分配额外的计算和存储资源来创建和维护转换。在为 Workplace Search 的使用定义您想要分析的指标时,您需要知道您想要从数据中获得什么内容,并自行决定探索数据要使用的转换类型和数量。

为分析仪表板创建可视化

为了说明可以从已记录字段中提取的一些新分析和指标,我们可以创建一个 Kibana 仪表板来显示本次更新中可用的大多数新分析,包括:

  • 平均点击排名和平均倒数排名:发生点击事件的结果的平均排名,反之,则是平均倒数排名。
  • 从查询到第一次点击的平均秒数:从发出查询到用户点击结果所经过的时间。
  • 最高触发成功率:按点击数量定义,产生触发最多的查询。
  • 按文档类型统计的最高点击量:点击量最高的文档类型。
  • 按内容来源统计的最高点击量:点击量最高的文档内容来源。
  • 按内容来源统计的点击量最高的文档:根据内容来源统计的点击次数最多的文档。
  • 无点击热门查询:导致没有用户点击任何结果的最常见查询。这有助于您了解用户搜索了哪些内容却找不到相关的结果。然后您可以调整查询结果以提供帮助,或者创建其他内容来帮助弥补空白。

下面我们将会介绍如何创建以下所有内容,如果您想要直接重新创建这个仪表板,您可以下载此 gist 并将其导入 Kibana。

平均点击排名和平均倒数排名

在 Kibana 中为平均点击排名创建指标视图:

  • 使用 Lens,选择上面的常规索引模式和水平条形图类型。
  • 将可视化指标设置到 SearchMetrics.click.result.rank 字段。
  • Elastic Workplace Search 分析:平均点击排名

创建平均倒数排名的指标可视化:

  • 使用分析索引模式创建新的 Lens 指标可视化。
  • SearchMetrics.click.result.reciprocal_rank 字段上设置可视化指标。
  • Elastic Workplace Search 分析:平均倒数排名

从查询到第一次点击的平均秒数

  • 使用我们先前定义的转换来创建新的 Lens 指标可视化。
  • time_to_first_click 字段中设置可视化指标。
  • Elastic Workplace Search 分析:截至首次点击发生所用的秒数

最高触发成功率

  • 使用 Lens,选择转换索引模式和水平条形图类型。
  • query_refinement_count 字段上从 “1” 开始为 “between” 设置筛选(并将 “to” 字段留空)。
  • query_value.keyword 字段上为可视化设置字段。
  • Elastic Workplace Search 分析:最高触发成功率

按内容来源统计的最高点击量

  • 使用 Lens,选择上面的常规索引模式和水平条形图类型。
  • SearchMetrics.click.result.content_source 字段拖放到图表区域。
  • Elastic Workplace Search 分析:按内容来源统计的最高点击量

按文档类型统计的最高点击量

  • 使用 Lens,选择上面的常规索引模式和水平条形图类型。
  • SearchMetrics.click.result.document_type 字段拖放到图表区域。

按内容来源统计的点击量最高的文档

  • 使用 Lens,选择上面的常规索引模式和水平堆积条形图类型。
  • SearchMetrics.click.result.content_source 字段拖放到图表区域。
  • SearchMetrics.click.result.id 字段拖放到内容来源顶部的图表区域。

无点击热门查询

上述仪表板中针对这一项的可视化使用自定义脚本指标聚合上的 Vega 脚本,该脚本允许分析师以任意时间间隔对数据进行切分,目前这在以预定义聚合类型为基础运行的 Lens 或标准 Kibana 可视化中是不可能的。该查询使用脚本指标来聚合在没有关联点击的指定时间范围内的查询频率。然后我们可以很轻松地用图表表示前五个最热门查询的计数。如前文所述,在此使用 Vega 可视化类型的好处在于,我们还可以将 Kibana 全局时间戳范围定义为参数,以筛选结果。

Elastic Workplace Search 分析:无点击热门查询

脚本本身虽不复杂,但对于本文来说过长,因此我们创建了一个 gist 供您参考。 

其他指标和可视化

对于更复杂却相当有用的分析,我们可以创建额外的转换。或者,在 Kibana 中,我们可以对索引和对用源数据创建的转换使用 Elasticsearch SQL 来提取数据,以创建 Canvas workpad。正如我们在前文的“top queries with no clicks” (无点击热门查询)图表中看到的,您如果需要将这些手动查询添加到您的仪表板中,可以将它们转换为 Vega 脚本。

下面是一些其他值得关注的指标示例,这些指标使用了此更新带来的新字段。

每月参与量

这是一个基于点击数与查询数比例的指标。它表明搜索结果是否与用户相关,或者至少让用户觉得感兴趣。点击与查询的比率越高,我们就更有把握认为搜索用户对于搜索结果感兴趣。

此指标通过日期直方图和存储桶脚本实现,如此 gist 中所示。您可以将此查询进一步添加到 Vega 可视化中生成曲线图,按月、周或任何其他您想要的时间范围绘制参与情况。

N 天用户保留期

我们可使用新的已记录分析事件来深入了解每周(或每天或每月)使用我们的工作空间的人数。确定用户保留的基本公式是计算时间段结束时的不同用户数除以开始时的不同用户数。

我们可以创建一个聚合,让该聚合使用日期直方图和移动函数聚合来进行计算,如此 gist 所示。同样,可以使用 Vega 绘制曲线图,将其转换为可视化,以方便我们查看我们的搜索实例是如何吸引和留住用户的。

结论

Workplace Search 收集的分析数据为您和您的分析师提供了调整 Workplace Search 实例以更好地满足用户需求的洞察。这篇文章展示了许多实用用例,基本上每个分析师都能找到满足自己需求的最佳用例。希望我们为您实现目标提供到了有用的工具。

本文只是较深入地介绍了 Workplace Search 分析中添加的新内容,接下来还有更精彩的内容。同时我们希望您能进行探索、尝试,并就您想要在未来的 Workplace Search 迭代中看到的内容给我们反馈

Workplace Search 实现了在您组织的所有工作场所工具(如 Slack、GitHub、Google 云端硬盘、Salesforce 等)中进行统一搜索。而且 Workplace Search 中有大量免费提供的关键功能。注册以免费试用 Elastic Cloud 上的 Elastic Workplace Search,为您的团队带来快速、实用的跨组织搜索体验。