#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