Sayısal değerde Karışık Dizin oluşturmak için Titan'ı kullanmak, Elasticsearch'ün özelliği doğru bir şekilde dizine eklemesine neden olur.
TitanGraph titanGraph = TitanFactory.open("titan-cassandra-es.properties");
TitanManagement management = graph.openManagement();
PropertyKey degreeKey = management.makePropertyKey("DEGREE").dataType(Long.class).make();
management.buildIndex("byDegree", Vertex.class)
.addKey(degreeKey)
.buildMixedIndex("search");
Şu anda bu hareket etmesi Titan alma sorunları yaşıyorsanız: Tür sizinle benzer, biz mülk DEGREE
için aşağıdaki nedenle şu anda yapmak min max gelen bir özellik DEGREE
tarafından sipariş tüm köşeleri bilmek istiyorum çabuk (nedense dizin oluşturmak ancak belirli sorgular için kullanmak mücadele edebilir) ama biz doğrudan Elasticsearch sorgulayabilir:
curl -XGET 'localhost:9200/titan/byDegree/_search?size=80' -d '
{
"sort" : [
{ "DEGREE" : {"order" : "desc"}}
],
"query" : {
}
}
şimdilik biz Titan ile indeks oluşturmak böylece cevap hızla son derecedöndürülür ancak sorgu elastik arama direkt olarak.
Kısa Yanıt: Sayısal aralıklar ile ihtiyaç duyulan şeyleri çok kolay bir şekilde yapabilmemiz için, aramızdaki sorunun en azından Titan'ın bu endeksleri tam olarak kullanması gerekiyor. Bununla birlikte, yürütmeye çalıştığınız geçiş, bizimkilerden daha basittir (sadece maks.), Böylece bu sorunlarla karşılaşmayabilirsiniz ve sadece Titan geçişleriyle tamamen yapışabilirsiniz.
Düzenleme:
Geçenlerde (etkilerse benim yaptığı gibi) elasticsearch ve titan ihtiyaçlarınızı yerine getirebilecek doğruladı. Sadece endekslerinizi nasıl yarattığınıza dikkat edin. Titan, Endeksinizi Text
Match'e değil eşleşmesine ayarlanmış Type
anahtarıyla oluşturduğunuz sürece, sorgunuzu hızlı bir şekilde yürütebilecektir.
çok teşekkürler. Bu gerçekten çok iyi ama çok karmaşık. Umarım böyle bir ekleme gelecek sürümlerde Gremlin'e eklenir. –
Kulağa daha karmaşık geldim çünkü cevap verdiğimde hala kendim çalışıyordum. Titan'ın sonundan gelen süreç aslında gerçekten basittir. Karma Endeksleri denemeyi tavsiye ederim –