Cómo importar datos en Apache Solr
Recientemente, lo guié a través del proceso de implementación de Apache Solr, una plataforma de búsqueda empresarial. Con esta herramienta, puede tomar grandes cantidades de datos y ejecutar potentes consultas de búsqueda con clic para resaltar, indexación en tiempo real, agrupación dinámica y más.
Después de implementar Apache Solr, debe poder agregar datos a una colección para que se puedan buscar. Aquí, importamos una lista de datos CSV (que pueden ser de cualquier tamaño) en una nueva colección y luego ejecutamos una consulta contra los nuevos datos.
VER: Kit de herramientas de contratación: ingeniero de base de datos (Tecnopedia Premium)
que necesitas
Para hacer esto, necesita una instancia de Apache Solr en ejecución (con 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 debe hacer es iniciar sesión en el servidor que aloja Apache Solr a través de SSH o iniciar sesión localmente. Una vez que haya iniciado sesión, cree un nuevo archivo con el siguiente comando:
nano ~/solrdata.csv
Puede nombrar este archivo como desee y colocarlo en cualquier directorio. Cree una fila superior con los nombres de cada columna: lo demostraré usando un archivo CSV que define los países. La primera línea definirá varios elementos (como código de país, región y subregión) de la siguiente manera:
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:
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 todo el archivo country.csv de ejemplo con el siguiente comando:
wget
Guarde el archivo en la unidad local del host Apache Solr.
Cómo crear una nueva colección
Ahora vamos a crear una nueva colección para contener los datos de nuestro país. Llamemos a esta colección «country_data» y creémosla con:
su - solr -c "/opt/solr/bin/solr create -c country_data -n data_driven_schema_configs"
Se le pedirá su contraseña de usuario de Solr. Después de una autenticación exitosa, se creará la colección y podrá continuar.
Cómo importar datos
Cambie al directorio que contiene Solr con el siguiente comando:
cd /opt/solr
Luego podemos importar los datos con:
./bin/post -c country_data /path/to/country.csv
Dónde /path/to
es la ruta exacta al directorio donde se encuentra el archivo country.csv recién descargado.
Deberías ver un resultado similar a este:
Posting files to [base] url
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
Time spent: 0:00:02.674
Cómo ver nuevos datos
Inicie sesión apuntando su navegador a la interfaz web de Apache Solr (Dónde
SERVER
es la dirección IP del servidor de alojamiento). Seleccione country_data en el menú desplegable newdata en la barra de navegación de la izquierda. en la ventana de resultados (Figura A), haga clic en Consulta.
Figura A
En la ventana que aparece, haga clic en Ejecutar consulta sin cambiar nada y se listará todo el documento importado (Figura B).
Figura B
Digamos que desea buscar Irlanda. Ingrese «Irlanda» en la sección q (debajo de común) y haga clic en Ejecutar consulta. El resultado solo enumerará entradas para Irlanda, lo adivinó (Figura C).
Figura C
Una forma más fácil de importar datos CSV
Hay una manera más fácil de importar datos CSV a Apache Solr.
Suponga que crea 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 de la lista desplegable y haga clic en Documentos en la barra de navegación de la izquierda. En la ventana que aparece, seleccione CSV de la lista desplegable Tipo de documento y copie/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 los datos importados de la misma manera que antes.
Eso es todo lo que hay que hacer para importar datos en formato CSV a Apache Solr. Esta es una herramienta muy poderosa que hace que la búsqueda de grandes cantidades de datos sea muy simple. Si su negocio depende de los datos, esta puede ser una de las muchas herramientas que necesita.
Suscríbete a Tecnopedia Cómo hacer que la tecnología funcione en YouTube Obtenga los últimos consejos técnicos para profesionales de negocios de Jack Wallen.