CasparGuo 发表于 2022-5-30 16:48:11

【Wyn6.0新功能】数据建模能力增强(5)数据集支持ElasticSearch原生查询

本帖最后由 CasparGuo 于 2022-5-31 10:24 编辑



系列介绍:
【Wyn6.0新功能】数据建模能力增强(1)模型支持分析表达式字段
【Wyn6.0新功能】数据建模能力增强(2)抽取模型支持增量更新
【Wyn6.0新功能】数据建模能力增强(3)直连模型支持ClickHouse
【Wyn6.0新功能】数据建模能力增强(4)直连模型支持Snowflake
【Wyn6.0新功能】数据建模能力增强(5)数据集支持ElasticSearch原生查询


Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。在6.0中针对Elasticsearch进行了加强,现在在Wyn中支持使用原生查询来操作Elasticsearch。下面我们就来看一下怎样使用原生查询来查询Elasticsearch中的数据。
1、连接Elasticsearch数据源




2、创建缓存数据集




我们单击数据源的名称并不能预览数据源中的内容,这是因为 ElasticSearch 数据源比较特殊,我们只能在数据集中连接该数据源,并仅能通过创建自定义表的方法使用原生查询读取数据库中数据。

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




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










在使用过程中需要注意: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


ZenosZeng 发表于 2022-6-2 15:23:17

了解更多Wyn V6.0新特性,可以查看新特性预览公开课视频哦,

https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=147771&extra=page%3D1%26filter%3Dtypeid%26typeid%3D273
页: [1]
查看完整版本: 【Wyn6.0新功能】数据建模能力增强(5)数据集支持ElasticSearch原生查询