私は OrientDB 2.1.11 と rexster 2.6 を使用しており、gremlin がメインのクエリ言語です。私はrexpro(およびrexster REST)を介して使用します。私の問題は、グレムリンからヒットするインデックスを取得する方法です(SQLの方向付けではなく、グレムリンを使用する必要があります)。
スキーマで定義され、辞書としてインデックス化された 1 つのプロパティ zip_code を持つ頂点クラス zipcode があります。
zipcode.zip_code DICTIONARY ["zip_code"] SBTREE
しかし、gremlin を使用してクエリを実行すると、レコードが 25k を超えると遅くなります (これより低い数値ではテストしていません)。適切なコンテキストを提供するために、最初に郵便番号を見つけようとします。郵便番号が存在しない場合は、後で使用するために頂点を作成します。検索クエリは次のようになります。
g.V('@class', 'zipcode').has('zip_code','10018')
質問: gV('@class'... はインデックスにヒットしていますか? V の 1000000 オブジェクトを超えていませんか? 頂点クラス、つまり zipcode をより効率的にするために、より適切に記述する方法はありますか?私のクラス(郵便番号)の頂点のプロパティ。
またはを使用する方が良いですhas('zip_code', '12345')
かfilter {it.zip_code == '12345'}
?作成されたインデックスにヒットするのはどれですか?
照合するために複数のプロパティを照合する必要がある場合:
.has('zip_code', '12345').has('state','NY').has('city','NEW YORK')
ヒット インデックスまたは 'filter{}' を持っていますか? お知らせ下さい。