Está en la página 1de 6

Otros tipos de búsqueda NoSQL

El surgimiento de los diferentes tipos de DBMSs NoSQL tiene un sinfín de aplicaciones en la industria, pero
qué sería de ella si no se pudiera seleccionar información específica, para esto surgió durante el transcurso de
los años la creación de las búsquedas NoSQL, que simplemente son métodos o modelos que ayudan a
encontrar elementos dentro del mar de información almacenado en la base de datos, de los modelos más
conocidos existen las búsquedas booleanas, búsquedas de palabras clave de texto completo y la búsqueda
estructurada. Anteriormente se exploraron los diferentes tipos de búsquedas NoSQL como lo son la búsqueda
de texto completo, la búsqueda semiestructurada, la búsqueda geográfica, la búsqueda en la red y la búsqueda
vector, además de como estas son consumidas mediante Apache Lucene que utiliza los buscadores Solr y
ElasticSearch, de los cuales los clientes pueden elegir uno u otro para las necesidades de su negocio. Durante
los siguientes textos se explorarán otros tipos de búsquedas NoSQL, cómo funcionan y algunos ejemplos de
aplicación, así como también se explorarán otros motores de búsqueda NoSQL que también circulan en el
mercado actual.
Existen otros tipos estándar de búsquedas NoSQL, es decir que son modelos de búsqueda previamente
diseñados para implementarse en los motores de búsqueda NoSQL. De estos tipos se pueden destacar la
búsqueda por facetas, búsqueda por similitud, búsqueda por patrones y búsqueda por eventos, a continuación,
se amplían cada una de ellas:
1. Búsqueda por facetas: Es una búsqueda destinada a incluir propiedades del documento dentro de sus
criterios de búsqueda. La faceta se puede relacionar como categorías temáticas que se usan para
cambiar la clasificación de la búsqueda. La búsqueda por facetas es utilizada cuando hay métodos de
alta calidad asociados al documento, es decir, la información del documento es verídica, ordenada y
ampliamente interconectada. Ejemplos:

 Búsquedas en base de datos de bibliotecas, como “todos los documentos escritos por un autor
en una fecha específica”. En este caso las bases de datos de las bibliotecas se alimentan de
meta data externa para ampliar la búsqueda por tema, autor, fecha de publicación y otros
campos.
 La búsqueda que se realiza en los documentos de Microsoft Word, que se realiza mediante la
búsqueda de palabras clave en el documento.
Figura 1. Interfaz de búsqueda y navegación por facetas

