trino关于查询elasticSearch中时间字段的问题

这篇具有很好参考价值的文章主要介绍了trino关于查询elasticSearch中时间字段的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

查看官方文档:Elasticsearch connector — Trino 395 Documentation 

trino es,java,java,elasticsearch,es

这段话的意思就是,elasticSearch支持很多时间类型的格式化方式,但是trino中es连接器只支持默认的date类型,就是不能加时间格式化

创建 yc_test_data 索引,索引中包含两个属性create_time 和 name

PUT   http://10.226.21.38:9200/yc_test_data

{
	"mappings": {
		"properties": {
			"create_time": {
				"type": "date",
				"format": "yyyy-MM-dd"
			},
			"name": {
				"type": "keyword"
			}
		}
	}
}

在索引中添加文档

POST http://10.226.21.38:9200/yc_test_data/_doc

{
  "create_time":"2022-09-15",
  "name":"a"
}

查看索引中的文档

GET   http://10.226.21.38:9200/yc_test_data/_search

{

}

response: 

{
    "took": 1,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 1,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": "yc_test_data",
                "_type": "_doc",
                "_id": "gO12QIMBCEJMLwqlLGYV",
                "_score": 1.0,
                "_source": {
                    "create_time": "2022-09-15",
                    "name": "a"
                }
            }
        ]
    }
}

用trino查询

trino es,java,java,elasticsearch,es

 注意看,带有格式化的时间字段create_time没有查询出来

如果索引yc_test_data的mapping改成这样,则用trino可以查询出来

{
	"mappings": {
		"properties": {
			"create_time": {
				"type": "date"
			},
			"name": {
				"type": "keyword"
			}
		}
	}
}

 POST http://10.226.21.38:9200/yc_test_data/_doc

{
  "create_time":"2022-09-15",
  "name":"a"
}
{
  "create_time":"2015-01-01T12:10:30Z",
  "name":"b"
}
{
  "create_time":"1663233358000",
  "name":"c"
}

 GET   http://10.226.21.38:9200/yc_test_data/_search

{
    "took": 279,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 3,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": "yc_test_data",
                "_type": "_doc",
                "_id": "ue1_QIMBCEJMLwqlZGhW",
                "_score": 1.0,
                "_source": {
                    "create_time": "2022-09-15",
                    "name": "a"
                }
            },
            {
                "_index": "yc_test_data",
                "_type": "_doc",
                "_id": "7O2AQIMBCEJMLwqlPmgp",
                "_score": 1.0,
                "_source": {
                    "create_time": "2015-01-01T12:10:30Z",
                    "name": "b"
                }
            },
            {
                "_index": "yc_test_data",
                "_type": "_doc",
                "_id": "CO2AQIMBCEJMLwqlvGkA",
                "_score": 1.0,
                "_source": {
                    "create_time": "1663233358000",
                    "name": "c"
                }
            }
        ]
    }
}

 用trino查询:

trino es,java,java,elasticsearch,es

 文章来源地址https://www.toymoban.com/news/detail-562977.html

 

到了这里,关于trino关于查询elasticSearch中时间字段的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch es查询结果只返回指定筛选字段_source

    参考:https://www.exception.site/elasticsearch/elasticsearch-query-custom-columns *** 只返回title、channel结果;下列两种语法方式都可以

    2024年02月11日
    浏览(37)
  • ElasticSearch系列 - SpringBoot整合ES:多字段查询 multi_match

    1. 什么是 ElasticSearch 的 multi_match 查询? 有时用户需要在多个字段中查询,除了使用布尔查询封装多个match查询之外,可替代的方案是使用multi_match。可以在multi_match的query子句中组织数据匹配规则,并在fields子句中指定需要搜索的字段列表。 以下是一个示例multi-match查询

    2023年04月21日
    浏览(55)
  • ElasticSearch系列 - SpringBoot整合ES:查询字段不为空的文档 exists

    1. ElasticSearch exists 查询是什么 在某些场景下,我们希望找到某个字段不为空的文档,则可以用exists搜索。字段不为空的条件有: 值存在且不是 null; 值不是空数组; 值是数组,但不是 [null] 例如,查询在字段中至少有一个非空值的文档: 这些文档都将匹配上面的查询: ①

    2024年02月06日
    浏览(55)
  • Es Java多字段分组查询

    es按照多个字段分组查询 java 代码实现:

    2024年02月12日
    浏览(37)
  • [ES]ElasticSearch中时间日期的时区探讨

            由于ES不能指定时区(也许将来会支持也说不一定),目前是时区始终是UTC。 如果存储是日期时间类型,则需考虑时区问题; 如果是字符串,除非直接比对,否则在转换为日期是会有时区问题; 如果是时间戳,即Long类型,同样需要考虑时区问题。         执行的查

    2024年02月04日
    浏览(26)
  • 如何使用ES做简单的时间条件过滤+模糊查询+精确匹配+关键字排除,查询 elasticsearch查询结果包含或排除某些字段、_source查询出需要的属性名称

    目录 一、时间条件过滤+模糊查询+精确匹配+排除 1. 查询出包含 log_geo 的数据 “wildcard”: { “message”: “log_geo” } 2. 查询某个时间段的数据 3. 条件查询与条件排除数据 4. from 表示起始的记录的ID 5. size 表示显示的记录数 6.sort排序 desc降序、asc升序  7.should查询在mysql中

    2024年01月18日
    浏览(55)
  • 当es使用script脚本查询聚合等操作遇到空字段报错问题解决方案

            在使用ES的脚本时,如果脚本中引用了不存在或者空的字段,则会导致脚本执行失败并抛出错误。这是因为ES会在脚本执行之前尝试检索引用的字段,如果该字段不存在则会抛出异常。         因此,在使用ES脚本时,需要确保所引用的字段都存在且不为空。可

    2024年02月11日
    浏览(40)
  • Java查询es数据,根据指定id检索(in查询),sql权限过滤,多字段匹配检索,数据排序

    Java集成Elasticsearch,进行索引数据查询,并进行sql权限过滤,指定id检索(in查询),多字段匹配检索,数据排序。由于权限过滤是根据sql语句判断当前用户或其部门可查询的数据,所以采用以下方法: 1.通过sql过滤出当前用户可查询的数据id集合idsList; 2.将当前用户可查询的

    2024年02月22日
    浏览(54)
  • 【ElasticSearch】关于es跨域的问题

    本文目录 一、使用es的head插件 二、其他说明 在使用es的head插件时,默认的9100,需要访问es的默认端口9200时,会出现跨域问题,此时只需要修改一下es的配置文件即可。 在 elasticsearch.yml 中添加开启跨域的配置: 说明: http.cors.enabled 是否开启跨域 http.cors.allow-origin 允许谁访问

    2024年02月11日
    浏览(30)
  • 【trino权威指南】使用trino详解:trino client安装、查询sql、DBeaver连接trino、java通过JDBC连接trino

    Trino CLI提供了一个基于终端的交互式shell。你可以通过它运行查询并与Trino服务端交互来 检查其元数据 。 下载地址:trino-cli-434-executable.jar     运行sql   连接trino时可以设置默认的catalog(某个连接实例)和schema(数据库),这样可以直接查询表。   USE默认的catalog和schema,直

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包