使用HANA FULLTEXT索引

2020-09-12 22:39发布

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

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


大家好,

我正在尝试为某些表创建HANA FULLTEXT索引。 ( SAP Hana FULLTEXT索引)目标 使用它的目的是提高在具有大量行的表上进行搜索的性能。 主要问题是无法在-items.xml中声明这种特殊类型的索引。 我直接在HANA服务器上使用SQL创建了它,但是当Hybris运行updatesystem时,使用了错误的SQL语法,它给出了错误:

 由以下原因引起:org.springframework.jdbc.BadSqlGrammarException:StatementCallback; 错误的SQL语法[DROP INDEX FULLTEXT_USER_NAME_1]; 嵌套的异常是com.sap.db.jdbc.exceptions.BatchUpdateExceptionSapDB:批处理命令编号1中的错误:SAP DBTech JDBC:[261]:无效的索引名称:全文索引只能由DROP FULLTEXT INDEX删除

  

所以我想知道以前是否有人解决过这个问题,因为自定义HanaSqlBuilder.java(在ybootstrap.jar内部)看起来像是一个非常深入的自定义。

谢谢罗萨诺

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

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


大家好,

我正在尝试为某些表创建HANA FULLTEXT索引。 ( SAP Hana FULLTEXT索引)目标 使用它的目的是提高在具有大量行的表上进行搜索的性能。 主要问题是无法在-items.xml中声明这种特殊类型的索引。 我直接在HANA服务器上使用SQL创建了它,但是当Hybris运行updatesystem时,使用了错误的SQL语法,它给出了错误:

 由以下原因引起:org.springframework.jdbc.BadSqlGrammarException:StatementCallback; 错误的SQL语法[DROP INDEX FULLTEXT_USER_NAME_1]; 嵌套的异常是com.sap.db.jdbc.exceptions.BatchUpdateExceptionSapDB:批处理命令编号1中的错误:SAP DBTech JDBC:[261]:无效的索引名称:全文索引只能由DROP FULLTEXT INDEX删除

  

所以我想知道以前是否有人解决过这个问题,因为自定义HanaSqlBuilder.java(在ybootstrap.jar内部)看起来像是一个非常深入的自定义。

谢谢罗萨诺

付费偷看设置
发送
7条回答
浮生未央
1楼-- · 2020-09-12 23:11

务实的解决方案是编写一个自定义@SystemSetup类,并使用本机SQL + jdbc创建索引。 仅供参考,该平台已经定义了一个Spring JDBC Template bean( jdbcTemplate ),因此运行本机SQL很容易。

items.xml中的索引定义不支持全文索引,因此最好将其排除在外。

编辑

要强制更新过程完全忽略索引,请使用属性

  bootstrap.init.type.system.ignore.indices = true

  

但是有一个陷阱:这将忽略所有索引,即使是items.xml中定义的那些索引。 现在完全由您决定创建索引。

如果您使用Hybris 6.7+,则杂乱无章的hybris更新将忽略HANA全文索引,而无需完全停用索引

xfwsx85
2楼-- · 2020-09-12 22:55

您是否尝试过在updatesysem之前直接在HANA中删除索引?

haha101010
3楼-- · 2020-09-12 23:06

嗨,Markus,谢谢您的留言。 我已经尝试了您的方法,但是问题是,当您启动updatesystem hybris时,它会尝试使用错误的语法删除索引。 因此,我尝试在Items.xml中强制创建索引,以避免尝试删除它。 但是,使用这种方法,您将无法在SystemSetup类中创建FULLTEXT索引,因为它已经存在。

spaceman01
4楼-- · 2020-09-12 23:18

啊! 升级过程总是尝试删除您的索引,即使未在items.xml中的任何位置定义索引,对吗?

南山jay
5楼-- · 2020-09-12 23:14

是的,删除索引是可行的,但是我们要自动执行。 可能的解决方案可能是修改ant脚本并使用sql任务。

能不能别闹
6楼-- · 2020-09-12 23:12

仅供参考,如果您将鼠标悬停在评论上方,则会显示"回复"按钮;)

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答