转至元数据结尾
转至元数据起始

1. 内容概述



如果您使用的是 MongoDB 或者 Elastic Search DSL数据源,那么创建自定义表时支持使用原生查询语句进行查询。

使用原生查询语句查询数据的查询效率会更高,并且可以使用原生语法中的命令语句实现更丰富的查询结果。


2. 操作步骤



(1)  在数据集设计器的左下角,单击“+添加自定义表”。


(2)  自定义表配置界面中,输入新加自定义表的名称,选择查询类型为“原生查询”,然后输入原生查询语句,最后单击“确定”。

例如使用MongoDB数据源时输入查询语句:


使用Elastic Search DSL数据源时输入查询语句:

有关 MongoDB 命令 的更多介绍请您参考官网:https://docs.mongodb.com/manual/reference/command/

有关 Elastic Search 命令的更多介绍请您参考官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html


(3)   查看自定义表。

创建完成后自定义表会显示在左侧列表中,您可以对其进行编辑、删除及预览,像原有数据表一样使用该表。


3. 在原生查询中使用参数


MongoDB数据源

注意

在引用参数时:

如参数是字符串类型、日期时间型或日期类型时,那么就需要用双引号引用@参数。如上图中的@Parameter1

如参数类型为整型、布尔型以及浮点型时,则需去掉双引号,直接使用@parameter1


ElasticSearchDSL数据源

在ElasticSearch 原生查询中使用参数时无限制,使用@ 符号引用参数。

但参数使用字符串类型的用户信息上下文时,须保证参数值不能为空。因为当参数值为空时,查询时将返回所有的数据。存在一定的安全风险,请您留意。

有关ElasticSearch 的更多介绍,请见ElasticSearchDSL 数据连接


注意

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




  • 无标签