我想找到允许使用 Apache Lucene 语法进行搜索查询的应用程序的一些数据。我按日期搜索数据,并想从具体日期 - 具体日期中查找数据。我怎样才能做到这一点?
查询:
date: [2010-10-4 TO 2010-10-4]
或者
date: 2010-10-4
不起作用。
我想找到允许使用 Apache Lucene 语法进行搜索查询的应用程序的一些数据。我按日期搜索数据,并想从具体日期 - 具体日期中查找数据。我怎样才能做到这一点?
查询:
date: [2010-10-4 TO 2010-10-4]
或者
date: 2010-10-4
不起作用。
简短的回答: Lucene 中没有日期查询语法的“标准”。您需要找出您的应用支持的格式。
长答案:在过去几年左右的时间里,Lucene 对数字数据进行了特殊编码。最有可能的是,索引中的日期以时间戳格式保存。这意味着查询解析器需要接收查询,咀嚼它并吐出时间戳。查询原始时间戳不是很实用——至少对人类来说是这样——你的查询解析器可能有一些它能够理解的预定义格式。
例如,Solr 具有一组预定义的受支持的日期/时间格式,并且能够将它们解析为时间戳。
不要忘记 Lucene 只是一个库,每个应用程序(包括 Solr 和您正在使用的应用程序)都旨在以他们喜欢的方式使用它。
我找到了解决方案。要按具体一天进行搜索,请查询:
date: [2010-10-4T00:00:00 TO 2010-10-4T23:59:59]
是正确的