Cómo importar datos en Apache Solr

importar-datos-apache-solr-jack
Imagen: Looker_Studio/Adobe Stock

Recientemente, lo guié a través del proceso de implementación de la plataforma de búsqueda de nivel empresarial, Apache Solr. Con esta herramienta, puede tomar grandes cantidades de datos y ejecutar potentes consultas de búsqueda con resaltado de aciertos, indexación en tiempo real, agrupamiento dinámico y más.

Una vez que haya implementado Apache Solr, necesitará poder agregar sus datos a una colección para que se puedan buscar. Aquí, importaremos una lista de datos CSV (que puede ser de cualquier tamaño) en una nueva colección y luego ejecutaremos una consulta contra los nuevos datos.

VER: Kit de contratación: Ingeniero de base de datos (TechRepublic Premium)

Lo que necesitarás

Para continuar con esto, necesitará una instancia en ejecución de Apache Solr (con las credenciales de usuario de Solr) y un archivo de datos CSV. Crearé un archivo de datos CSV de muestra que puede usar como plantilla.

Cómo crear un archivo CSV para importar

Lo primero que deberá hacer es iniciar sesión en el servidor que aloja Apache Solr, ya sea a través de SSH o un inicio de sesión local. Una vez que haya iniciado sesión, cree el nuevo archivo con el comando:

nano ~/solrdata.csv

Puede nombrar este archivo como desee y alojarlo en cualquier directorio. Cree una fila superior que incluya los nombres de cada columna: voy a demostrar con un archivo CSV que define países. La línea superior definirá varios elementos (como código de país, región y subregión) y se ve así:

name,alpha-2,alpha-3,country-code,iso_3166-2,region,sub-region,intermediate-region,region-code,sub-region-code,intermediate-region-code

El resto del archivo contiene entradas como esta:

Afghanistan,AF,AFG,004,ISO 3166-2:AF,Asia,Southern Asia,"",142,034,""

Åland Islands,AX,ALA,248,ISO 3166-2:AX,Europe,Northern Europe,"",150,154,""

Albania,AL,ALB,008,ISO 3166-2:AL,Europe,Southern Europe,"",150,039,""

Algeria,DZ,DZA,012,ISO 3166-2:DZ,Africa,Northern Africa,"",002,015,""

American Samoa,AS,ASM,016,ISO 3166-2:AS,Oceania,Polynesia,"",009,061,""

Andorra,AD,AND,020,ISO 3166-2:AD,Europe,Southern Europe,"",150,039,""

Angola,AO,AGO,024,ISO 3166-2:AO,Africa,Sub-Saharan Africa,Middle Africa,002,202,017

Puede descargar el archivo country.csv de muestra completo con el comando:

wget https://cdn.wsform.com/wp-content/uploads/2018/09/country.csv

Guarde ese archivo en la unidad local de la máquina de alojamiento Apache Solr.

Cómo crear una nueva colección

Ahora vamos a crear una nueva colección para albergar los datos de nuestro país. Llamaremos a esta colección “country_data” y la crearemos con el comando:

su - solr -c "/opt/solr/bin/solr create -c country_data -n data_driven_schema_configs"

Se le pedirá la contraseña de usuario de Solr. Una vez que se autentique con éxito, se creará la colección y estará listo para continuar.

Cómo importar los datos

Cambie al directorio que contiene Solr con el comando:

cd /opt/solr

Luego podemos importar los datos con el comando:

./bin/post -c country_data /path/to/country.csv

Donde /path/to es la ruta exacta al directorio que alberga el archivo country.csv recién descargado.

Deberías ver un resultado similar a este:

Posting files to [base] url http://localhost:8983/solr/country_data/update...

Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log

POSTing file country.csv (text/csv) to [base]

1 files indexed.

COMMITting Solr index changes to http://localhost:8983/solr/country_data/update...

Time spent: 0:00:02.674

Cómo ver los nuevos datos

Inicie sesión en la interfaz web de Apache Solr apuntando un navegador a http://SERVER:8983 (donde SERVER es la dirección IP del servidor de alojamiento). Seleccione country_data del menú desplegable newdata en la barra de navegación de la izquierda. En la ventana resultante (Figura A), haga clic en Consulta.

Figura A

Imagen: Jack Wallen/TechRepublic. La colección country_data alberga nuestros datos importados.

En la ventana resultante, haga clic en Ejecutar consulta sin cambiar nada y se listará todo el documento importado (Figura B).

Figura B

Imagen: Jack Wallen/TechRepublic. Nuestro archivo CSV de todo el país ahora se puede buscar.

Supongamos que desea buscar Irlanda. Escriba “Irlanda” en la sección q (debajo de común) y presione Ejecutar consulta. El resultado solo mostrará la entrada para, lo adivinaste, Irlanda (Figura C).

Figura C

Imagen: Jack Wallen/TechRepublic. Irlanda ha sido buscada y encontrada.

Una forma aún más fácil de importar datos CSV

Incluso hay una forma más fácil de importar datos CSV a Apache Solr.

Supongamos que ha creado una nueva colección, llamada recopilación de datos, y desea importar el archivo country.csv desde la interfaz basada en web. Inicie sesión en Apache Solr, seleccione recopilación de datos en el menú desplegable y luego haga clic en Documentos en la barra de navegación de la izquierda. En la ventana resultante, seleccione CSV del menú desplegable Tipo de documento y luego copie/pegue todo el contenido del archivo country.csv en la sección Documentos (Figura D).

Figura D

Imagen: Jack Wallen/TechRepublic. Importación de nuestro archivo CSV desde la interfaz basada en web de Apache Solr.

Haga clic en Enviar documento y finalmente debería ver (en el panel derecho) el siguiente resultado:

Status: success

Response:

{

"responseHeader": {

"status": 0,

"QTime": 3533

}

}

Ahora debería poder consultar sus datos importados de la misma manera que lo hizo anteriormente.

Y eso es todo lo que hay que hacer para importar datos con formato CSV a Apache Solr. Esta es una herramienta muy poderosa que hace que la búsqueda de colecciones masivas de datos sea muy simple. Si su negocio depende de los datos, esta podría ser una de las muchas herramientas que necesita.

Suscríbase a How To Make Tech Work de TechRepublic en YouTube para obtener los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

Leave a Comment