Linux

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 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:

LEER  Cómo instalar la base de datos de análisis en tiempo real de Apache Druid en distribuciones de Linux basadas en Ubuntu

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

solrdata-a
Imagen: Jack Warren/Tecnopedia. La colección country_data contiene nuestros datos importados.

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

Figura B

solrdata-b
Imagen: Jack Warren/Tecnopedia. Ahora se puede buscar todo el archivo CSV de nuestro país.

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

solrdata-c
Imagen: Jack Warren/Tecnopedia. Irlanda ha sido buscada y encontrada.

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

solrdata-d
Imagen: Jack Warren/Tecnopedia. Importe nuestro archivo CSV desde la interfaz 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 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.

LEER  ¿El nuevo estándar de código abierto no es ningún estándar?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba