我使用Lucene.net v3.0.3.0进行索引和搜索,我有“CreateDateTime”字段,用于存储文档创建日期时间。我想创建具有布尔值“NOT”条件的DateTime范围查询。意味着我想要检索所有那些CreateDate不应该在我给出的范围内的文档,我能够创建查询但查询没有返回任何结果。
日期是mmddyyyyhhmmss格式。
我的日期范围是2014年7月15日上午12:00:00至2015年3月31日下午11:59:59
我的最终查询如下,
-CreateDateTime:[20140715000000000 TO 20150331235959000]
我在Luke工具的帮助下尝试过同样的查询,但也没有返回任何结果。索引是正常创建的,除了使用NOT布尔条件的DateRange查询之外,我能够在其上触发所有类型的quires。 NOT在其他领域工作得很好。
任何建议?
答案 0 :(得分:0)
这是您在搜索请求中唯一的查询吗?您不能只提供否定查询,还需要一些匹配的查询。将MatchAllDocsQuery添加到BooleanQuery,结果最终应为*:* -CreateDateTime:[...]