Apache Lucene - 按具体日期搜索

时间:2012-10-24 21:22:41

标签: lucene

我想找到一些允许使用Apache Lucene语法进行搜索查询的应用程序数据。我按日期搜索数据,并希望从具体日期 - 具体日期查找数据。我怎么能这样做?

查询:

date: [2010-10-4 TO 2010-10-4]

date: 2010-10-4

不起作用。

2 个答案:

答案 0 :(得分:1)

简答: Lucene中的日期查询语法没有“标准”。您需要找出您的应用支持的格式。

答案很长:在过去几年左右,Lucene保留了专门编码的数字数据。最有可能的是,索引中的日期保留为时间戳格式。这意味着查询解析器需要接受查询,咀嚼它并吐出时间戳。查询原始时间戳并不是很实际 - 至少对于人类而言 - 并且您的查询解析器可能具有一些能够理解的预定义格式。

例如,Solr有一个pre-defined set of supported date/time formats,可以将它们解析为时间戳。

不要忘记Lucene只是一个库,每个应用程序(包括Solr和你正在使用的应用程序)都是按照自己喜欢的方式使用它。

答案 1 :(得分:1)

我找到了解决方案。 要在一个完整的日子里搜索,请查询:

date: [2010-10-4T00:00:00 TO 2010-10-4T23:59:59]

是正确的