Nota. Adaptado de Faceted search, interface example, illustrating facet browsing, searching, and the tight coupling of
the two. [Imagen], por Mahdi, Mohammed et al, 2021, MDPI (https://www.mdpi.com/2076-3417/11/17/8113)

2. Búsqueda por similitud: Se refiere a la capacidad de buscar objetos o registros que son similares a
un objeto de consulta dado en lugar de buscar una coincidencia exacta. Esta técnica se utiliza para
encontrar objetos que son relevantes para el usuario, incluso si no coinciden exactamente con los
criterios de búsqueda especificados. Ejemplos:

 En una base de datos que almacena imágenes, se puede buscar imágenes similares a una
imagen específica utilizando técnicas de comparación de imágenes.
 Los sistemas de recomendación utilizan la búsqueda por similitud para encontrar objetos que
son similares a los gustos o preferencias del usuario.
Figura 2. Búsqueda por similitud semilla homogénea y no homogénea
Nota. Adaptado de Similarity Search [Imagen], por LexisNexis
(https://knowledge.lexisnexisip.com/patentsight/similarity-search-introductionhttps://knowledge.lexisnexisip.com/
patentsight/similarity-search-introduction)

3. Búsqueda por patrones: Se refiere a la capacidad de buscar patrones o secuencias de datos en los
registros o documentos almacenados en una base de datos NoSQL. Esta técnica se utiliza para
encontrar información relevante y útil en grandes conjuntos de datos, lo que puede ser difícil de hacer
mediante métodos de búsqueda convencionales. La técnica más común utilizada en este método son
las expresiones regulares, las cuales son patrones de caracteres que se utilizan para buscar y comparar
texto. La búsqueda por patrones también puede involucrar la aplicación de algoritmos de minería de
datos y aprendizaje automático para descubrir patrones más complejos y significativos. Ejemplos:

 La búsqueda por patrones se puede utilizar para encontrar patrones de direcciones IP en los
registros de la base de datos NoSQL. Esto es útil para identificar patrones de tráfico
sospechoso o actividades maliciosas en una red.
 La búsqueda por patrones se puede utilizar para analizar los datos de comportamiento de los
clientes en una base de datos NoSQL. Esto puede incluir patrones de compra, navegación web
y actividades de redes sociales para identificar tendencias y patrones de comportamiento de
los clientes.
Figura 3. Algoritmo búsqueda por patrones

Nota. Adaptado de Compare text characters with pattern characters [Imagen], por Drakumar, Haren, 2023,
GeekForGeeks (https://www.geeksforgeeks.org/introduction-to-pattern-searching-data-structure-and-algorithm-tutorial/)

4. Búsqueda por eventos: Esta búsqueda se refiere a la capacidad de buscar eventos específicos o
sucesos en los registros o documentos almacenados en la base de datos NoSQL. Un evento puede ser
cualquier tipo de suceso que se registra en la base de datos, como una transacción financiera, una
interacción de usuario, un cambio en el estado de un objeto, etc. Ejemplos:
 La búsqueda por eventos es útil para aplicaciones que requieren un análisis en tiempo real de
los eventos registrados en la base de datos, como sistemas de monitoreo de seguridad,
detección de fraudes y análisis de datos en tiempo real.
 Se puede utilizar para detectar patrones sospechosos o inusuales en las transacciones
financieras, basado en transacciones atípicas, transferencias de dinero fuera del territorio o
transferencias realizadas en horarios inusuales.
Figura 4. Flujo de proceso de búsqueda por eventos

Nota. Adaptado de Flow of processing of event searching [Imagen], por Hitachi


(https://itpfdoc.hitachi.co.jp/manuals/3021/3021330520e/IMDS0090.HTM)
Dadas el resto de tipos de búsquedas NoSQL también se debe adentrar a el software de procesamiento. Desde el inicio
del surgimiento de estas tecnologías el mercado ha sido liderado por ElasticSearch y Solr, pues ambos fueron pioneros y
revolucionarios de las búsquedas NoSQL, pero existen otros que pueden ser aplicados a las soluciones de negocio según
la necesidad. La siguiente tabla, del sitio DB Engines, muestra el ranking actual de motores de búsqueda:
Figura 5. Tabla de ranking de motores de búsqueda

Nota. Adaptado DB-Engines Ranking of Search Engines [Imagen], por DB-Engines, 2023,
(https://db-engines.com/en/ranking/search+engine/all)

Como se puede ver los motores más comunes como MongoDB, Redis, ElasticSearch y Sorl se encuentran en el top de
esta lista pues son las más utilizadas y aclamadas por los usuarios. Otros motores de grandes compañías como Azure y
Amazon empiezan a tomar fuerza en el mercado de búsquedas NoSQL. Profundizando en algunas de ellas, MongoDB
tiene características de búsqueda avanzadas como índices geoespaciales y búsqueda de texto completo; Redis implementa
su propio motor de búsqueda dentro de la aplicación, RedisSearch, que permite realizar búsquedas de texto completo,
geolocalización y creación de índices personalizados; Azure Search, que es un motor con funcionalidad en la nube que se
alimenta tanto de NoSQL como de datos relacionales, esta capacitado para realizar búsquedas por textos, geoespaciales y
filtrados avanzados; por último, para mencionar otra de las grandes compañías se encuentra Amazon Cloud Search, que
tiene una funcionalidad similar a la anterior pues mezcla fuentes de ambas ramas para realizar búsquedas de clasificación
y de texto completo.

La elección de cualquiera de uno de estos motores dependerá de la necesidad final y principalmente del tipo
de base de datos que se implementó para el negocio, siendo las disponibles las bases de datos de documentos,
clave-valor, columnar y de grafos, pues dependiendo de la elección la herramienta a elegir se comportara de
manera distinta.
Para concluir, algunas de las ideas más importantes a destacar serían:
 Los motores de búsqueda NoSQL se crearon con la finalidad de realizar búsquedas de elementos
según parámetros dados, para buscar coincidencias dentro de la base de datos.
 Algunos de los modelos más comunes son la búsqueda de texto completo, la búsqueda
semiestructurada, la búsqueda geográfica, la búsqueda en la red y la búsqueda vector, pero se pueden
ampliar tomando en cuenta también la búsqueda por facetas, búsqueda por similitud, búsqueda por
patrones y búsqueda por eventos.
 Existen los llamados motores de búsqueda que se pueden implementar en conjunto con una base de
datos NoSQL para adaptar las búsquedas según la necesidad del negocio. Algunos de los motores más
utilizados son Solr y ElasticSearch, pero también le compiten otros como RedisSearch, Azure Search
y Amazon Cloud Search.

Referencias

DB-Engines. (marzo de 2023). DB-Engines Ranking of Search Engines. Recuperado el 10 de marzo de 2023,
de DB-Engines: https://db-engines.com/en/ranking/search+engine/all
Drakumar, H. (17 de febrero de 2023). Introduction to Pattern Searching – Data Structure and Algorithm
Tutorial. Recuperado el 10 de marzo de 2023, de GeekforGeeks:
https://www.geeksforgeeks.org/introduction-to-pattern-searching-data-structure-and-algorithm-
tutorial/
InfluxData. (s.f). A Guide to Search Engine Databases. Recuperado el 10 de marzo de 2023, de InfluxData:
https://www.influxdata.com/search-engine-database/
LexisNexis. (s.f.). Similarity Search. Recuperado el 10 de marzo de 2023, de LexisNexis:
https://knowledge.lexisnexisip.com/patentsight/similarity-search-introduction
Manning Publications Co. (2014). Making Sense of NoSQL. Recuperado el 10 de marzo de 2023, de Chapter
7. Finding information with NoSQL search: https://livebook.manning.com/book/making-sense-of-
nosql/chapter-7/
Meta, B. (31 de marzo de 2018). Get The Basics On NoSQL Databases: Event Store Databases. Recuperado
el 10 de marzo de 2023, de Forbes: https://www.forbes.com/sites/metabrown/2018/03/31/get-the-
basics-on-nosql-databases-event-store-databases/?sh=1bbfb7d0529b

También podría gustarte