在Java中使用Lucene搜索日期范围?

前端之家收集整理的这篇文章主要介绍了在Java中使用Lucene搜索日期范围?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Java中使用Lucene可以搜索日期范围吗?如何根据日期字段和日期范围构建Lucene搜索查询?例如:

>指定日期之间
>在指定日期之前
>指定日期后
>最近24小时内
>在过去一周内
>在过去一个月内.

[编辑]我使用的是Lucene 2.4.1,我的系统真的是遗产,真的很差的测试,所以我想,如果可能,不必升级

解决方法

Lucene(在版本2.9之前)只存储String值,它只支持该数据的词典范围查询.因此,如果要在其上存储日期/时间数据和执行范围查询,则需要显式格式化数据/时间值,以使其按字面顺序排列.

例如,将您的日期/时间存储为2009-10-29T15:34:00,然后进行范围查询,如[2009-10-29T15:00:00 TO 2009-10-29T16:00:00]

如其他地方已经指出的那样,Lucene 2.9终于引入了对非字符串数据的范围查询支持,使这一切都变得更加容易.

猜你在找的Java相关文章