Cassandra - Buat Indeks

Membuat Indeks menggunakan Cqlsh

Anda dapat membuat indeks di Cassandra menggunakan perintah CREATE INDEX. Sintaksnya adalah sebagai berikut -

CREATE INDEX <identifier> ON <tablename>

Diberikan di bawah ini adalah contoh untuk membuat indeks ke kolom. Di sini kita membuat indeks ke kolom 'emp_name' dalam tabel bernama emp.

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

Membuat Indeks menggunakan Java API

Anda dapat membuat indeks ke kolom tabel menggunakan metode execute () dari kelas Sesi. Ikuti langkah-langkah yang diberikan di bawah ini untuk membuat indeks ke kolom dalam tabel.

Langkah 1: Buat Objek Cluster

Pertama-tama, buat instance Cluster.builder kelas dari com.datastax.driver.core paket seperti yang ditunjukkan di bawah ini.

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

Tambahkan titik kontak (alamat IP node) menggunakan addContactPoint() metode dari Cluster.Builderobyek. Metode ini kembaliCluster.Builder.

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

Menggunakan objek builder baru, buat objek cluster. Untuk melakukannya, Anda memiliki metode yang disebutbuild() dalam Cluster.Builderkelas. Kode berikut menunjukkan cara membuat objek cluster.

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

Anda dapat membangun objek cluster menggunakan satu baris kode seperti yang ditunjukkan di bawah ini.

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

Langkah 2: Buat Objek Sesi

Buat instance objek Sesi menggunakan metode connect () dari Cluster kelas seperti yang ditunjukkan di bawah ini.

Session session = cluster.connect( );

Metode ini membuat sesi baru dan menginisialisasinya. Jika Anda sudah memiliki ruang kunci, Anda dapat menyetelnya ke yang sudah ada dengan meneruskan nama KeySpace dalam format string ke metode ini seperti yang ditunjukkan di bawah ini.

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

Di sini kita menggunakan KeySpace yang disebut tp. Oleh karena itu, buat objek sesi seperti yang ditunjukkan di bawah ini.

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

Langkah 3: Jalankan Kueri

Anda dapat menjalankan kueri CQL menggunakan metode execute () dari kelas Sesi. Teruskan kueri baik dalam format string atau sebagai objek kelas Pernyataan ke metode execute (). Apa pun yang Anda berikan ke metode ini dalam format string akan dieksekusi dicqlsh.

Dalam contoh berikut, kami membuat indeks ke kolom yang disebut emp_name, dalam tabel bernama emp. Anda harus menyimpan kueri dalam variabel string dan meneruskannya ke metode execute () seperti yang ditunjukkan di bawah ini.

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

Diberikan di bawah ini adalah program lengkap untuk membuat indeks kolom dalam tabel di Cassandra menggunakan Java API.

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

Simpan program di atas dengan nama kelas diikuti dengan .java, telusuri ke lokasi penyimpanannya. Kompilasi dan jalankan program seperti yang ditunjukkan di bawah ini.

$javac Create_Index.java
$java Create_Index

Dalam kondisi normal, itu harus menghasilkan keluaran berikut -

Index created