问题描述
我可以在其他环境中创建搜索索引,但是在一个环境中却出现此错误:
java.lang.NoClassDefFoundError: Could not initialize class com.sun.org.apache.xml.internal.serializer.ToXMLStream
当我这样创建搜索索引时:
schema.vertexLabel('myvertex').index('search').search().by('myprop').ifNotExists().add()
它是Datastax DSE Graph 6.7版。
对于所有环境,构建脚本都是相同的。看起来Search已安装在该环境中,但我猜它配置有误?
在此环境中,其他环境可能缺少什么?
解决方法
Datastax Studio笔记本可能会损坏,需要删除并重新创建。删除此文件夹然后重新启动Datastax Studio将重新创建它们,但是您必须重新创建笔记本和连接。 (即笔记本中的所有笔记都会丢失,因此请确保在删除此文件夹之前先复制笔记)。然后,我能够再次创建搜索索引。 Datastax正在研究修复此错误,希望在将来的版本中不会有问题。
C:\Users\<myusername>\.datastax_studio\snapshots\studio
此外,请确保为您用来通过Datastax Studio执行命令的用户在Datastax服务器上启用此功能:
GRANT EXECUTE ON REMOTE OBJECT DseClientTool TO myaccountname;
当然,还要确保您的myaccountname对图形具有读/写/执行权限。