12 puntos por xguru 2020-10-29 | 2 comentarios | Compartir por WhatsApp
  • Por qué OkCupid eligió Vespa como motor de búsqueda open source

  • Necesitan cambiar la recomendación de parejas en función del ranking en tiempo real, pero el sistema de matching existente tenía dificultades para reflejar rápidamente el estado cambiante de los usuarios

  • ElasticSearch no ofrece soporte para actualizaciones parciales en memoria

→ Los documentos son en su mayoría estáticos, pero la información del usuario (likes, conexiones/pases con otras personas, mensajería) cambia dinámicamente de forma continua

  • Vespa: motor de búsqueda open source para big data (optimizado para serving más que para análisis de datos)

→ Soporta actualizaciones parciales en memoria sin necesidad de reindexar todo el documento (40~50K actualizaciones por segundo por nodo)

→ Ofrece un framework de ranking flexible que puede procesarse al consultar

→ Integración directa con modelos de machine learning como TensorFlow

→ Permite consultas usando YQL (Yahoo Query Language) en llamadas REST

→ Se puede personalizar la lógica usando componentes Java

→ En escalabilidad no hace falta pensar en shards. Cada vez que se agregan o eliminan nodos, los datos se recuperan automáticamente y se redistribuyen desde las réplicas

  • Vespa encaja mejor con el entorno interno de OkCupid

→ OkCupid hace matching de personas integrando diversa información sobre los usuarios

→ Hay más de 100 filtros y criterios de ordenamiento, y siguen aumentando, por lo que Vespa se adapta bien para soportar este tipo de flujo de trabajo

→ La escritura de datos y las consultas también son similares al sistema de matching existente

→ El framework de ranking es mucho más flexible e intuitivo

→ Frente a la extraña estructura de consultas de ElasticSearch, la capacidad expresiva de YQL es superior

→ La función de despliegue automático de datos es adecuada para un equipo pequeño

2 comentarios

 
xguru 2020-11-01

Una introducción en coreano sobre la historia y el valor de Vespa

Yahoo Vespa de código abierto https://web.archive.org/web/20210922122357/…
( A partir de 2023, el blog desapareció, así que lo reemplacé con un enlace de Wayback Machine )

"Vespa también es el nombre de una marca de motocicletas, pero es la sigla de Vertical Search Plaform"
"Entre las tecnologías clave que tenía Yahoo y que parecía que nunca iba a hacer públicas, Vespa siempre se mencionaba como una de las cinco más destacadas"
"Vespa es un conjunto de componentes de una plataforma integrada de procesamiento de contenido centrada en un motor de búsqueda. En pocas palabras, se puede considerar un motor de búsqueda, pero en comparación con motores de búsqueda generales como Solr o Elastic, tiene muchos más componentes periféricos."

 
xguru 2020-10-29

El artículo es bastante largo, pero hacia el final muestra la arquitectura del sistema de OkCupid donde realmente aplicaron Vespa, así como consultas de búsqueda (YQL), así que conviene revisar el original.

Como también se menciona al final del artículo, ElasticSearch se usa mucho más y la desventaja de Vespa es que su comunidad todavía no es muy grande.

Pero, como se ve aquí, para búsquedas que necesitan cambiar continuamente, Vespa también podría ser una excelente alternativa.

Pusieron como ejemplo el emparejamiento de parejas para citas, pero las búsquedas de e-commerce hoy en día también necesitan cambiar en tiempo real para poder dar buenos resultados.