EPi查找可找到所有变体,如果对产品进行搜索击中

问题描述 投票:1回答:1

出现一个EPi查找问题,我们有WebProducts和WebVariants,并且在类别页面上显示简单的产品列表时,我正确地显示了以下结果

  • 如果WebProduct没有任何变体-在结果上显示WebProduct

  • 如果WebProduct具有变体-显示WebVariants并隐藏WebProduct

但是当我尝试对站点搜索使用相同的功能时,它会变得很复杂。WebProduct具有一个名为Brand的属性,而WebVariants没有该属性。因此,当我搜索“我的品牌”并在具有WebVariants的WebProduct上受到关注时,它不会显示WebProduct,因为在这种情况下,第2点是正确的。

另一方面,我不想展示该产品,但我想获取该产品的变体...这听起来可能令人困惑:grimacing:

我将添加使第1点和第2点起作用的代码段。

                .SearchAndFilterFor(q)
                .Filter(x =>
                    (x.MatchType(typeof(WebVariant))) |
                    (x.MatchType(typeof(WebProduct)) & ((WebProduct)x).HasVariants().Match(false)))```

find episerver episerver-find
1个回答
0
投票

我会说您有两个选择。

任何一个:

1:更改对变体进行索引的方式,以使它们包含当前缺少的某些关键信息(在本例中为品牌),并因此出现在搜索结果中。

OR

2:只是搜索WebProduct,然后循环遍历这些结果,以对没有/没有变体的结果进行处理。

© www.soinside.com 2019 - 2024. All rights reserved.