- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
想通过一些示例了解 hybris for solr 中 value provider 的确切用法。我在 hybris 中从事一个项目,我必须向 Product 添加新属性,并希望在产品列表页面中将其显示为 facate。
最佳答案
ValueProvider 的用途是将复杂对象(例如,Brand、Price、Unite...)转换为Solr 可以理解的简单原始数据(string、int、double...)
例如:
例如,假设您的新属性是单位:
<强>1。首先你必须创建一个 ProductUnitValueProvider
public class ProductUnitValueProvider extends AbstractPropertyFieldValueProvider implements Serializable, FieldValueProvider {
@Override
public Collection<FieldValue> getFieldValues(final IndexConfig indexConfig, final IndexedProperty indexedProperty, final Object model) throws FieldValueProviderException
{
if (model instanceof ProductModel)
{
//Product model
final ProductModel product = (ProductModel) model;
//List of fieldValues to be inflated and returned
final Collection<FieldValue> fieldValues = new ArrayList<FieldValue>();
if (product.getUnit() != null)
{
//Create fieldValue, just to make it simple as possible however i would perfer to use FieldNameProvider.getFieldNames() instead, to retrieve all FieldNames for this indexedProperty
String unitName = product.getUnit().getCode();
fieldValues.add(new FieldValue(indexedProperty.getName(), unitName));
}
//Send FieldValues, to be indexed by Solr
return fieldValues;
}
else
{
throw new FieldValueProviderException("Error message!");
}
}
}
<强>2。注册你的供应商,让 Spring 知道
<bean id="productUnitValueProvider" class="xx.yy.zz.ProductUnitValueProvider" />
<强>3。最后将您的 valueProvider 与 SolrIndexedProperty 相关联,并使用 impex 添加它的 SolrIndexType
$solrIndexedType=xxx
INSERT_UPDATE SolrIndexedProperty;solrIndexedType(identifier)[unique=true];name[unique=true];type(code);sortableType(code);currency[default=false];localized[default=false];multiValue[default=false];useForSpellchecking[default=false];useForAutocomplete[default=false];fieldValueProvider;valueProviderParameter
;$solrIndexedType; unit; string ; ; ; ; ; ; ;productUnitValueProvider;
编辑:在这里找到更多 -> https://www.stackextend.com/hybris/index-a-custom-product-property-with-solr-in-hybris/
关于java - 想要澄清 hybris for solr 中的 valueProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41867001/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!