hybris FlexibleSearchService无法找到实际存在的产品

时间:2013-09-30 06:42:27

标签: search product hybris

我正在尝试将产品添加到购物车中,如下所示:

cartFacade.addToCart("M300044", 2);

它失败了:未找到代码为“M300044”的产品!

当我调试代码时,我发现此查询由FlexibleSearchService.search(查询)执行:

SELECT {c:pk} FROM {Product AS c} WHERE {c:code}='M300044' 

如果我在hybris管理控制台上执行此查询,我会得到一个产品。

为什么FlexibleSearchService不能找到它?是否与在某处设置目录版本有关?

6 个答案:

答案 0 :(得分:2)

在这种情况下,这是因为我是从Test类做的,所以hybris找不到产品,因为junit租户里没有任何数据。

所以我必须在Test类的setup方法中创建数据,该方法在调用实际测试方法之前执行。

答案 1 :(得分:1)

你需要确保你已经设置了session user = admin的一件事,因为如果对你的产品有一个限制,那么你的测试用例将不起作用

答案 2 :(得分:0)

检查hmc中产品的可用库存。愿这可以帮到你

答案 3 :(得分:0)

我认为这是一个SYNCHRONIZATION问题。 STAGED产品版本与Online不一致。 你有两个选择。 HMC>系统>方面搜索>索引器向导。 产品驾驶舱。

答案 4 :(得分:0)

初始化Junit租户,方法是检查导入样本数据是否正确,以便生产中的数据可用于测试。

答案 5 :(得分:-1)

您需要为hmc中的产品制作完整的SOLR索引,然后才能在前端存储中显示或使用hypris API 希望有帮助