Amazon CloudSearch, un servicio pensado para ofrecer un alto desempeño y una baja latencia, soporta un conjunto enriquecido de características, entre otras, procesamiento de texto específico del idioma para 34 idiomas, búsqueda de texto libre, búsqueda por facetas, búsqueda geoespacial, clasificación por importancia personalizable, resaltado, autocompletar y opciones de disponibilidad y escalado personalizables por el usuario.
Siga los siguientes pasos para usar Amazon CloudSearch:
- Cree un dominio de búsqueda.
- Configure las opciones de indexación para los datos.
- Cargue los datos para la indexación
- Enviar peticiones de búsqueda desde su sitio web o aplicación
La siguiente sección explica de manera detallada cómo funciona CloudSearch.
Pruebe Amazon CloudSearch de forma gratuita
Comenzar prueba gratuita de CloudSearchMás información
Disfrute de 750 horas gratis de instancias de búsqueda plenamente funcionales durante 30 días. Para comenzar:
Inicie sesión en su cuenta de AWS y lance la consola de CloudSearch
Cree un dominio de búsqueda y configúrelo con unos pocos clics del mouse
Por cada colección de datos que quiera que esté disponible para la consulta, debe crear un dominio de búsqueda de Amazon CloudSearch. Un dominio de búsqueda condensa sus datos y los recursos de hardware y software requeridos para que funcione el motor de búsqueda. Cada dominio de búsqueda tiene una o varias instancias de búsqueda. Una instancia de búsqueda es un servidor que tiene un número de recursos finito de RAM Y CPU para indexar datos y procesar solicitudes. La cantidad de instancias de búsqueda de un dominio depende de los documentos de la colección, así como del volumen y de la complejidad de las solicitudes de búsqueda.
Como servicio de búsqueda administrado, Amazon CloudSearch determina el tamaño y el número de instancias de búsqueda necesarios para ofrecer un desempeño de búsqueda de baja latencia y alta capacidad de desempeño. Cuando crea un dominio de búsqueda, Amazon CloudSearch usa por defecto un tipo de instancia de búsqueda pequeño (search.m1.small). Puede seleccionar un tipo de instancia de búsqueda más grande para aumentar la capacidad de actualización del dominio y reducir la cantidad de tiempo que tarda en cargar e indexar una colección grande de datos. (Si requiere una capacidad mayor que la que ofrece el tipo de instancia más grande, puede aumentar el número de instancias en las que su índice se ha particionado).
A medida que aumenta el número de datos de su índice de búsqueda, Amazon CloudSearch escala su dominio de búsqueda según sea necesario. Cuando su índice supera la capacidad del tipo de instancia actual, el dominio se escala hasta el siguiente tipo de instancia más grande. Si su índice de búsqueda supera la capacidad del tipo de instancia más grande, Amazon CloudSearch particiona el índice en múltiples instancias. Por el contrario, si su índice se reduce, CloudSearch reduce su dominio a menos particiones o a un tipo de instancia de búsqueda más pequeña.
Amazon CloudSearch también escala de forma automática para gestionar las subidas de tráfico de búsqueda. Cuando una instancia de búsqueda se aproxima a su capacidad máxima de consultas, CloudSearch utiliza una réplica de la instancia de búsqueda. Por el contrario, cuando el tráfico de búsqueda disminuye, Amazon CloudSearch retira las réplicas innecesarias para minimizar los costos.
Por ejemplo, un índice de búsqueda que esté dividido en tres particiones usa tres instancias de búsqueda (una para cada partición). Cuando el tráfico de búsqueda sobrepasa la capacidad de procesamiento de las instancias de búsqueda individuales, se crean réplicas de las particiones para proporcionar más capacidad de consulta. Una vez que se han creado las réplicas de la instancia, el dominio tiene un total de seis instancias de búsqueda (dos por cada partición). Si el tráfico continúa aumentando, Amazon CloudSearch añade tantas réplicas como se requiera.
Si prevé un gran volumen de tráfico de consultas o bien un pico significativo del tráfico, puede añadir réplicas de instancia de búsqueda adicionales al dominio.
Puede ver los recursos que están usando los dominios de Amazon CloudSearch desde la página de Actividad de la cuenta en la página web de AWS, a través de la consola de administración de AWS o mediante el envío de solicitudes del API de CloudSearch a través de la interfaz de línea de comandos (CLI) de AWS o los AWS SDK.
La cantidad de datos que puede soportar cada tipo de instancia de búsqueda depende principalmente del tamaño de los documentos que esté indexando y de las opciones de indexación configuradas para su dominio.
Para demostrar la capacidad de cada tipo de instancia de búsqueda, vamos a ver un documento de muestra y la configuración para el conjunto de datos de las películas de IMDb. El siguiente ejemplo muestra un documento de una película de IMDb que tiene un tamaño aproximado de 1 KB:
{
"fields" : {
"directors" : [
"Francis Lawrence"
],
"release_date" : "2013-11-11T00:00:00Z",
"genres" : [
"Action",
"Adventure",
"Sci-Fi",
"Thriller"
],
"image_url" : "http://ia.media-imdb.com/images/M/MV5xMzNeMzAx._V1_SX400_.jpg",
"plot" : "Katniss Everdeen y Peeta Mellark se convierten en objetivo del Capitolio después de que su victoria en la edición 74.º de Los Juegos del Hambre inicien una rebelión en los distritos de Panem.","title" : "The Hunger Games: Catching Fire",
"rank" : 4,
"running_time_secs" : 8760,
"actors" : [
"Jennifer Lawrence",
"Josh Hutcherson",
"Liam Hemsworth"
],
"year" : 2013
},
"id" : "tt1951264",
"type" : "add"
}
Para indexar y buscar documentos de películas como este, configuraremos nuestro dominio de búsqueda con un campo de índice para cada campo de documento. Podemos especificar varias opciones de indexación para cada campo, tales como el tipo de campo, si se puede buscar el campo, así como si la faceta, el retorno, el ordenamiento y el marcador están habilitados. Estas opciones de indexación afectan directamente al número de documentos que pueden caber en una instancia de búsqueda. La siguiente tabla muestra una configuración de ejemplo para los campos del índice de los documentos de las películas de IMdDb.
Nombre |
Tipo |
Búsqueda |
Faceta |
Volver |
Ordenar | Destacar |
---|---|---|---|---|---|---|
actors |
text-array |
✔ | – | ✗ | — | ✗ |
directors |
text-array |
✔ | – | ✗ | — | ✗ |
genres |
literal-array |
✔ | ✔ | ✗ |
— | — |
image_url |
texto |
✗ | — | ✗ | ✗ | ✗ |
plot |
texto |
✔ | – | ✗ | ✗ | ✔ |
rank | int | ✔ | ✗ | ✗ | ✔ | – |
rating |
double |
✔ | ✔ | ✗ | ✔ | – |
release_date |
fecha |
✔ | ✔ | ✗ | ✔ | – |
running_time_secs |
int |
✔ | ✔ | ✗ | ✔ | – |
título |
texto |
✔ | – | ✔ | ✔ | ✔ |
año |
int |
✔ | ✔ | ✔ | ✔ | – |
Cada tipo de instancia de búsqueda tiene la capacidad que se muestra en la siguiente tabla basándose en el tamaño de los documentos (1 KB) y en la configuración del índice:
Tipo de instancia de búsqueda | Capacidad de los datos |
---|---|
Instancia de búsqueda pequeña (search.m1.small) |
2 millones de documentos |
Instancia de búsqueda grande (search.m1.large) | 8 millones de documentos |
Instancia de búsqueda extragrande (search.m2.xlarge) |
16 millones de documentos |
Instancia de búsqueda extragrande doble (search.m2.2xlarge) | 32 millones de documentos |
Por supuesto, esto es solo un ejemplo. El número de documentos que caben en una instancia depende de los distintos documentos y diferentes configuraciones. Si supera la capacidad de una instancia de búsqueda extragrande doble, Amazon CloudSearch particiona de forma automática el índice de búsqueda a través de las instancias de búsqueda extragrandes dobles adicionales. Un índice puede particionarse en 10 instancias de búsqueda extragrandes dobles para que soporte cientos de millones de documentos. Si necesita un escalado mayor, contáctese con nosotros.
El usuario interactúa con Amazon CloudSearch mediante estos tres servicios:
- Servicio de configuración – Cree y configure dominios de búsqueda.
- Servicio de documentos – Cargue lotes de documentos.
- Servicio de búsqueda: envíe solicitudes de búsqueda y sugerencias.
El usuario emplea las políticas de AWS Identity and Access Management (IAM) para administrar el acceso al servicio de configuración, cada documento del dominio y servicio de búsqueda de Amazon CloudSearch.
El servicio de configuración le permite crear y configurar dominios de búsqueda. Para configurar un dominio de búsqueda, asígnele un nombre único y configure las opciones de indexación, los esquemas de análisis de texto, las opciones disponibilidad, las opciones de escalado, el proveedor de sugerencias y expresiones:
- Las opciones de indexación especifican los campos que desea incluir en su índice. Puede usar la consola de administración de AWS y las herramientas de línea de comandos de Amazon CloudSearch para analizar los datos y configurar de forma automática las opciones predeterminadas de indexación.
- Los esquemas de análisis de texto especifican las opciones de procesamiento de texto específico del idioma para los campos de texto y de matriz de texto. Los esquemas de análisis controlan las palabras irrelevantes que deben ignorarse durante la indexación, definen los sinónimos comunes de los términos y especifican cómo se asocian los términos con los recursos comunes.
- Las opciones de disponibilidad le permiten implementar un dominio en dos zonas de disponibilidad para garantizar una alta disponibilidad en el caso de que se interrumpa el servicio.
- Las opciones de escalado le permiten preescalar su dominio al especificar el tipo de instancia deseada, el número de replicaciones y particiones. Esto resulta útil cuando necesita cargar un gran volumen de documentos o prevé un aumento significativo del tráfico de consultas.
- Los proveedores de sugerencias le permiten recuperar las posibles coincidencias de una consulta de búsqueda incompleta, a fin de que pueda visualizar resultados como los tipos de usuario.
- Las expresiones son expresiones numéricas que se evalúan en el momento de la consulta. Puede usar expresiones para controlar cómo se clasifican los resultados de la búsqueda. De forma predeterminada, los documentos se clasifican según la relevancia, para lo que se tiene en cuenta la frecuencia de los términos de búsqueda dentro de un documento. También es posible utilizar expresiones para incluir otros factores en la clasificación. Por ejemplo, si en su dominio tiene un campo numérico llamado “popularidad”, puede definir una expresión que combine la popularidad con la puntuación predeterminada de relevancia para dar a los documentos populares pertinentes una clasificación mayor en los resultados de la búsqueda.
El servicio de documentos se usa para hacer cambios en los datos de un dominio donde se pueden realizar búsquedas. Cada dominio tiene un punto de enlace HTTP exclusivo de servicio de documentos.
Para enviar datos al dominio, necesita que estos tengan formato JSON o XML. Cada elemento que desee que se pueda devolver como resultado de una búsqueda está representado como un documento. Cada documento tiene un ID exclusivo y uno o varios campos que contienen los datos que desea buscar y obtener en los resultados. Los campos de documento pueden contener datos de cadena UTF-8. Las opciones de indexación del dominio especifican la forma en que desea indexar y utilizar los datos.
El servicio de búsqueda administra las solicitudes de búsqueda y sugerencias para un dominio. Cada dominio tiene un punto de enlace HTTP de búsqueda exclusivo. Cuando envía una solicitud de búsqueda o sugerencia, el servicio de búsqueda devuelve una lista con los documentos que coinciden. Los resultados de búsqueda se pueden devolver en JSON o XML.
Amazon CloudSearch ofrece un lenguaje de consulta enriquecido que le permite buscar en campos determinados, realizar búsquedas booleanas complejas, recuperar información de facetas y especificar los datos que quiere que se incluyan en los resultados. También puede especificar opciones para controlar cómo se procesan los términos de consulta y utilizar otros analizadores de consultas como Lucene o DisMax.
Puede usar el comprobador de búsquedas de la consola de Amazon CloudSearch para probar muestras de consultas.
El uso que realice de este servicio está sujeto al Contrato de cliente de Amazon Web Services.