BASES DE DATOS CONSULTAS


Jwatch

Miembro muy activo
Primero que na darme un like aunque sea por pena.
Buenas, voy a hacer un aporte de como a partir de un txt puedes crear con algunas herramientas un motor de busqueda para una base de datos. Yo he usado una leak que había por ahi y ya que hago este post aprovecho para preguntar si conoceis BD de España que esten filtradas ya que de ese tema ando algo perdido.

A lo que va el post, a partir de un txt con muchos datos creas tu propio buscador en un rato. Me aburria y lo he hecho, os dejo con la explicacion por encima que chatgpt da porque me da pereza explicarlo y es algo extenso, si alguien le interesa en detalle pues le puede ayudar, pero el resultado es el que se ve en las imagenes :-) Me ha faltado poner tambien la ubicacion, pero ya me da pereza.

1768823061660.png

Proceso seguido​


1️⃣ Preparación del entorno​


Programa usado: Docker


Primero se montó el entorno de trabajo usando Docker para poder ejecutar servicios sin instalar nada a mano en el sistema.




2️⃣ Motor de búsqueda​


Programa usado: Elasticsearch


Se utilizó Elasticsearch como base de datos de búsqueda.
Aquí es donde se almacenan e indexan los registros del TXT para poder consultarlos de forma rápida.




3️⃣ Herramienta de validación​


Programa usado: Kibana


Kibana se usó únicamente para:


  • comprobar que los datos se estaban cargando bien
  • verificar campos (nombre, apellidos, teléfono)
  • validar el número total de registros

No se usó como interfaz final.




4️⃣ Carga y transformación del TXT​


Programa usado: Logstash


Logstash se encargó de:


  • leer el fichero TXT línea a línea
  • separar cada línea en campos
  • corregir el significado real de los datos
  • descartar información incorrecta
  • enviar los registros limpios a Elasticsearch

Esta fue la parte más importante del proceso.




5️⃣ Creación de una base de datos usable​


Programa usado: Elasticsearch (índices)


Una vez procesado el archivo, los datos quedaron almacenados como una base de datos indexada, lista para consultas rápidas por nombre, apellidos o teléfono.




6️⃣ Interfaz de consulta​


Programa usado: FastAPI


Se creó una aplicación web sencilla para:


  • buscar registros sin usar Kibana
  • combinar búsquedas por distintos campos
  • mostrar resultados de forma clara y controlada



7️⃣ Uso final​


Programas usados: Navegador web


La consulta final se hace desde el navegador, como cualquier buscador normal, sin necesidad de usar herramientas técnicas.




Resumen final​


  • Docker → entorno
  • Logstash → leer y limpiar el TXT
  • Elasticsearch → base de datos de búsqueda
  • Kibana → validación
  • FastAPI → interfaz de consulta

Resultado: un TXT inmanejable convertido en una base de datos rápida y consultable.
 

Huanca2

Autista Profesional.
Noder
Una pregunta, es capaz de agrupar apellidos o nombre que se escriban mal, de esto que confunden v/b y así, o que no ponen tildes. Algunos buscadores buscan literalmente lo que pones y una "á" no la encontrarían al buscar "a".
También en relación a algunos nombres como Mohamed sulen tener muchas variaciones al ser una tradución al español, en este caso sería posible implementar una manera de buscar todas las variaciones del mismo nombre? Sería algo importante para proyectos serios. Buen aporte igualmente brother
 

Jwatch

Miembro muy activo
Una pregunta, es capaz de agrupar apellidos o nombre que se escriban mal, de esto que confunden v/b y así, o que no ponen tildes. Algunos buscadores buscan literalmente lo que pones y una "á" no la encontrarían al buscar "a".
También en relación a algunos nombres como Mohamed sulen tener muchas variaciones al ser una tradución al español, en este caso sería posible implementar una manera de buscar todas las variaciones del mismo nombre? Sería algo importante para proyectos serios. Buen aporte igualmente brother
Sinceramente no he probado tanto porque me interesaba mas para buscar por numero de telefono y que me de el nombre y ubicacion (aunq la ubi no la he puesto) pero juraria que si, aún asi creo que sería mas facil probar con las variantes que implementarlo, al menos en mi caso. Es en funcion de lo que quiera cada uno, pero poderse seguro que se puede