Continuando con el reto de brindarle las herramientas que necesita para construir sitios Web y aplicaciones ridículamente poderosas en muy poco tiempo y al costo más bajo, deseo presentarles Amazon CloudSearch. Si alguna vez ha buscado algo en Amazon.com ya ha utilizado la tecnología que sustenta a CloudSearch. Ahora, podrá tener un sistema de búsqueda muy poderoso y escalable (con índices y recuperación) trabajando en menos de una hora.
Sentado en su cubículo corporativo, en la cafetería o en su dormitorio, a partir de ahora tendrá acceso a la tecnología de búsqueda a un precio muy bajo. Puede comenzar a aprovechar la amplia experiencia de Amazon R&D en la búsqueda de espacio por tan sólo US$0.12 por hora (Habrá información más específica sobre precios más adelante en el documento).
¿Qué es la búsqueda?
La búsqueda juega un papel muy importante en muchos sitios web y otros tipos de aplicaciones en línea. El modelo básico es aparentemente simple. Piense en un grupo de documentos o en su colección de información como en un libro o un catálogo impreso, compuesto de un número específico de páginas. Usted sabe que puede encontrar el contenido deseado de manera rápida y eficiente con tan sólo consultar el índice.
La búsqueda hace lo mismo indexando cada documento en una forma que facilita una rápida recuperación. Introduzca algunos términos en la casilla de búsqueda y el sitio responderá (bastante más rápido si usa CloudSearch) con una lista de páginas que se equipara con los términos de la búsqueda.
Como en muchos casos, este simple modelo oculta mucha complejidad y puede plantearle varias dudas. Por ejemplo:
- ¿Qué tan eficiente es la búsqueda? ¿El motor de búsqueda simplemente recorre cada página buscando coincidencias o existe algún tipo de índice?
- ¿El resultado de la búsqueda es devuelto como una lista ordenada? ¿Qué factor(es) determina(n) cuáles documentos fueron retornados, y en qué orden (comúnmente conocido como calificación)?
- ¿Cómo se agrupan los resultados? ¿Qué tan permisiva o expansiva fue la búsqueda? Por ejemplo, ¿la búsqueda de "perros" dio como resultado "perro"? ¿Los resultados que se obtuvieron incluyeron "golden retriever" o "mascotas"?
- ¿Qué tipo de búsquedas complejas o preguntas se pueden usar? Por ejemplo, ¿la búsqueda por la frase"entrenamiento del perro " dio los resultados esperados? ¿Se puede buscar "perro" en el campo de titulo y "entrenamiento" en la descripción?
- ¿Qué tan escalable es la búsqueda? ¿Qué pasa si hay millones o miles de millones de páginas? ¿Qué pasa si hay miles de búsquedas por hora? ¿Hay suficiente espacio de almacenamiento?
- ¿Qué sucede cuando las páginas se añaden a la colección, o las páginas antiguas se eliminan? ¿Cómo afecta esto a los resultados de la búsqueda?
- ¿Cómo puede navegar y explorar resultados de la búsqueda eficientemente? ¿Se pueden agrupar y filtrar los resultados de la búsqueda de tal forma que se aprovechen campos con nombres múltiples (a menudo conocida como búsqueda facetada)?
Queda claro que las cosas se pueden complicar mucho y muy rápidamente. Aún cuando pueda escribir un código para hacer algo o todo usted mismo, tendrá que preocuparse sobre los aspectos operativos. Sabemos que escalar el sistema de búsqueda no es un asunto insignificante. Hay muchas partes móviles, y todas deberán estar diseñadas e implementadas, segmentarse, escalarse, monitorearse y mantenerse. A medida que se escala, la complejidad de los algoritmos a menudo entra en el juego, y pronto se dará cuenta de que los algoritmos y técnicas que eran prácticas al principio no siempre lo son al escalar.
¿Qué es Amazon CloudSearch?
Amazon CloudSearch es un servicio de búsqueda totalmente gestionado en la nube. Puede instalarlo y comenzar a procesar preguntas en menos de una hora, con escaladas automáticas para soportar incrementos en el tráfico de información y búsqueda de datos; todo por menos de US$100.00 al mes.
CloudSearch oculta toda la complejidad y toda la infraestructura. Usted simplemente le da un grupo de documentos y decide cómo quiere incorporar la búsqueda en su aplicación.
No es necesario escribir su propio índice, análisis de preguntas, procesos, manejo de resultados o cualquier otra cosa, como tampoco preguntarse si está por terminarse el espacio o la capacidad de procesamiento, o si necesita reescribir su código para añadir más características.
Con CloudSearch, puede enfocarse en la capa de aplicación. Usted sube sus documentos y CloudSearch los indexa y podrá disfrutar de una experiencia de búsqueda a su medida y a la medida de sus clientes.
¿Cómo funciona?
El modelo de Amazon CloudSearch es realmente simple, pero no se confunda este término con simplista, ¡sucede mucho tras bambalinas!
He aquí todo lo que necesita hacer para comenzar (puede ejecutar estas operaciones desde la consola AWS Management Console, la línea de herramientas de comando CloudSearch o a través de CloudSearch APIs):
- Genere y configure un dominio de búsqueda o Search Domain. Este es un contenedor de información y un grupo de servicios relacionados. Existe dentro de una Availability Zone o zona de disponibilidad particular de una región AWS en específico (inicialmente en la región US East).
- Suba sus documentos. Los podrá subir como JSON o XML que se ajuste a nuestro formato de búsqueda de documento, Search Document Format (SDF). Los documentos que se han subido generalmente podrán ser buscados en segundos. Si lo desea puede enviar la información en una conexión HTTPS para protegerlos mientras se transmiten.
- Realice sus búsquedas.
Existen muchas opciones y beneficios, y esto es todo lo que se necesita para comenzar.
Amazon CloudSearch aplica actualizaciones de información constantemente, por lo que los datos recientes quedan sujetos de ser buscados casi en tiempo real. Su índice se almacena en RAM para mantener alto el rendimiento y acelerar las actualizaciones de los documentos. También puede pedir a CloudSearch que re-indexe sus documentos; necesitará hacer esto después de cambiar ciertas opciones de configuración tales como los derivados o stemming (convertir variaciones de una palabra a una palabra raíz, por ejemplo "perros" a "perro") o las llamadas stop words (palabras muy comunes que no quiera indexar).
Amazon CloudSearch tiene varias opciones avanzadas de búsqueda como facetas (faceting) y campos o (fielded search):
La búsqueda por facetas le permite ordenar sus resultados en subgrupos por categoría. Puede buscar "sombrillas" y usar una faceta para agrupar los resultados por precio, por ejemplo $1-$10, $10-$20, $20-$50, y así en adelante. CloudSearch incluso le indicará la cuenta de documentos para cada sub grupo.
La búsqueda por campo le permite buscar un atributo especial de un documento. Puede encontrar películas de un género o actor, o bien productos de un cierto rango de precio.
Escala de búsqueda
CloudSearch almacena datos y procesos de búsqueda de forma invisible usando solicitudes de búsqueda. Cada uno utiliza una cantidad determinada de energía del CPU y de RAM. A medida que su información se expande, CloudSearch lanzará automáticamente solicitudes de búsqueda adicionales y/o escalará a tipos mayores. A medida que se expande su tráfico de búsqueda más allá de la capacidad de una sola solicitud, CloudSearch lanzará automáticamente solicitudes adicionales y replicará la información en la nueva instancia. Si tiene muchas solicitudes y una tasa de solicitud alta, CloudSearch escalará automáticamente ambas dimensiones.
Amazon CloudSearch escalará automáticamente su búsqueda hasta un máximo de 50 solicitudes o instancias de búsqueda. Con el paso del tiempo incrementaremos este límite. Si requiere más de 50 instancias de inmediato, por favor contáctenos y con gusto le atenderemos.
La utilidad bruta de toda esta automatización es que usted no se preocupe de la capacidad de almacenamiento o capacidad de procesamiento. CloudSearch se ocupará de ello, y usted pagará solamente por lo que utilice.
Modelo de precios
A continuación se explica el modelo de precios de Amazon CloudSearch:
Su factura estará en relación al número de instancias de búsqueda que se hayan corrido. Existen tres tamaños de solicitud de búsqueda (pequeña, grande y extra grande) con precios que van de US $0.12 a $0.68 por hora (estos son precios para la región US East, ya que ahí fue el lanzamiento de CloudSearch).
Existe un pequeño cargo por cada grupo de datos que se suban. Si cambia las opciones de configuración y requiere volver a indexar su información, se le cobrará US $0.98 por cada Gigabyte de información en el dominio de búsqueda.
No hay cargo por transferencia de datos de entrada, la salida de transferencia de datos se cobra según las tarifas regulares de AWS y podrá transferir información de y hacia sus instancias Amazon EC2 dentro de la región sin ningún cargo.
Búsqueda avanzada
Tal como los demás servicios de Amazon Web, CloudSearch le permite iniciar con un pequeño esfuerzo y beneficiarse de la riqueza y la complejidad con el tiempo. Podrá implementar fácilmente funciones avanzadas tales como la búsqueda facetada, la búsqueda de texto libre, expresiones de búsqueda booleana, calificación de importancia personalizada, búsqueda y clasificación basadas en campos y opciones de procesamiento de texto tales como stop words, sinónimos y ramificaciones.
Programación de CloudSearch
Podrá interactuar con CloudSearch a través de la consola AWS Management Console, una serie completa de Amazon CloudSearch APIs, y una serie de herramientas de línea de comando. Puede crear, configurar y poblar un dominio de búsqueda fácilmente a través de AWS Management Console.
CloudSearch en acción
Algunos clientes recientes ya han implementado las aplicaciones que ofrece CloudSearch. He aquí algunos ejemplos:
- Search Technologies ha usado CloudSearch para hacer un índice en Wikipedia (ver el demo).
- NewsRight usa CloudSearch para realizar búsquedas para información de nuevos contenidos, usos y derechos en más de 1,000 publicaciones.
- ex.fm utiliza CloudSearch para dar capacidad de procesamiento a su sitio web social de descubrimiento de música.
- CarDomain ofrece funciones de búsqueda en su red social para aficionados de automóviles.
- Sage Bionetworks incluyó una función de búsqueda en su sitio Web de investigación biológica colaborativa accionada por datos.
- Smugmug utiliza CloudSearch para dar capacidad a la búsqueda dentro de su sitio web para más de mil millones de fotos.
Como puede ver, estas nuevas aplicaciones son una muestra de muchos casos diferentes. ¿Cómo planea usar Amazon CloudSearch? ¡Déjeme un comentario para saberlo!
¿Le interesa saber más? Por favor visite Amazon CloudSearch y su página de información general dando clic en page y vea un video que le mostrará cómo crear una aplicación de búsqueda usando Amazon CloudSearch. También puede inscribirse dando clic en sign up al seminario introductorio Introduction To Amazon CloudSearch que se llevará a cabo el 10 de mayo.
-- José Papo
Recent Comments