FlexibleSearchQuery进入范围。

2020-08-31 09:10发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好朋友

根据文档,当我们使用FlexibleSearch检索产品时,SAP Hybris建议使用以下方法将数据放入范围内以提高性能。

字符串查询=" SELECT {" + UnitModel.PK +"} FROM {" + UnitModel._TYPECODE +"} ORDER BY" + UnitModel._TYPECODE;
  最终的FlexibleSearchQuery fQuery =新的FlexibleSearchQuery(query);
  fQuery.setCount(range);
  fQuery.setNeedTotal(true);
 
  int start = 0;
  最终int范围= 3;
  总计
 
  做
  {
         fQuery.setStart(start);
         最终SearchResult  searchResult = flexibleSearchService.search(fQuery);
         总计= searchResult.getTotalCount();
         开始+ =范围;
  }
  while(开始<总计); 

我希望每次迭代有3个项目。 但是我一直都在从Product Table获取全部记录。 我在这里想念任何东西吗?

https://help.sap.com/doc/c74a78df6c654be3a432b9c1ab173d42/6.7 .0.0/zh-CN/index.html

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好朋友

根据文档,当我们使用FlexibleSearch检索产品时,SAP Hybris建议使用以下方法将数据放入范围内以提高性能。

字符串查询=" SELECT {" + UnitModel.PK +"} FROM {" + UnitModel._TYPECODE +"} ORDER BY" + UnitModel._TYPECODE;
  最终的FlexibleSearchQuery fQuery =新的FlexibleSearchQuery(query);
  fQuery.setCount(range);
  fQuery.setNeedTotal(true);
 
  int start = 0;
  最终int范围= 3;
  总计
 
  做
  {
         fQuery.setStart(start);
         最终SearchResult  searchResult = flexibleSearchService.search(fQuery);
         总计= searchResult.getTotalCount();
         开始+ =范围;
  }
  while(开始<总计); 

我希望每次迭代有3个项目。 但是我一直都在从Product Table获取全部记录。 我在这里想念任何东西吗?

https://help.sap.com/doc/c74a78df6c654be3a432b9c1ab173d42/6.7 .0.0/zh-CN/index.html

谢谢

付费偷看设置
发送
2条回答
木偶小白
1楼 · 2020-08-31 09:52.采纳回答

Vinay Kumar Samudrala -很久以后很高兴见到你。

您需要考虑两件事 您发布的代码:

  1. 您编写fQuery.setCount(range);后,您的代码将无法编译; 在声明范围之前。
  2. 可能您正在查找searchResult.getTotalCount(),它将始终为您提供查询返回的所有记录的计数,这就是为什么您将条件设为while(start
Tong__Ming
2楼-- · 2020-08-31 09:38

不客气,Vinay。

一周热门 更多>