我想找到一些数据的应用程序,允许使用Apache Lucene语法进行搜索查询。我按日期搜索数据,并希望从具体日期-具体日期查找数据。我该怎么做呢?
查询:
date: [2010-10-4 TO 2010-10-4]或
date: 2010-10-4不起作用。
发布于 2012-10-25 05:54:58
简短回答:在Lucene中没有日期查询语法的“标准”。你需要找出你的应用程序支持的格式。
长答案:在过去的几年左右,Lucene保留了特殊编码的数字数据。最有可能的是,索引中的日期以时间戳格式保存。这意味着查询解析器需要接收查询,分析它并输出时间戳。对原始时间戳进行查询并不是很实用--至少对人类来说是这样--而且您的查询解析器可能有一些它能够理解的预定义格式。
例如,Solr有一个pre-defined set of supported date/time formats,能够将它们解析成时间戳。
不要忘记Lucene只是一个库,每个应用程序(包括Solr和您正在使用的应用程序)都应该以他们喜欢的方式使用它。
发布于 2012-10-25 05:55:11
我找到了解决方案。对于按一天的内容进行搜索,查询:
date: [2010-10-4T00:00:00 TO 2010-10-4T23:59:59]是正确的
发布于 2022-01-31 12:34:00
https://stackoverflow.com/questions/13057968
复制相似问题