कैसेंड्रा - इंडेक्स बनाएं

Cqlsh का उपयोग करके एक सूचकांक बनाना

आप कमांड का उपयोग करके कैसेंड्रा में एक इंडेक्स बना सकते हैं CREATE INDEX. इसका सिंटैक्स इस प्रकार है -

CREATE INDEX <identifier> ON <tablename>

नीचे एक कॉलम में एक इंडेक्स बनाने के लिए एक उदाहरण दिया गया है। यहाँ हम एक तालिका 'emp_name' में एक अनुक्रमणिका बना रहे हैं जिसका नाम है एक सारणी।

cqlsh:tutorialspoint> CREATE INDEX name ON emp1 (emp_name);

जावा एपीआई का उपयोग करके एक सूचकांक बनाना

आप सत्र वर्ग के निष्पादन () पद्धति का उपयोग करके एक तालिका के एक स्तंभ के लिए एक सूचकांक बना सकते हैं। तालिका में एक स्तंभ पर एक सूचकांक बनाने के लिए नीचे दिए गए चरणों का पालन करें।

Step1: एक क्लस्टर ऑब्जेक्ट बनाएँ

सबसे पहले, का एक उदाहरण बनाएँ Cluster.builder की कक्षा com.datastax.driver.core पैकेज के रूप में नीचे दिखाया गया है।

//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();

का उपयोग करके एक संपर्क बिंदु (नोड का आईपी पता) जोड़ें addContactPoint() उसकि विधि Cluster.Builderवस्तु। यह विधि लौटती हैCluster.Builder

//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint( "127.0.0.1" );

नए बिल्डर ऑब्जेक्ट का उपयोग करके, क्लस्टर ऑब्जेक्ट बनाएँ। ऐसा करने के लिए, आपके पास एक विधि हैbuild() में Cluster.Builderकक्षा। निम्न कोड दिखाता है कि क्लस्टर ऑब्जेक्ट कैसे बनाया जाता है।

//Building a cluster
Cluster cluster = builder.build();

आप नीचे दिखाए गए अनुसार कोड की एक लाइन का उपयोग करके क्लस्टर ऑब्जेक्ट का निर्माण कर सकते हैं।

Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();

चरण 2: एक सत्र वस्तु बनाएँ

कनेक्ट () विधि का उपयोग करके सत्र वस्तु का एक उदाहरण बनाएं Cluster नीचे दिखाया गया है।

Session session = cluster.connect( );

यह विधि एक नया सत्र बनाती है और इसे आरंभ करती है। यदि आपके पास पहले से ही एक कीस्पेस है, तो आप इसे नीचे दिखाए गए अनुसार स्ट्रिंग विधि में कीस्पेस नाम से पास करके इसे मौजूदा एक पर सेट कर सकते हैं।

Session session = cluster.connect(“ Your keyspace name ” );

यहाँ हम KeySpace नामक का उपयोग कर रहे हैं tp. इसलिए, नीचे दिखाए अनुसार सत्र ऑब्जेक्ट बनाएं।

Session session = cluster.connect(“ tp” );

चरण 3: क्वेरी को निष्पादित करें

आप सत्र वर्ग के निष्पादन () विधि का उपयोग करके CQL प्रश्नों को निष्पादित कर सकते हैं। क्वेरी को स्ट्रिंग प्रारूप में या निष्पादन क्लास () विधि के लिए स्टेटमेंट क्लास ऑब्जेक्ट के रूप में पास करें। आप स्ट्रिंग प्रारूप में इस पद्धति से जो भी पास करेंगे, उस पर अमल किया जाएगाcqlsh

निम्नलिखित उदाहरण में, हम emp_name नामक कॉलम में एक इंडेक्स बना रहे हैं, जिसका नाम तालिका है emp. आपको क्वेरी को एक स्ट्रिंग चर में संग्रहीत करना होगा और इसे नीचे निष्पादित () विधि में दिखाया गया है।

//Query
String query = "CREATE INDEX name ON emp1 (emp_name);";
session.execute(query);

नीचे दिए गए जावा एपीआई का उपयोग करके कैसंड्रा में एक तालिका में एक स्तंभ का सूचकांक बनाने का पूरा कार्यक्रम है।

import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;

public class Create_Index {
 
   public static void main(String args[]){

      //Query
      String query = "CREATE INDEX name ON emp1 (emp_name);";
      Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
       
      //Creating Session object
      Session session = cluster.connect("tp");
 
      //Executing the query
      session.execute(query);
      System.out.println("Index created");
   }
}

उपरोक्त प्रोग्राम को .java के बाद वाले वर्ग नाम से सहेजें, उस स्थान पर ब्राउज़ करें जहाँ इसे सहेजा गया है। नीचे दिखाए अनुसार कार्यक्रम को संकलित और निष्पादित करें।

$javac Create_Index.java
$java Create_Index

सामान्य परिस्थितियों में, इसे निम्न आउटपुट का उत्पादन करना चाहिए -

Index created