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, agrupación dinámica 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.
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í:
Código abierto:Cobertura de lectura obligada
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ía 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
En la ventana resultante, haga clic en Ejecutar consulta sin cambiar nada y se listará todo el documento importado (Figura B ).
Figura B
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 adivinó, Irlanda (Figura C ).
Figura C
Una forma aún más fácil de importar datos CSV
Incluso hay una manera 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 y pegue todo el contenido del archivo country.csv en la sección Documentos (Figura D ).
Figura D
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 antes.
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 empresa depende de los datos, esta podría ser una de las muchas herramientas que necesita.