solr查询——根据时间范围查询

本文探讨了如何使用Solr进行时间数据的索引及范围查询,包括Solr对日期格式的支持、如何正确添加Date类型的字段到索引中,以及如何配置schema.xml文件等内容。

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

一、今天为了满足系统对时间范围查询的需求,开始研究怎么用 solr 对时间建立索引
查看 solr 示例 schema.xml ,发现里面有 date 类型,但是 date类型到底怎么用呢?于是自己就写了一个测试代码。

二、测试过程分析
第一次测试:首先指望 solr可以识别所有的时间格式的字符串,想想也是可笑的?试了一下,果然报错,你随便给它一个时间(比如:2013-04-25),运行时报不是别的时间格式,那什么样的字符串时间格式solr 可以识别呢?查了一下,发现它只是识别:UTC 格式(2013-04-25T22:22:12.000Z)

分析第一次测试:既然 solr 只能识别一种格式的时间字符串,说明 solr肯定自己内部将所有时间格式的东西转化成这个字符串存进去,既然这样,查看一下doc.addField(String,Object),该方法可以接受任意类型的东西,说明时间的话,可以试试直接用 date类型

第二次测试,直接将 Date 类型的东西放进去,结果通过,如此说明,在 schema.xml中声明的类型,都可以在客服端直接用这种类型加进去

三、范围查询语法:闭区间用“[]” ,开去接用”{}“,一开一闭就是“[},{]”

四、怎么设置 schema.xml 中的配置
首先可以参考实例配置里面的配置,明白一点只有在 fildType设置的才能在field里面使用,还可以使用动态的,以后一点一点研究

五、document add 具体干了什么事?查看源码,以后博客分析源码!待续
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值