Свойство, индексированное по фасету Hybris SOLR, не отображается

#solr #hybris #solrj

Вопрос:

Я создал новое индексируемое свойство SOLR, которое должно действовать как фасет категории а:

 INSERT_UPDATE SolrIndexedProperty; solrIndexedType(identifier)[unique = true]; name[unique = true]; type(code); multiValue[default = true]; facet[default = true]; facetType(code); facetSort(code); priority; visible; categoryField[default = true]; fieldValueProvider             ; facetDisplayNameProvider         ; topValuesProvider
                             ; $solrIndexedType                          ; color              ; string    ;                           ;                      ; MultiSelectOr  ; Alpha          ; 4000    ; true   ;                              ; colorCategoryNameValueProvider ; categoryFacetDisplayNameProvider ; defaultTopValuesProvider
 

Я создал поставщика пользовательских значений:

     <bean id="colorCategoryNameValueProvider" parent="abstractCategoryNameValueProvider">
    <property name="categorySource" ref="colorCategorySource" />
</bean>

<bean id="colorCategorySource" parent="abstractCategorySource">
    <property name="rootCategory" value="color" />
</bean>
 

Я выполнил полный индекс, и я администратор SOLR, я вижу, что новое индексированное поле заполнено:

 "color_string_mv":["MultiColor",
      "Color"],
 

Однако, когда я перехожу к PLP/Сетке, я вижу только один аспект, а именно цену.

Как вы можете видеть в impex, атрибут SolrIndexedPropert isFacet имеет значение TRUE и также заполняется в базе данных SOLR, почему hybris не обнаруживает этот аспект и не отображает его на витрине магазина?

Комментарии:

1. эта ссылка может помочь : answers.sap.com/questions/13018410/…

2. Не помогло, так как я создаю фасет, который использует поставщик значений категорий вместо числового

3. @Nexussim Проверяет, имеют ли продукты разные цвета

Ответ №1:

Если все продукты в результате имеют одинаковое значение или вообще не имеют значения, фасет не будет отображаться. Фасет появится только в том случае, если он изменит результат, когда пользователь отфильтрует его. Можете ли вы проверить, так ли это?

Ответ №2:

Проблема была обнаружена:

Наряду с свойством SolrIndexedProperty для отображения фасета я должен добавить атрибуты фасетов в виде:

 INSERT_UPDATE SolrSearchQueryProperty; indexedProperty(name, solrIndexedType(identifier))[unique = true]; searchQueryTemplate(name, indexedType(identifier))[unique = true][default = DEFAULT:$solrIndexedType]; facet[default = true]; facetType(code); includeInResponse[default = true]; facetDisplayNameProvider             ; facetSortProvider; facetTopValuesProvider
                                 ; categoryPath:$solrIndexedType                                    ;                                                                                                      ;                      ; Refine         ;                                  ;                                      ;
                                 ; category:$solrIndexedType                                        ;                                                                                                      ;                      ; Refine         ;                                  ; categoryFacetDisplayNameProvider ; defaultTopValuesProvider
                                 ; brand:$solrIndexedType                                           ;                                                                                                      ;                      ; MultiSelectOr  ;                                  ; categoryFacetDisplayNameProvider ; defaultTopValuesProvider
                                 ; color:$solrIndexedType                                           ;                                                                                                      ;                      ; MultiSelectOr  ;                                  ; categoryFacetDisplayNameProvider ; defaultTopValuesProvider
                                 ; size:$solrIndexedType                                            ;                                                                                                      ;                      ; MultiSelectOr  ;                                  ; categoryFacetDisplayNameProvider ; defaultTopValuesProvider