En este artículo, discutiremos la descripción general de los índices secundarios en MAP Collection en Cassandra y luego implementaremos el ejercicio y veremos cómo funciona realmente, y finalmente concluiremos la importancia de los índices secundarios en MAP Collection. Discutámoslo uno por uno.
Requisito previo –
Crear índices secundarios en MAP Collection en Cassandra es muy útil. Entonces, aquí verá el caso de uso real de crear un índice en una colección porque hace que la búsqueda y consulta de datos sea muy eficiente y rápida. Entonces, si desea buscar en función de una palabra clave, mientras busca y consulta datos, puede usar las palabras clave CONTAINS KEY para una palabra clave específica en el tipo de datos de recopilación MAP. En la recopilación de datos de MAP, se almacenarán pares clave-valor, y usaremos KEY para buscar los datos. Entendamos todo el concepto con la ayuda de ejemplos.
En esto, verá la parte de sintaxis de cómo crear un índice en la colección. Puede usar el siguiente comando de la siguiente manera.
CREATE INDEX ON <table_name>(KEYS<map_column>)
Aquí verá la sintaxis de la parte de la cláusula WHERE donde utilizará la palabra clave CONTAINS para buscar el valor específico en la colección MAP.
WHERE <map_column> CONTAINS KEY <key>
Ejemplo:
Supongamos que tiene un espacio de claves existente, a saber, cluster1 y luego primero crearemos una tabla de datos de usuario usando el comando CQL de la siguiente manera.
Paso 1: Crear tabla -user_data –
use cluster1; create table user_data ( user_id varchar, user_first_name varchar, user_last_name varchar, company varchar, user_tags map<varchar,varchar>, primary key(user_id) );
Paso 2: Creación de índice en etiquetas de usuario –
CREATE INDEX ON user_data (KEYS(user_tags))
Paso 3: Inserción de datos –
insert into user_data(user_id, user_first_name, user_last_name, company, user_tags) values('Ashish01','Ashish','Rana','abc',{'GFG':'Geeks for Geeks','HTML':'HyperText Markup Language'}); insert into user_data(user_id, user_first_name, user_last_name, company, user_tags) values('Ashish02','Ayush','NA','abc',{'GFG':'Geeks for Geeks','IDK':'I Do not Know'}); insert into user_data(user_id, user_first_name, user_last_name, company, user_tags) values('Ashish03','Ayushi','NA','abc',{'FYI':'For Your Information','IDK':'I Do not Know'});
Paso 4: Verificación y lectura de datos –
select * from user_data;
Paso 5: Salida –
id_usuario | empresa | nombre_de_usuario | apellido_usuario | etiquetas_de_usuario |
---|---|---|---|---|
Ashish03 | a B C | ayushi | N / A | {‘FYI’: ‘Para su información’, ‘IDK’: ‘No sé’} |
Ashish02 | a B C | Ayush | N / A | {‘GFG’: ‘Geeks para Geeks’, ‘IDK’: ‘No sé’} |
Ashish01 | a B C | Cenizo | rana | {‘GFG’: ‘Geeks para Geeks’, ‘HTML’: ‘Lenguaje de marcado de hipertexto’} |
Paso 6: Búsqueda sobre la base de una palabra clave específica:
select * from user_data where user_tags CONTAINS KEY 'GFG';
Paso 7: Salida –
id_usuario | empresa | nombre_de_usuario | apellido_usuario | etiquetas_de_usuario |
---|---|---|---|---|
Ashish02 | a B C | Ayush | N / A | {‘ GFG ‘: ‘Geeks para Geeks’, ‘IDK’: ‘No sé’} |
Ashish01 | a B C | Cenizo | rana | {‘ GFG ‘: ‘Geeks para Geeks’, ‘HTML’: ‘Lenguaje de marcado de hipertexto’} |
Publicación traducida automáticamente
Artículo escrito por Ashish_rana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA