首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改产品详细信息后,应用的boost规则不起作用

更改产品详细信息后,应用的boost规则不起作用
EN

Stack Overflow用户
提问于 2017-05-25 16:19:01
回答 2查看 979关注 0票数 0

点击backoffice中的star,创建一个产品英雄产品。它将在top.Then上显示,转到管理视图并更改该产品的详细信息,即该产品在分级版本中的标识符或摘要,然后对其进行同步。然后转到商业搜索视图,看到我们制造的英雄产品现在不是英雄产品,它在制造英雄产品之前的位置。

谁能有想法?我认为,它应该是英雄产品编辑后的任何细节,它应该看到在顶部的产品细节编辑后。

EN

回答 2

Stack Overflow用户

发布于 2017-05-25 19:15:09

我认为您需要通过在后台更新solr索引来重新索引Solr,您可以通过单击热更新索引按钮来执行此操作,您将会找到它:

代码语言:javascript
复制
Administration -> System -> facet Search -> Facet search config -> Hot Update Index
票数 0
EN

Stack Overflow用户

发布于 2017-05-25 23:52:58

让一个产品成为Hybris中的英雄产品只是给给定的产品代码增加了一个令人难以置信的高boost分数。由于这是针对SOLR的查询时操作,而不是索引时操作,因此简单地执行重新索引并不能解决这个问题。

根据经验,这听起来最接近的问题是缓存问题。由于Backoffice商务搜索和storefront共享相同的服务代码,如果您添加了缓存策略,例如EhCache,您可能会发现每次都会保留结果集,因为它跳过SOLR并从缓存中获取结果。

测试缓存场景

您应该能够通过执行以下操作来测试此理论:

  • 如果您有缓存,请尝试查找所使用的策略,并确定其驱逐策略和生存时间(即。LFU,和30分钟TTL)
  • 转到商务搜索透视图中的product
  • Temporarily a类别
  • 选择一个产品使其成为英雄这应该将其提升到页面顶部
  • 更改类别一次,然后返回到上一个类别
  • 您应该再次复制该问题,现在仔细检查店面以查看结果集是否相同<

>H115现在等待与您的缓存的生存时间一样长的时间。如果你没有TTL,而是有空闲的时间,那么你需要确保没有其他人访问缓存中的相同元素

  • 一旦项目过期,返回Backoffice
  • You将知道缓存是问题所在,如果你的英雄产品现在显示在正确的位置。您还可以在店面上再次查看您的英雄产品是否已正确销售

修复缓存的建议

您可以简单地找到使用缓存策略的Spring Bean (很可能是productSearchFacade),然后重新配置,以便Backoffice和storefront都不再使用缓存。然而,缓存显然是一个有价值的工具,所以我建议至少把它留在店面上。这将意味着在Backoffice中所做的任何更改只会在缓存元素过期后反映在storefront上,但至少您应该能够通过商业搜索透视图正确地进行商品销售。

根本原因分析的其他方法

如果缓存不是问题,我强烈建议您将日志记录级别更改为DEBUG,这两个类的日志记录级别通过Hybris管理控制台进行调试(这取决于您选择的是遗留策略还是默认策略)

LegacyFacetSearchStrategy

DefaultFacetSearchStrategy

这将为您启用原始SOLR查询的日志记录。这为您提供了能够使用http://localhost:8983上的SOLR管理控制台并测试不同场景所需的原始数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44175661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档