Cassandra - Dizin Oluştur

Cqlsh kullanarak bir Dizin Oluşturma

Cassandra'da şu komutu kullanarak bir dizin oluşturabilirsiniz CREATE INDEX. Sözdizimi aşağıdaki gibidir -

CREATE INDEX <identifier> ON <tablename>

Aşağıda, bir sütuna bir dizin oluşturmak için bir örnek verilmiştir. Burada emp adlı bir tablodaki 'emp_name' sütununa bir dizin oluşturuyoruz.

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

Java API kullanarak bir Dizin Oluşturma

Session sınıfının execute () yöntemini kullanarak bir tablonun sütununa bir dizin oluşturabilirsiniz. Tablodaki bir sütuna dizin oluşturmak için aşağıda verilen adımları izleyin.

Adım 1: Küme Nesnesi Oluşturun

Her şeyden önce, bir örnek oluşturun Cluster.builder sınıfı com.datastax.driver.core aşağıda gösterildiği gibi paketleyin.

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

Kullanarak bir iletişim noktası (düğümün IP adresi) ekleyin. addContactPoint() yöntemi Cluster.Buildernesne. Bu yöntem döndürürCluster.Builder.

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

Yeni oluşturucu nesnesini kullanarak bir küme nesnesi oluşturun. Bunu yapmak için adında bir yönteminiz varbuild() içinde Cluster.Buildersınıf. Aşağıdaki kod, bir küme nesnesinin nasıl oluşturulacağını gösterir.

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

Aşağıda gösterildiği gibi tek bir kod satırı kullanarak küme nesnesini oluşturabilirsiniz.

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

Adım 2: Bir Oturum Nesnesi Oluşturun

Connect () yöntemini kullanarak Session nesnesinin bir örneğini oluşturun. Cluster aşağıda gösterildiği gibi sınıf.

Session session = cluster.connect( );

Bu yöntem yeni bir oturum oluşturur ve onu başlatır. Zaten bir anahtar alanınız varsa, aşağıda gösterildiği gibi bu yönteme dize biçiminde KeySpace adını ileterek var olana ayarlayabilirsiniz.

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

Burada adı verilen KeySpace'i kullanıyoruz tp. Bu nedenle, aşağıda gösterildiği gibi oturum nesnesini oluşturun.

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

3. Adım: Sorguyu Çalıştırın

Session sınıfının execute () yöntemini kullanarak CQL sorgularını yürütebilirsiniz. Sorguyu dize biçiminde veya bir Statement sınıfı nesnesi olarak execute () yöntemine iletin. Bu yönteme dize biçiminde ilettiğiniz her şey,cqlsh.

Aşağıdaki örnekte, adlı bir tabloda emp_name adlı bir sütuna bir dizin oluşturuyoruz. emp. Sorguyu bir dize değişkeninde saklamanız ve aşağıda gösterildiği gibi execute () yöntemine iletmeniz gerekir.

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

Aşağıda, Java API kullanarak Cassandra'da bir tablodaki bir sütunun indeksini oluşturmak için eksiksiz bir program verilmiştir.

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");
   }
}

Yukarıdaki programı sınıf adı ve ardından .java ile kaydedin, kaydedildiği konuma göz atın. Programı aşağıda gösterildiği gibi derleyin ve çalıştırın.

$javac Create_Index.java
$java Create_Index

Normal koşullar altında, aşağıdaki çıktıyı üretmelidir -

Index created