Las búsquedas en tiempo real de Twitter eran hasta recientemente, basadas en Summize.
Aunque ya vienen probando en el backend con la nueva arquitectura de búsquedas, los ingenieros en Twitter han decidido adoptar Lucene, una search engine library (Open Source), escrita en Java, moviéndose así de una base de datos relacional, a un muy eficiente index invertido.
Es muy posible que no lo haya notado aún pero cuando despliega sus tweets no solo que existe un nuevo diseño pero tan pronto como mueve el cursor hacia abajo, los tweets siguientes siguen desplegándose automáticamente.
En la nota en el blog de ingeniería que tiene Twitter, se manifiesta que mientras Lucene es muy bueno, tal como está diseñado no permite presentar grandes volúmenes de búsquedas en tiempo real.
Utilizando el mismo API de Lucene, Twitter ha re-escrito partes de la estructura de datos, especialmente las listas de tweets. Y eso es muy bueno porque ahora, como dije antes, podemos leer indexes más largos sin disminuir la velocidad de búsqueda en el sitio.
Lo mejor que la transición se ha estado realizado en el backend y sin interrupciones para los usuarios. Aún hay varias cosas más por venir, escriben.
Para un sitio con sobre 1,000 TPS (Tweets/seg) y 12,000 QPS (queries/seg) , las búsquedas fácilmente llegan a mil millones de queries por día. Agregar un tweet en menos de 10 segundos y llegar a indexar —en el futuro, 50 más tweets por segundo de lo que hacen ahora, es un progreso que los motores de búsqueda deberían ponerle cuidado.
[Fuente TechCrunch][Imagen CC Laughing Squid]
si si! lucene es un excelente motor de busquedas! el otro dia estuvimos probandolo para usarlo, pero jamas imagine q iba a ser adoptado por twitter!
muy bien por nuestro pequeño amigo social! ;)