Вы находитесь на странице: 1из 9

Universidad Nacional Mayor de San Marcos

Facultad de Ingeniería de Sistemas e Informática


Escuela de Ingeniería de Sistemas

LABORATORIO
CURSO : Base de Datos III.
No. : Laboratorio No.05
TEMA : Búsqueda de Texto en MongoDB
DURACIÓN ESTIMADA : 60 minutos aproximadamente.

I. OBJETIVOS

El presente laboratorio tiene por objetivos:


● Conocer como del manejo de texto en MongoDB Enterprise.
● Realizar las tareas propias de búsquedas de texto.

II. RESUMEN

En este laboratorio usted aprenderá a utilizar las búsquedas de texto en MongoDB


Enterprise 3.4 en Windows.

III. PROCESO DE BÚSQUEDA DE TEXTO

1. Inicio del Servidor de Bases de Datos MongoDB


MongoDB inicia su gestor de base de datos.
● Para iniciar MongoDB, ejecute mongod –dbpath c:\data\db. Por ejemplo, desde el
Command Prompt. Esto inicia el proceso principal de la base de datos MongoDB.

● En MongoDB, procederemos a importar los datos de un dataset que contiene una


sola colección: mongoimport --db test --collection restaurants --drop --file
c:\data\primer-dataset.json

Página 1
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Escuela de Ingeniería de Sistemas

● Proceda a mostrar el contenido de los documentos contenidos en la colección


restaurants de la base de datos test: db.restaurants.find({})

● Proceda a mostrar el contenido de algunos campos de los documentos contenidos:


db.restaurants.find({},{"address":1,"borough":1,"cuisine":1,"name":1})

Página 2
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Escuela de Ingeniería de Sistemas

● Utilice getIndex; para visualizar los campos de la colección respectiva que esta
dentro de la base de datos: db.restaurants.getIndexes()

2. Uso de índices de texto para busqueda en MongoDB


Para realizar las búsquedas de texto utilizando índices con las siguientes sentencias.
● Utilice createIndex para crear el índice de texto de los documentos de la colección:
db.restaurants.createIndex({address:"text",borough:"text",cuisine:"text",name:"text"})

Página 3
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Escuela de Ingeniería de Sistemas

● Utilice getIndex; para visualizar los campos de la colección respectiva que esta
dentro de la base de datos: db.restaurants.getIndexes()

● La siguiente consulta especifica una cadena de $search de java:


db.restaurants.find({$text:{$search:"java"}})

Página 4
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Escuela de Ingeniería de Sistemas

● La siguiente consulta especifica una cadena de $search de dinner lime:


db.restaurants.find({$text:{$search:"dinner lime"}})

● La siguiente consulta especifica una cadena de $search de “lime leaf”:


db.restaurants.find({$text:{$search:"\"lime leaf\""}})

Página 5
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Escuela de Ingeniería de Sistemas

● La siguiente consulta especifica una cadena de $search de “lime leaf”:


db.restaurants.find({$text:{$search:"java \"lime leaf\""}})

Página 6
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Escuela de Ingeniería de Sistemas

3. Búsquedas con puntuación asignada a las coincidencias en MongoDB


Para realizar el cálculo de la puntuación de las coincidencias se realiza las siguientes
sentencias.
● La siguiente consulta especifica una cadena de $search de “cake” y devuelve la
puntuación: db.restaurants.find({$text:{$search:"cake"}},{})

Página 7
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Escuela de Ingeniería de Sistemas

● La siguiente consulta especifica una cadena de $search de “cake” y devuelve la


puntuación, que también se va utilizar para realizar la ordenación sort:
db.restaurants.find({$text:{$search:"cake"}},{score:{$meta:"textScore"}}).sort({
score:{$meta:"textScore"}})

● La siguiente consulta especifica una cadena de $search de “cake” y devuelve la


puntuación, que también se va utilizar para realizar la ordenación sort y una
cantidad definida de documentos:
db.restaurants.find({$text:{$search:"cake"}},{score:{$meta:"textScore"}}).sort({
score:{$meta:"textScore"}}).limit(4)

Página 8
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Escuela de Ingeniería de Sistemas

● La siguiente consulta especifica una cadena de $search de “cake” y devuelve la


puntuación, que también se va utilizar para realizar la ordenación sort y una
cantidad definida de documentos. Pero, la ordenación se realiza primero por ciudad:
db.restaurants.find({$text:{$search:"cake"}},{score:{$meta:"textScore"}}).sort({
borough:1,score:{$meta:"textScore"}}).limit(4)

IV. CONCLUSIONES
En este laboratorio usted aprendió cómo realizar búsquedas de texto MongoDB Enterprise
en Windows.

V. EJERCICIO
Complete en MongoDB el modelo para que realice comentarios de los restaurantes y cafés
en los que los clientes se atienden.
Desarrolla un conjunto de consultas que permita sacar listados de elementos por cliente,
opinión, dirección, ciudad, nombre de restaurant y cocina. Realice todas las combinaciones
posibles.

Página 9

Вам также может понравиться