我想找到一个应用程序的一些数据,它允许使用Apache Lucene语法进行搜索查询。我按日期搜索数据,并希望找到具体日期的数据。我该怎么做呢?查询:
date: [2010-10-4 TO 2010-10-4]
或
date: 2010-10-4
不起作用。
t9aqgxwy1#
**简短的回答:**Lucene中没有日期查询语法的“标准”。您需要找出您的应用支持的格式。**详细的回答:**在过去的几年里,Lucene对数字数据进行了特殊的编码。最有可能的是,索引中的日期以时间戳格式保存。这意味着查询解析器需要接受查询,咀嚼它,然后吐出时间戳。根据原始时间戳进行查询并不太实际--至少对人类来说是这样--而且您的查询解析器可能有一些它能够理解的预定义格式。
例如,Solr有一个pre-defined set of supported date/time formats,并且能够将其解析为时间戳。不要忘记Lucene只是一个库,每个应用程序(包括Solr和您正在使用的应用程序)都是按照自己喜欢的方式使用它的。
2izufjch2#
我找到了解决方案。要按具体日期搜索,请查询:
date: [2010-10-4T00:00:00 TO 2010-10-4T23:59:59]
被校正了
f0ofjuux3#
我把日期范围没有连字符和它为我工作。
date: [20210901 TO 20211101 ]
请参阅文档范围搜索
3条答案
按热度按时间t9aqgxwy1#
**简短的回答:**Lucene中没有日期查询语法的“标准”。您需要找出您的应用支持的格式。
**详细的回答:**在过去的几年里,Lucene对数字数据进行了特殊的编码。最有可能的是,索引中的日期以时间戳格式保存。这意味着查询解析器需要接受查询,咀嚼它,然后吐出时间戳。根据原始时间戳进行查询并不太实际--至少对人类来说是这样--而且您的查询解析器可能有一些它能够理解的预定义格式。
例如,Solr有一个pre-defined set of supported date/time formats,并且能够将其解析为时间戳。
不要忘记Lucene只是一个库,每个应用程序(包括Solr和您正在使用的应用程序)都是按照自己喜欢的方式使用它的。
2izufjch2#
我找到了解决方案。要按具体日期搜索,请查询:
被校正了
f0ofjuux3#
我把日期范围没有连字符和它为我工作。
请参阅文档范围搜索