Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search CQ5中的QueryBuilder API-基于日期范围的查询_Search_Aem_Query Builder - Fatal编程技术网

Search CQ5中的QueryBuilder API-基于日期范围的查询

Search CQ5中的QueryBuilder API-基于日期范围的查询,search,aem,query-builder,Search,Aem,Query Builder,我需要搜索的基础上,“上个月”,“上周”,“过去3个月”,“去年”。。 我使用下面的代码 map.put("1_relativedaterange.property", "date"); map.put("1_relativedaterange.lowerBound", "-1M"); 分别放置-7d、-3M、-1y 这些适用于最后日期范围。我希望,根据这些标准,它不应该搜索日期是下个月、下周还是明年。但它也在寻找这一点,这不应该。 有人请指出我做错了什么吗 谢谢。指定lowerBound时,

我需要搜索的基础上,“上个月”,“上周”,“过去3个月”,“去年”。。 我使用下面的代码

map.put("1_relativedaterange.property", "date");
map.put("1_relativedaterange.lowerBound", "-1M");
分别放置-7d、-3M、-1y

这些适用于最后日期范围。我希望,根据这些标准,它不应该搜索日期是下个月、下周还是明年。但它也在寻找这一点,这不应该。 有人请指出我做错了什么吗


谢谢。

指定lowerBound时,生成的Xpath查询是

/jcr:root/content/geometrixx/en//element(*, cq:Page)
[
(@jcr:content/cq:lastModified > xs:dateTime('2014-05-30T02:18:50.479Z')) 
]
/jcr:root/content/geometrixx/en//element(*, cq:Page)
[
(@jcr:content/cq:lastModified > xs:dateTime('2014-05-30T02:25:21.026Z')
and @jcr:content/cq:lastModified < xs:dateTime('2014-06-29T02:25:21.026Z')) 
]
这意味着它将获取日期值大于上述值的所有项目

可以将上限值指定为0,表示现在。除了满足其他条件外,这将只返回不超过当前日期的结果

map.put("1_relativedaterange.property", "date");
map.put("1_relativedaterange.lowerBound", "-1M");
map.put("1_relativedaterange.upperBound", "0");
生成的相应XPath查询是

/jcr:root/content/geometrixx/en//element(*, cq:Page)
[
(@jcr:content/cq:lastModified > xs:dateTime('2014-05-30T02:18:50.479Z')) 
]
/jcr:root/content/geometrixx/en//element(*, cq:Page)
[
(@jcr:content/cq:lastModified > xs:dateTime('2014-05-30T02:25:21.026Z')
and @jcr:content/cq:lastModified < xs:dateTime('2014-06-29T02:25:21.026Z')) 
]
/jcr:root/content/geometricxx/en//element(*,cq:Page)
[
(@jcr:content/cq:lastModified>xs:dateTime('2014-05-30T02:25:21.026Z'))
和@jcr:content/cq:lastModified
当您需要调试查询时,querydebug控制台(
/libs/cq/search/content/querydebug.html
)可能会派上用场


有关相对日期范围谓词计算器的更多信息,请参阅。

@MOneAtt谢谢。更新了链接。