Boolean NOT不与Lucene.net v3.0.3.0中的日期范围查询一起使用

时间:2015-03-31 16:14:25

标签: lucene lucene.net zend-search-lucene

我使用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在其他领域工作得很好。

任何建议?

1 个答案:

答案 0 :(得分:0)

这是您在搜索请求中唯一的查询吗?您不能只提供否定查询,还需要一些匹配的查询。将MatchAllDocsQuery添加到BooleanQuery,结果最终应为*:* -CreateDateTime:[...]