我在嵌入式模式下运行泰坦0.3.2,并且能够通过Gremlin (see previous question)创建和查询see previous question索引。我使用的是默认配置,它调用ES索引"search“。
这些搜索通过Gremlin返回正确的节点,没有错误:
g.query().has('my_label','abc').vertices()
g.query().has('my_label',CONTAINS,'abc').vertices()但是,如果我试图通过RexPro运行这些相同的Gremlin查询,Rexster将为上面的第一个查询发回此错误:
java.util.concurrent.ExecutionException:
javax.script.ScriptException:
javax.script.ScriptException:
java.lang.IllegalArgumentException: Index is unknown or not configured: search第二个问题是:
java.util.concurrent.ExecutionException:
javax.script.ScriptException:
javax.script.ScriptException:
groovy.lang.MissingPropertyException: No such property: CONTAINS for class: Script3同样,如果我试图通过REST (GET)查询索引密钥:
http://localhost:8182/graphs/graph/vertices?key=my_key&value=abc我收到相同的错误响应:
{"message":"Index is unknown or not configured: search","error":"Index is unknown or not configured: search"}最后,如果我试图从一个干净的数据库开始,并通过rexpro运行索引创建脚本:
g.makeType().name("my_label").dataType(String.class).indexed("search", Vertex.class).unique(Direction.OUT).makePropertyKey();我看到相同的未知索引错误:
java.util.concurrent.ExecutionException:
javax.script.ScriptException:
javax.script.ScriptException:
java.lang.IllegalArgumentException: Index is unknown or not configured: search因此,Rexster似乎需要一些关于索引后端的附加信息,可能在它的配置文件中(我正在使用安装中包含的默认信息)。有谁知道这个问题吗?很高兴提供更多的信息。
发布于 2013-08-30 10:32:32
您可能混合了一些内容,但最主要的是,从泰坦0.3.2开始,Rexster并不会自动导入Titan类,因此您无法使用CONTAINS进行查询。在这样做时,需要指定完整的包名:
com.thinkaurelius.titan.core.attribute.Text.CONTAINS我不能确定还有什么问题,但看起来弹性搜索索引没有正确配置。这与泰坦服务器的Rexster配置文件没有多大关系。这与传递给titan.sh的第二个参数有更多的关系,后者包含泰坦配置信息。确保弹性搜索按照这里所示的文件正确配置(默认安装):https://github.com/thinkaurelius/titan/blob/master/config/titan-server-cassandra-es.properties
https://stackoverflow.com/questions/18520261
复制相似问题