Cassandra - Index de chute

Supprimer un index

Vous pouvez supprimer un index à l'aide de la commande DROP INDEX. Sa syntaxe est la suivante -

DROP INDEX <identifier>

Ci-dessous est un exemple pour supprimer un index d'une colonne dans une table. Ici, nous supprimons l'index du nom de la colonne dans la table emp.

cqlsh:tp> drop index name;

Suppression d'un index à l'aide de l'API Java

Vous pouvez supprimer un index d'une table à l'aide de la méthode execute () de la classe Session. Suivez les étapes ci-dessous pour supprimer un index d'une table.

Étape 1: créer un objet de cluster

Créer une instance de Cluster.builder une sorte de com.datastax.driver.core paquet comme indiqué ci-dessous.

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

Ajoutez un point de contact (adresse IP du nœud) à l'aide du addContactPoint() méthode de Cluster.Builder object. Cette méthode renvoieCluster.Builder.

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

À l'aide du nouvel objet de générateur, créez un objet de cluster. Pour ce faire, vous disposez d'une méthode appeléebuild() dans le Cluster.Builderclasse. Le code suivant montre comment créer un objet de cluster.

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

Vous pouvez créer un objet de cluster en utilisant une seule ligne de code comme indiqué ci-dessous.

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

Étape 2: créer un objet de session

Créez une instance de l'objet Session à l'aide de la méthode connect () de la classe Cluster comme indiqué ci-dessous.

Session session = cluster.connect( );

Cette méthode crée une nouvelle session et l'initialise. Si vous avez déjà un espace de clés, vous pouvez le définir sur celui existant en passant le nom de l'espace de clé au format chaîne à cette méthode, comme indiqué ci-dessous.

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

Ici, nous utilisons le KeySpace nommé tp. Par conséquent, créez l'objet de session comme indiqué ci-dessous.

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

Étape 3: Exécuter la requête

Vous pouvez exécuter des requêtes CQL en utilisant la méthode execute () de la classe Session. Transmettez la requête au format chaîne ou enStatementobjet de classe à la méthode execute (). Tout ce que vous passez à cette méthode au format chaîne sera exécuté sur lecqlsh.

Dans l'exemple suivant, nous supprimons un index «nom» de emptable. Vous devez stocker la requête dans une variable chaîne et la transmettre à la méthode execute () comme indiqué ci-dessous.

//Query
String query = "DROP INDEX user_name;";
session.execute(query);

Vous trouverez ci-dessous le programme complet pour supprimer un index dans Cassandra à l'aide de l'API Java.

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

public class Drop_Index {

   public static void main(String args[]){
     
      //Query
      String query = "DROP INDEX user_name;";
 
      //Creating cluster object
      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 dropped");
   }
}

Enregistrez le programme ci-dessus avec le nom de la classe suivi de .java, accédez à l'emplacement où il est enregistré. Compilez et exécutez le programme comme indiqué ci-dessous.

$javac Drop_index.java
$java Drop_index

Dans des conditions normales, il devrait produire la sortie suivante -

Index dropped