如何解决Hybris SOLR 刻面索引属性未显示
我创建了一个新的 SOLR 索引属性,它必须作为一个方面的类别:
DataForm.Builder xep0004 = DataForm.builder(DataForm.Type.submit); //new DataForm(DataForm.Type.submit);
TextSingleFormField.Builder token = FormField.builder("token");
token.setValue(App.user_settings.getFirebasetoken(App.mContext));
TextSingleFormField.Builder device_id = FormField.builder("android-id"); //new FormField("device-id");
device_id.setValue(App.user_settings.getECCID(App.mContext));
xep0004.addField(token.build());
xep0004.addField(device_id.build());
IQ pushStanza = new IQ("command","http://jabber.org/protocol/commands") {
@Override
protected IQChildElementXmlStringBuilder getIQChildElementBuilder(IQChildElementXmlStringBuilder xml) {
xml.attribute("action","execute");
xml.attribute("node","register-push-fcm");
xml.setEmptyElement();
return xml;
}
};
pushStanza.setType(IQ.Type.set);
pushStanza.setTo(JidCreate.from("p2.server.com"));
pushStanza.setFrom(connection.getUser());
pushStanza.addExtension(xep0004.build());
if (connection.isSmEnabled()) {
try {
connection.addStanzaIdAckNowledgedListener(pushStanza.getStanzaId(),new StanzaListener() {
@Override
public void processstanza(Stanza stanza) throws NotConnectedException,InterruptedException,SmackException.NotLoggedInException {
Log.e("stanza result",stanza.toXML().toString());
// registerTokenToXmpp1();
}
});
} catch (Exception e) {
e.printstacktrace();
}
}
connection.sendStanza(pushStanza);
我已经创建了自定义值提供程序:
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
我已经执行了一个完整的索引并且我 SOLR Admin 我可以看到填充的新索引字段:
<bean id="colorCategoryNameValueProvider" parent="abstractCategoryNameValueProvider">
<property name="categorySource" ref="colorCategorySource" />
</bean>
<bean id="colorCategorySource" parent="abstractCategorySource">
<property name="rootCategory" value="color" />
</bean>
然而,当我去 PLP/Grid 时,我只看到一个方面,那就是价格。
正如您在 impex 中看到的,SolrIndexedPropert isFacet 属性设置为 TRUE 并且也在 SOLR 数据库中填充,为什么 hybris 没有检测到这个方面并将其显示在店面中?
解决方法
如果结果中的所有产品都具有相同的值或根本没有值,则构面将不会显示。只有当用户过滤它时它会对结果产生影响时,才会出现该构面。你能检查一下是不是这样?
,发现问题:
连同 SolrIndexedProperty,为了显示 facet,我必须添加 facets 属性:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。