मैं टाइटन सर्वर (कैसंद्रा) बनाम 0.3.1 का उपयोग कर रहा हूं। मैं एक वर्टेक्स कुंजी/प्रॉपर्टी पर एक इंडेक्स बनाना चाहता हूं जिसे मैंने पहले ही उपयोग करना शुरू कर दिया है। हालांकि, उनके documentation में, टाइटन बताते हैं कि:एक कशेरुक संपत्ति पर एक अनुक्रमणिका बनाएँ जो पहले से ही टाइटन (कैसंद्रा) में मौजूद है?
To index vertices by key, the respective key index must be created before the key is first used in a vertex property.
अगर मैं एक क्षेत्र पहले से मौजूद है पर एक सूचकांक बनाने का प्रयास करें, मैं एक त्रुटि दिखाई अपेक्षा के अनुरूप:
gremlin> g.createKeyIndex("my_key",Vertex.class)
Cannot add an index to an already existing property key: my_key
हालांकि, यहां तक कि अगर मैं
gremlin> g.E.remove()
==>null
gremlin> g.V.remove()
==>null
gremlin> g.createKeyIndex("my_key",Vertex.class)
Cannot add an index to an already existing property key: my_key
तो ऐसा लगता है कि my_key
टी में बनी रहती है: सब कोने & किनारों को हटाने के द्वारा ग्राफ बाहर खाली करने के लिए प्रयास करते हैं, मैं एक ही त्रुटि दिखाई देती है सभी ग्राफ तत्वों को हटा दिए जाने के बाद भी वह डेटा स्टोर अंतर्निहित है। यह दस्तावेज़ों के अनुरूप है (भले ही तत्व हटा दिए गए हैं, संपत्ति पहले से ही 'पहले इस्तेमाल की जा चुकी है'), लेकिन एक शॉट के लायक लग रहा था।
मेरा अगला कदम एक नया कैसंड्रा डेटा स्टोर फिर से बनाने के लिए होगा, लेकिन मुझे आश्चर्य है कि कोई बेहतर विकल्प है या नहीं।
टाइटन में पहले से उपयोग किए जा रहे क्षेत्र पर एक इंडेक्स बनाने का सबसे आसान तरीका क्या है?
आपके उत्तर के लिए धन्यवाद - दुर्भाग्यवश, ऐसा लगता है कि यह इस अंत में नहीं है। मुझे लगता है कि 'g.V.each {g.removeVertex (it)} 'लगभग' g.V.remove() '([संबंधित देखें] (http://stackoverflow.com/a/17250723/2172530) के बराबर है। जब मैंने शिखर हटाने के लिए आपकी वैकल्पिक विधि की कोशिश की, तो टाइटन की एक ही शिकायत थी: 'पहले से मौजूद किसी मौजूदा प्रॉपर्टी कुंजी में कोई अनुक्रमणिका नहीं जोड़ सकता: my_key'। – bcm360
क्या आपने हटाने के बाद लेनदेन किया था? – Pradatta
मैंने किया, कोई फर्क नहीं पड़ता: 'gremlin> g.V.each {g.removeVertex (it)}; g.commit(); g.createKeyIndex ("my_key", Vertex.class); पहले से मौजूद किसी मौजूदा प्रॉपर्टी कुंजी में कोई अनुक्रमणिका नहीं जोड़ सकता: my_key' – bcm360