"FacetSearchException: no bean named 'myBean' is defined" 在 BackOffice 中访问 CS

"FacetSearchException: no bean named 'myBean' is defined" accessing CS in BackOffice

登录后尝试访问 Hybris 后台 (https://localhost:9002/backoffice) 中的客户支持部分时,我 运行 出现以下异常:

de.hybris.platform.solrfacetsearch.search.FacetSearchException: No bean named 'myBean' is defined

... 原因:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'myBean' is defined

这个 bean 没有出现在我的项目中的任何地方。我的一位同事建议它可以在 Solr 特定数据库表之一中引用,但无法提供进一步的解释。

BO 的管理部分工作正常,此错误特定于客户支持部分。

我尝试了对 Solr 相关扩展(solrfacetsearchbackoffice、solrserver、solrfacetsearch、solrfacetsearchhmc)的系统更新,运行 完整的 SOLR 索引,并清除了缓存,但没有帮助。

我能否澄清一下 solr 索引在数据库级别的工作原理,以及导致此错误的可能原因是什么?

(Hybris 版本:6.4.0.0)

好吧,我想通了。有两个明显的问题:

  1. "No bean named 'myBean' is defined":bean 是一个被索引类型引用的提供者。通过进入 HMC > System > Facet search > Indexed types,我找到了一个与 bean 同名的 属性 并将其删除。这允许我重做一个完整的索引,并且错误从日志中消失了。但是,这并没有解决第二个问题,如下...
  2. 客户支持未出现:这是与登录用户(在我的例子中是管理员)关联的组相关的问题。通过向用户添加正确的组(在 HMC > 用户 > 员工下),我使客户支持部分再次工作。

希望这对以后的人有所帮助!