找回密码
 立即注册

QQ登录

只需一步,快速开始

KearneyKang 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2022-12-7 14:24  /   查看:1404  /  回复:0
本帖最后由 ZenosZeng 于 2022-12-15 20:57 编辑

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
在6.0中针对Elasticsearch可以通过缓存数据集进行连接,在6.1中支持提供对数据源的原生查询,这样在对数据实时性要求比较高的场景下就可以使用原生查询在仪表板和报表中使用。

下面我们就来看一下怎样使用原生查询来查询Elasticsearch中的数据。

1、连接Elasticsearch数据源
image.png983020629.png

image.png404725036.png
2、给仪表板和报表创建 原生查询数据集
image.png845252075.png

image.png411915587.png
3、输入查询语句
在数据集中使用ElasticSearch 数据源时并不能拖拽数据表到关联关系,仅能创建自定义表,并且也仅支持使用原生查询。
原生查询需遵循原生语法,查询数据的查询效率会更高,并且可以使用原生语法中的命令语句实现更丰富的查询结果。
有关 Elastic Search 命令的更多介绍请您参考官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html
image.png948276367.png

image.png651922912.png
4、另外,查询语句中支持使用参数,如下图所示使用了一个用户信息上下文的参数。
image.png34472044.png

image.png449892577.png
5、最终数据绑定报表预览
image.png748330688.png
在使用过程中需要注意:
1、参数使用字符串类型的用户信息上下文时,须保证参数值不能为空。因为当参数值为空时,查询时将返回所有的数据。存在一定的安全风险,请您留意。
2、使用 ElasticSearch 原生查询时,支持字符串类型、整型和布尔类型,其他类型(包括日期型和日期时间)都会转为字符串或显示为不支持。
  那么如何在ElasticSearch 原生查询中使用日期时间类型字段呢?
  在这种情况下,用户需要添加一个计算字段,然后指定类型为日期时间,从而将已转换为字符串的列重新转换为日期时间列。
3、在 Wyn 中不支持以下aggregations
      a. Pipeline     aggregations 均不支持;
      b. Bucket     aggregations 中不支持以下几类:
              Categorize text
              Children
              Composite
              Geo-distance
              Geohash grid
              Geotile grid
              Global
              Nested
              Parent
              Reverse nested
      c.Metricsaggregations 中不支持:
              Geo-bounds
              Geo-centroid
              Geo-Line

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部