如何在ABAP中开发的CDS视图上实现模糊搜索

2020-09-16 05:14发布

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

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


大家好,

我正在ABAP之上创建CDS视图。 我已经为CDS视图创建了Odata服务,并在下面添加了注释。

@ Search.defaultSearchElement:true

@ Search.ranking:#HIGH

@ Search.fuzzinessThreshold:0.8

从UI尝试根据描述搜索任何值时,正在使用以下URL进行批处理后端调用,其中我已在跳过之前删除了初始部分。

$ skip = 0&$ top = 20&$ filter =(substringof(%27GB%27,FunctionalLoc)%20or%20substringof(%27GB%27,Description))

我在CDS中没有任何代码可以处理此呼叫。 我想知道我们如何处理这种服务呼叫并能够执行模糊搜索。

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

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


大家好,

我正在ABAP之上创建CDS视图。 我已经为CDS视图创建了Odata服务,并在下面添加了注释。

@ Search.defaultSearchElement:true

@ Search.ranking:#HIGH

@ Search.fuzzinessThreshold:0.8

从UI尝试根据描述搜索任何值时,正在使用以下URL进行批处理后端调用,其中我已在跳过之前删除了初始部分。

$ skip = 0&$ top = 20&$ filter =(substringof(%27GB%27,FunctionalLoc)%20or%20substringof(%27GB%27,Description))

我在CDS中没有任何代码可以处理此呼叫。 我想知道我们如何处理这种服务呼叫并能够执行模糊搜索。

付费偷看设置
发送
4条回答
骆驼绵羊
1楼-- · 2020-09-16 05:28

好吧,正如您在注释中所写,您已经通过注释创建了OData服务。 这意味着搜索相关的点由SADL框架处理。 您不必自己执行一些编码。 但是作为事情正常运行的前提,您必须在应进行搜索的列上定义全文索引。

此外," substringof" OData过滤器功能不执行模糊搜索。 为此,您必须使用"搜索参数"(例如../test?search = GB)。

关于,
弗洛里安

大简至美
2楼-- · 2020-09-16 05:34

如何创建OData服务。 通过注解@ Odata.publish:是通过SEGW还是其他方式"是"还是"手动"?

绿领巾童鞋
3楼-- · 2020-09-16 05:31

我已通过注解创建了Odata服务

@ Odata.publish:正确

shere_lin
4楼-- · 2020-09-16 05:32

嗯,您说的是"没有搜索帮助...",但是上面您说的是" ...当用户 从价值帮助中点击搜索..."。 那么真相是什么?

您已经在CDS视图中使用了必要的模糊搜索注释。 但这可行,就像我已经说过的那样,您需要在相关列的下面提供全文索引。

一周热门 更多>