本帖最后由 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中的数据。
2、创建缓存数据集
我们单击数据源的名称并不能预览数据源中的内容,这是因为 ElasticSearch 数据源比较特殊,我们只能在数据集中连接该数据源,并仅能通过创建自定义表的方法使用原生查询读取数据库中数据。
在数据集中使用ElasticSearch 数据源时并不能拖拽数据表到关联关系,仅能创建自定义表,并且也仅支持使用原生查询。 原生查询需遵循原生语法,查询数据的查询效率会更高,并且可以使用原生语法中的命令语句实现更丰富的查询结果。
在使用过程中需要注意: 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
|