Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
JSP Query.getResult().getNodes()耗时_Jsp_Iterator_Aem - Fatal编程技术网

JSP Query.getResult().getNodes()耗时

JSP Query.getResult().getNodes()耗时,jsp,iterator,aem,Jsp,Iterator,Aem,我正在运行一个返回32k个结果的查询,我正在尝试通过以下返回的迭代器对这些结果进行迭代: Iterator<Node> itr = query.getResult().getNodes(); Iterator itr=query.getResult().getNodes(); 这种方法相当耗时;但是,对于大量的结果,我的问题是“是否有更好/更快的方法来迭代这些结果?”我唯一能建议的是增加查询结果的限制。默认值为50。 迭代器具有某种延迟加载,它以下一种方式工作: 执行查询,默

我正在运行一个返回32k个结果的查询,我正在尝试通过以下返回的迭代器对这些结果进行迭代:

Iterator<Node> itr =  query.getResult().getNodes();
Iterator itr=query.getResult().getNodes();

这种方法相当耗时;但是,对于大量的结果,我的问题是“是否有更好/更快的方法来迭代这些结果?”

我唯一能建议的是增加查询结果的限制。默认值为50。 迭代器具有某种延迟加载,它以下一种方式工作:

  • 执行查询,默认限制为50
  • 在迭代器到达第50个条目后,将使用limit 100(大约)和offset 50执行查询
  • 等等

所以,如果您在执行之前将limit(
query.setLimit(someNumber)
)设置为某个较高的数值,迭代器将在第一次查询时获取更多(或全部)节点。这将提高您的性能。

只有一个setHitsPerPage()函数。我试过以100000为限制,但没有速度提升。@user3916570好的,我说的是javax.jcr.query.query,而您使用的是com.day.cq.search.query,对吗?正确,com.day.cq.search。Query@user3916570据我所知,您正在使用QueryBuilder创建查询。确定是否有可能优化它并查询它所创建的。您可以尝试自己编写查询,设置限制并测试javax.jcr.query.query是否更快。