材料代码中的Solr精确匹配搜索问题包含特殊字符

2020-09-07 10:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我们有一个要求,如果...

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

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


专家们,

我们有一个要求,如果"用户"使用确切的物料编号搜索,则"用户"将被重定向到该物料的PDP页面。

说明:Hybris将使用以下过滤器检查是否完全匹配:-->忽略大小写(例如搜索材料编号字母的大写或小写)->删除任何特殊字符,例如连字符'-', 下划线'_',磅'#',括号'('和')',正斜杠'/',句点'。

用例:1.材料代码可以是数字或字母数字,带有或不带有特殊字符。 (例如FW35X600XL02,FW35-7002E3L65,ZF-HFW35C812XL80)2.物料代码可以在另一个物料代码中作为子字符串出现。 (例如FW35-8011,FW35-8011T1)3.物料代码可以在物料名称中显示为子字符串。

请提供有关如何实现此目标的建议。

感谢Murali

6条回答
SAP小菜
2020-09-07 11:00

嗨,

是的,您所描述的有关数据库解决方案的方法就是我的意思。 关于JOIN的性能-这应该不是一个大问题,它取决于数据量,但最后它是DB的标准操作。

您可以考虑为搜索中使用的字段创建数据库索引。

关于Solr中的解决方案,在上面的注释中,高层描述了应该如何在Solr中设置字段-这将是仅用于代码,customerMaterialCode和customerSerialCode的特殊字段。

然后的解决方案与使用DB的解决方案相似,但是如果您不执行标准Solr查询,则找到的答案将重定向到产品详细信息页面,而不是仅在此字段中在Solr中搜索。

要区分精确代码搜索查询和第二次查询,您可以使用此处描述的潜在概念: https://help.sap.com/viewer/9d346683b0084da2938be8a285c0c27a/1808/zh-CN/cac34797e1d0460c9966adbbb3be78ol

根据上下文,您可以用不同的方式定义搜索。

不过,根据您的回答还有一点。 我是否正确(每个客户的customerMaterialCode和customerSerialCode不同)? 最终可能会得到大量数据。...通过这种完全匹配,客户可以搜索产品代码,以及:属于他的customerMaterialCode customerSerialCode吗?

示例:

产品A:

代码AA

客户1 的

customerMaterialCode AA-1 客户2

的customerMaterialCode AA-2 客户1 的

customerSerialCode AA-1 客户2

的customerSerialCode AA-2

如果我是 Customer 2 ,我搜索 AA-1 ,是否找到上面的产品,因为为 AA-1 定义了值 仅客户1 ?

一周热门 更多>