2020-09-15 05:13发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们需要以excel格式从PLP页面导出搜索结果,因此文件中的产品数量应等于页面中显示的数量。 当前,搜索结果将仅包含100种产品的数据(页面中没有产品显示)。 任何建议/想法都一样。
抱歉,没有收到您的问题。
例如,Solr返回的总结果为72,而您的第一页仅显示24个结果。 然后第二页显示结果25到48,然后第三页显示49到72。
您是否希望仅在某些用户操作下先导出24个,然后再导出下一个24个,或者您是否希望一次性导出所有72个?
该策略将取决于您希望多长时间出口一次这些产品? 如果可以的话,出口中是否可以包含任何过时的数据(例如价格)?
如果您需要进一步的帮助,请通过 saurabh24grover@gmail.com 与我联系。
:正确答案,而不是根据要求的最佳答案。
这是不可取的,因为如果说,如果您有2000个类别的产品,则必须从solr中获取所有产品。 官方solr文档说,它适用于较小的结果集。
从solr获取2000结果也会减慢页面加载速度。
如果必须在每次页面加载时都这样做,我个人认为这是一个疯狂的主意。 例如,假设您的网站上有500位活跃用户,其中10%的用户通过单击类别点击了PLP,而10%的用户通过搜索点击了PLP。 这意味着达到PLP 100次。 每次您获取大量产品时,因为您的要求是获取整个数据集。
所以,现在的下一个问题是,您是否必须针对每次页面加载还是一天只执行一次或两次?
嗨,我们的想法是在PLP页面中引入一种新的下载功能。 当用户单击下载按钮时,则必须在整个搜索结果的后台下载(不影响任何其他功能)(在我们的网站中最多18k)。 因此,将结果加载到页面上将仅基于定义的分页。 请让我知道任何建议。
:假设,如果我通过单击名为"包"的类别进入PLP页面,并且您执行了相同的操作,则我们都将下载相同的文件。 本质上,我试图建立的是文件内容仅基于类别而不是用户。
我能想到的最好的方法是每当用户单击"下载"按钮时都生成一个事件。 因此,创建一个名为PLPCrazyFileDownloadController的控制器,并创建一个名为downloadFileForCategory的函数。 在此处传递类别代码。 参见下面的代码
@Controller @RequestMapping("/img/downloadexcel") 公共类PLPCrazyFileDownloadController { @RequestMapping("/img/{category}",method = RequestMethod.POST) 公共字符串downloadFileForCategory(@PathVariable最终字符串类别) { //使用与类别页面相同的查询击中solr并赋予页面 //大小为10000 } }
假设您在"手表"类别的PLP页面上。 一旦您使用category ='watches'且没有pageSize属性或 pageSize = 命中solr。 Solr将为您提供与此类别有关的所有结果。 现在,您将不得不将这些结果转换为您的ProductData并将其写入excel并将该excel发送给用户。
pageSize =
现在我是你了,我对需求团队的问题是,我们总共有多少个类别? 如果总共有200-300个类别,则在将"手表"类别文件发送给用户之前。 我会将这个文件保存在hybris/data/category-excels/文件夹中,名称为watchs.xls。 每当第二个,第三个或第四个用户想要此文件时。 我不会打solr,但给他们相同的文件。
假设您的完整solr索引每天运行一次。 一旦完整的solr索引成功,我将删除所有这些文件,然后第二天早上的第一个请求将再次生成这些文件。
因此,基本上,如果一天有1000个客户点击下载按钮,则在运行完整的solr索引时,您只会生成一次文件,接下来的999个客户将获得相同的文件。
这类似于24小时后使缓存失效。 Solr索引成功后,您必须使文件无效。
让我知道您的生活,如果有帮助,请喜欢我的回答。 这样其他人也可以受益。
yup,pageSize和offset。 如果pageSize为36且offset为0,则将获得0到36个结果。 如果pageSize为36且offset为10,则将获得10到46个结果
如果pageSize为100,偏移量为0,则将获得100个结果。
因此,pageSize控制结果数,而offset控制从何处开始计数。 我建议您准备好Solr文档并调试CategoryPageController和SearchPageController
祝你好运。
最多设置5个标签!
抱歉,没有收到您的问题。
例如,Solr返回的总结果为72,而您的第一页仅显示24个结果。 然后第二页显示结果25到48,然后第三页显示49到72。
您是否希望仅在某些用户操作下先导出24个,然后再导出下一个24个,或者
您是否希望一次性导出所有72个?
该策略将取决于您希望多长时间出口一次这些产品? 如果可以的话,出口中是否可以包含任何过时的数据(例如价格)?
如果您需要进一步的帮助,请通过 saurabh24grover@gmail.com 与我联系。
:正确答案,而不是根据要求的最佳答案。
这是不可取的,因为如果说,如果您有2000个类别的产品,则必须从solr中获取所有产品。 官方solr文档说,它适用于较小的结果集。
从solr获取2000结果也会减慢页面加载速度。
如果必须在每次页面加载时都这样做,我个人认为这是一个疯狂的主意。 例如,假设您的网站上有500位活跃用户,其中10%的用户通过单击类别点击了PLP,而10%的用户通过搜索点击了PLP。 这意味着达到PLP 100次。 每次您获取大量产品时,因为您的要求是获取整个数据集。
所以,现在的下一个问题是,您是否必须针对每次页面加载还是一天只执行一次或两次?
嗨,我们的想法是在PLP页面中引入一种新的下载功能。 当用户单击下载按钮时,则必须在整个搜索结果的后台下载(不影响任何其他功能)(在我们的网站中最多18k)。 因此,将结果加载到页面上将仅基于定义的分页。 请让我知道任何建议。
:假设,如果我通过单击名为"包"的类别进入PLP页面,并且您执行了相同的操作,则我们都将下载相同的文件。 本质上,我试图建立的是文件内容仅基于类别而不是用户。
我能想到的最好的方法是每当用户单击"下载"按钮时都生成一个事件。 因此,创建一个名为PLPCrazyFileDownloadController的控制器,并创建一个名为downloadFileForCategory的函数。 在此处传递类别代码。 参见下面的代码
假设您在"手表"类别的PLP页面上。 一旦您使用category ='watches'且没有pageSize属性或
pageSize =
命中solr。 Solr将为您提供与此类别有关的所有结果。 现在,您将不得不将这些结果转换为您的ProductData并将其写入excel并将该excel发送给用户。现在我是你了,我对需求团队的问题是,我们总共有多少个类别? 如果总共有200-300个类别,则在将"手表"类别文件发送给用户之前。 我会将这个文件保存在hybris/data/category-excels/文件夹中,名称为watchs.xls。 每当第二个,第三个或第四个用户想要此文件时。 我不会打solr,但给他们相同的文件。
假设您的完整solr索引每天运行一次。 一旦完整的solr索引成功,我将删除所有这些文件,然后第二天早上的第一个请求将再次生成这些文件。
因此,基本上,如果一天有1000个客户点击下载按钮,则在运行完整的solr索引时,您只会生成一次文件,接下来的999个客户将获得相同的文件。
这类似于24小时后使缓存失效。 Solr索引成功后,您必须使文件无效。
让我知道您的生活,如果有帮助,请喜欢我的回答。 这样其他人也可以受益。
yup,pageSize和offset。 如果pageSize为36且offset为0,则将获得0到36个结果。 如果pageSize为36且offset为10,则将获得10到46个结果
如果pageSize为100,偏移量为0,则将获得100个结果。
因此,pageSize控制结果数,而offset控制从何处开始计数。 我建议您准备好Solr文档并调试CategoryPageController和SearchPageController
祝你好运。
一周热门 更多>