最新の Titan 0.4.1 docsによると、このコードは結果セット内の頂点を並べ替えるために機能するはずです。
graph.query().has("name",CONTAINS,"john").orderBy("age",Order.DESC).limit(10).vertices()
このタイプのクエリを、潜在的に大きな頂点セット全体で実行したいので、インデックスを作成したいと考えています。ドキュメントは次のことを示唆しています:
ほとんどの外部インデックス バックエンドは、ネイティブかつ効率的に順序付けをサポートしています。ただし、 orderBy メソッドで使用されるプロパティ キーは、結果の順序付けをネイティブにサポートするために、このインデックス バックエンドでインデックスを作成するように構成する必要があります。これは、orderBy キーがクエリ キーと異なる場合に重要です。プロパティ キーがインデックス化されていない場合、並べ替えにはすべての結果をメモリにロードする必要があります。
orderBy
具体的には、Elasticsearch バックエンドの場合、この方法をサポートするインデックスを作成するにはどうすればよいでしょうか?
KeyMaker
のindexed
メソッドに渡す簡単な 3 番目のパラメーターはありますか?
graph.makeKey("age").dataType(Integer.class).indexed("search", Vertex.class).make();