0

Titan 0.3.2 を組み込みモードで実行しており、Gremlin シェルを介して ElasticSearch インデックスを作成およびクエリできました (前の質問を参照)。ES インデックスを「検索」と呼ぶデフォルト設定を使用しています。

これらの検索は、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

そしてこれは2番目のものです:

java.util.concurrent.ExecutionException: 
javax.script.ScriptException: 
javax.script.ScriptException: 
groovy.lang.MissingPropertyException: No such property: CONTAINS for class: Script3

同様に、REST API (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 はおそらくその構成ファイル (インストールに含まれているデフォルトのものを使用しています) で、インデックス作成バックエンドに関する追加情報を必要としているようです。この問題に詳しい人はいますか?より多くの情報を提供させていただきます。

4

1 に答える 1

2

さまざまなことが起こっているかもしれませんが、主なことは、Titan 0.3.2 の時点で、Rexster は Titan クラスを自動的にインポートしないため、CONTAINS. その際、完全なパッケージ名を指定する必要があります。

com.thinkaurelius.titan.core.attribute.Text.CONTAINS

他に何が間違っているのかはわかりませんが、エラスティック サーチ インデックスが正しく構成されていないようです。これは、Titan Server の Rexster 構成ファイルとはあまり関係がありません。titan.shこれは、 Titan 構成情報を含む2 番目の引数に渡すことと関係があります。ここに示されているこのファイルにあるように、エラスティック検索が適切に構成されていることを確認してください (インストールのデフォルト): https://github.com/thinkaurelius/titan/blob/master/config/titan-server-cassandra-es.properties

于 2013-08-30T10:32:32.090 に答える