`

ES Date类型比较作为条件

阅读更多

ES如果想进行两个字段大小比较作为查询条件,需要使用script。

即 ES Scripting。

参照ES 6.4 手册

https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

 

1.ES中Date型字段不能直接用>,<,+,-进行比较和计算,会报错。

可以先把Date类型取得getMillis(),取得时间戳,然后就可以进行比较了。

使用TransportClient代码如下,param是传入的参数,可以在script中使用 

Map<String, Object> params = Maps.newHashMap();
        params.put("datesub", 5);
        QueryBuilder qb = QueryBuilders.boolQuery()
                .must(QueryBuilders.scriptQuery(
                        new Script(Script.DEFAULT_SCRIPT_TYPE, 
                                Script.DEFAULT_SCRIPT_LANG, 
                                "doc['updated_time'].value.getMillis() - doc['create_time'].value.getMillis() < params.datesub", 
                                params)));

 

2.script取得当前日期

“”new Date().getTime() “”

 

分享到:
评论

相关推荐

    Elasticsearch(ES)多条件(日期,时段,时分,mac。。)过滤实现案例(6.3版本)

    Elasticsearch(ES)多条件过滤实现案例(6.3版本), 搜索过滤,对日期进行时分秒区间判断,多条件整合优化

    springboot项目查询es中的日志内容

    在本项目中,我们主要探讨如何使用SpringBoot与Elasticsearch(ES)集成,以便查询存储在ES中的日志内容。Elasticsearch是一种强大的、分布式、实时的搜索和分析引擎,常用于处理大量数据,特别是在日志管理和分析...

    ElasticSearch综合练习题,ES为8版本,使用Kibana运行语句

    而Kibana 8.10.1作为可视化界面,使得用户能够便捷地与Elasticsearch数据交互,进行查询、分析和展示。 ### Elasticsearch 知识点 1. **分片与副本**:Elasticsearch将大索引分成多个分片,以便在分布式环境中存储...

    elasticsearch学习入门

    Elasticsearch(ES)是一种基于Lucene的分布式、RESTful搜索和分析引擎,常用于构建实时的全文检索、数据分析和信息存储系统。它的设计目标是简单、可扩展和高性能,适用于大数据环境。作为分布式搜索解决方案,ES...

    索引构建秘籍:如何定义 Elasticsearch 中的映射?

    Elasticsearch 支持多种字段类型,下面列举了一些常用类型: - **text**:用于全文本搜索,会被分词器分词处理。适合于存储和搜索较长的文本,如文章内容、评论等。 - **keyword**:用于精确匹配,不会被分词。适合...

    elastic search in action

    Elasticsearch支持多种字段类型,如字符串(String)、整型(Integer)、日期(Date)等,每种类型都有特定的应用场景。 ##### 3.3 数组与多字段(Array and Multi-Fields) - **数组(Array)**:允许在一个字段中存储多个值...

    Elasticsearch数据库下载、配置、使用案例&amp;简单的项目源码.pdf

    ### Elasticsearch 数据库下载、配置与使用案例详解 #### 概述 本文档旨在详细介绍如何利用Elasticsearch构建一套高效、可扩展的日志分析系统。该系统不仅能够收集、存储大量日志信息,还支持快速搜索与分析,以及...

    01- Elasticsearch 简单而高效的管道查询语言 - 刘晓国 武汉 2024.03.30

    ### Elasticsearch 简单而高效的管道查询语言 - ES|QL #### 一、ES|QL 概览 Elasticsearch 查询语言(ES|QL)是一种专门为Elasticsearch设计的查询语言,它提供了一种强大而直观的方式来过滤、转换和分析存储在...

    【中华石杉】Elasticsearch顶尖高手系列-高手进阶篇all

    Elasticsearch通常作为大数据搜索和分析的首选工具,在日志分析、全文检索、推荐系统等多个领域有着广泛的应用。 ### 高手进阶篇可能涵盖的核心知识点 #### 1. 集群管理与优化 - **集群监控与调优**:了解如何使用...

    数据聚合的艺术:如何在 Elasticsearch 中使用聚合?

    Elasticsearch 作为一个强大的搜索与分析引擎,在处理海量数据方面表现出色。其内置的聚合功能更是数据分析领域的重要工具之一。本篇文章将详细探讨 Elasticsearch 聚合的功能及其应用场景,并通过具体实例展示如何...

    MySQL至KingbaseES迁移最佳实践.pdf

    - **基本数据类型**: KingbaseES 支持大部分 MySQL 的基本数据类型,如 INT、VARCHAR、DATE 等。 - **特殊数据类型**: 对于 MySQL 中特有的数据类型,如 BLOB、TEXT 类型等,KingbaseES 也提供了对应的类型支持。 *...

    Laravel开发-elasticsuit

    ElasticSuit作为Laravel的Elasticsearch ORM,它提供了一种面向对象的方式来操作Elasticsearch索引和文档,使得开发者可以像操作传统数据库一样操作Elasticsearch。这包括创建索引、定义映射、插入和更新文档、执行...

    Teradata语法迁移到elk

    例如,在Teradata中可以使用DATEFORMAT来格式化日期数据,而在ELK中,我们可以通过Elasticsearch的mapping和date formatter来定义和转换日期格式。 4. 模式对象:Teradata提供了创建、操作表、列存表、索引、视图等...

    jscriptdeviationsfromes3

    这种策略可能会在某些条件下提高逻辑表达式的求值速度。 ##### 19. 项(Term): §15.10.2.5 JScript 支持 ES3 中定义的项概念,并可能允许在表达式中使用更广泛的术语。例如,JScript 可能支持使用自定义运算符或...

    ebook download

    2. **引用类型**:主要为Object,其中还包括Array, Function, Date, RegExp等内置对象。 3. **变量声明**:var, let, const关键字,它们之间的区别在于作用域和可变性。 4. **操作符**:算术、比较、逻辑、位、赋值...

    人大金仓数据库SQL手册

    - **类型转换函数**:用于数据类型的转换,如TO_CHAR、TO_DATE、TO_NUMBER等。 - **其他函数**:包括用户自定义函数、系统函数等。 #### 六、表达式 表达式是由值、变量、函数调用、操作符组成的,用于产生新的值...

    JavaScript初识及基本语法详解

    - **对象类型**:包括 `Object`、`Array`、`Function`、`Date` 和 `RegExp` 等。 #### 四、运算符 JavaScript 支持多种运算符,包括但不限于: - **算术运算符**:如 `+`、`-`、`*`、`/` 等。 - **比较运算符**...

    [应用开发及迁移][服务器编程]PLSQL-SQL过程语言.pdf

    - **日期时间类型**:DATE、TIMESTAMP等。 - **LOB类型**:用于存储大容量数据,如BLOB(二进制大型对象)、CLOB(字符大型对象)等。 - **复合类型**:如RECORD、TABLE等,用于表示复杂的数据结构。 **2. 变量声明...

Global site tag (gtag.js) - Google Analytics