您的位置:首页 > 其它

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

2014-03-14 16:34 471 查看
一、今天为了满足系统对时间范围查询的需求,开始研究怎么用 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 具体干了什么事?查看源码,以后博客分析源码!待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: