如果值是null,为什么Solr不使用默认值[EMPTY]索引属性。

2020-08-20 10:14发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个Solr索引类型为String的属性[userpricegroup],为索引此属性,我已经映射了SpringELValueProvider。

" valueProviderParameter"的配置也如ug == null一样?  '':ug。

 如果对于任何记录,ug为null,则用EMPTY值索引,否则按原样使用该值。

 但是现在我看到solr不在考虑具有空值的记录,而正在索引具有ug值的记录。

 我的schema.xml也具有以下相关配置。
 
 

 Solr版本:7.5,Hybris V 1811 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个Solr索引类型为String的属性[userpricegroup],为索引此属性,我已经映射了SpringELValueProvider。

" valueProviderParameter"的配置也如ug == null一样?  '':ug。

 如果对于任何记录,ug为null,则用EMPTY值索引,否则按原样使用该值。

 但是现在我看到solr不在考虑具有空值的记录,而正在索引具有ug值的记录。

 我的schema.xml也具有以下相关配置。
 
 

 Solr版本:7.5,Hybris V 1811 
付费偷看设置
发送
1条回答
CJones
1楼-- · 2020-08-20 10:35

你好,马里奥,

此问题与Solr相关,与SAP Hybris无关。

Solr不允许您使用带有空字段的查询。

在Solr中,如果需要查找具有空字段的文档,则需要使用否定查询。 但是,Hybris OOTB不会使用负数构建Solr查询。 (如果要自定义,只需使用自定义逻辑创建SearchSolrQueryPopulator即可,也可以实现FacetSearchListener。)

您还可以使用解决方法。 例如,使用默认值" null"代替空行。

我希望这能回答您的问题。

最诚挚的问候,

伊戈尔

一周热门 更多>