Elasticsearch根据日期(年-月-日 时:分:秒)进行range(时间范围筛选)

本文详细介绍如何在Elasticsearch中设置索引mapping,特别是针对日期类型字段的配置,以实现精确的时间筛选查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不知不觉要写第二篇文章了
接着第一篇文章,es实现like复合查询,里面案例有用到通过时间(年-月-日 时:分:秒)进行筛选的,
在这里说下如果通过时间筛选需要对index进行mapping设置滴,不然不行的
首先,创建一个索引index

PUT  /index

好勒,创建好索引了,接下来开始对索引进行mapping设置,相当于定义数据库表字段,不过不用担心设置了多余的mapping字段,没关系的,索引下面的type会去自动匹配mapping对应的设置的, 如果没匹配到es会默认根据值去分配的
接下来老习惯,直接上案例mapping
操作:

PUT /index/_mapping

mapping时提交的body内容如下

{
    "index":{
        "mappings":{
            "_default_":{
                "_source":{
                    "enabled":true
                },
                "properties":{
                    "title":{
                        "type":"string",
                        "index":"analyzed",
                        "analyzer":"ik_max_word"
                    },
                    "id":{
                        "type":"integer"
                    },
                    "img":{
                        "type":"string",
                        "index":"no"
                    },
                    "start_time":{
                        "type":"date",
                        "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis",
                        "ignore_malformed":true
                    },
                    "end_time":{
                        "type":"date",
                        "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis",
                        "ignore_malformed":true
                    }
                }
            }
        }
    }
}

在6.7版本中

PUT /index/_mapping/type_name

mapping

{
    "properties":{
        "sn":{
            "type":"keyword"
        },
        "ip":{
            "type":"keyword"
        },
        "create_at":{
            "type":"date",
            "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis",
            "ignore_malformed":true
        }
    }
}

解说环节
算了,应该不需要解说了,不知道上面如何解说了。。。ㄟ( ▔, ▔ )ㄏ完了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值