EPi найти получить все варианты, если поиск ударил по продукту - PullRequest
1 голос
/ 12 февраля 2020

Появляется вопрос об обнаружении EPI, у нас есть веб-продукты и веб-варианты, и при отображении простого списка продуктов на странице категории я правильно показываю следующий результат

  • Если веб-продукт не У меня нет вариантов - показать веб-продукт по результату

  • Если у веб-продукта есть варианты - показать веб-варианты и скрыть веб-продукт

Но когда я пытаюсь использовать ту же функциональность для поиска по сайту, это усложняется. У WebProduct есть свойство Brand, тогда как у WebVariants этого свойства нет. Поэтому, когда я ищу «Мой бренд» и получаю доступ к веб-продукту, у которого есть веб-варианты, он не будет отображать веб-продукт, поскольку в этом случае верно условие 2.

Я, с другой стороны, не Я не хочу показывать этот продукт, но я хочу получить варианты для этого продукта ... Это может показаться странным: гримаса:

Я добавлю фрагмент кода, который ставит точки 1 и 2 в работа.

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

1 Ответ

1 голос
/ 17 февраля 2020

Я бы сказал, что у вас есть пара вариантов на выбор.

Либо:

1: измените способ индексации ваших вариантов, чтобы они включали некоторую ключевую информацию ( в данном случае бренд), которого у них в настоящее время нет, и поэтому он появляется в результатах поиска.

ИЛИ

2: Просто выполните поиск по WebProduct и затем l oop просмотрите эти результаты впоследствии. выполнить обработку для тех, которые имеют / не имеют варианты.

...