1

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

查询:

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

或者

date: 2010-10-4

不起作用。

4

3 回答 3

1

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

长答案:在过去几年左右的时间里,Lucene 对数字数据进行了特殊编码。最有可能的是,索引中的日期以时间戳格式保存。这意味着查询解析器需要接收查询,咀嚼它并吐出时间戳。查询原始时间戳不是很实用——至少对人类来说是这样——你的查询解析器可能有一些它能够理解的预定义格式。

例如,Solr 具有一组预定义的受支持的日期/时间格式,并且能够将它们解析为时间戳。

不要忘记 Lucene 只是一个库,每个应用程序(包括 Solr 和您正在使用的应用程序)都旨在以他们喜欢的方式使用它。

于 2012-10-24T21:54:57.577 回答
1

我找到了解决方案。要按具体一天进行搜索,请查询:

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

是正确的

于 2012-10-24T21:55:11.000 回答
0

我把日期范围不带连字符,它对我有用。

date: [20210901 TO 20211101 ]

请参阅文档范围搜索

于 2022-01-31T12:33:59.857 回答