Nunca he trabajado en esto per se, así que obviamente podría estar completamente fuera del objetivo, pero déjame intentar responder esto de la manera más significativa posible.
Por lo que parece, hay 2 partes en su pregunta.
1. Presentar contenido al usuario según el comportamiento del usuario (Personalización)
2. Presente el contenido al usuario en función del tiempo. (Últimos datos primero)
1. Personalización: su algoritmo es importante
Esto significa mostrarle al usuario ese contenido que es específico para él / ella en función de algún parámetro específico (opciones, relevancia de los feeds, en función de los datos, suscripciones, etc.), todo esto podría estar reproduciéndose en el sistema. Ahora, la mayoría de las veces, dependiendo de la red, estos podrían ser datos que nunca son comunes entre los usuarios y el almacenamiento en caché no ayudaría en absoluto. Siempre podría tener diferentes servicios que le brinden los canales de información para cada uno de estos parámetros y muestren los datos en la pantalla cuando el usuario actualice su página. Sin embargo, esto podría significar que funcionará bien para la mayoría de los casos de uso. Sin embargo, si habla de un sitio como Quora que es en tiempo real, esto podría significar un sistema completamente diferente donde el índice por sí solo no es para resolver el problema.
- Si quiero convertirme en desarrollador web, ¿debo aprender JavaScript? ¿Puedo aprender Python en su lugar?
- ¿Por qué es JavaScript tan difícil en comparación con Html y CSS? ¿Cómo puedo aprenderlo cuando no puedo entenderlo?
- ¿Google Drive ejecuta scripts en el navegador o en la parte de atrás?
- ¿Cuáles son los problemas asociados con los sitios web, servidores y bases de datos a medida que crecen significativamente? ¿Hay buenos libros, artículos o conferencias en línea que discutan este tema en profundidad?
- Para los nuevos clientes, ¿tiene una plantilla de cuestionario estándar que utiliza para extraer información relevante antes de lanzar un nuevo proyecto de desarrollo de sitios web?
2. Datos nuevos primero: use cadenas de datos
Ahora, según los elementos que desea mostrar, es posible que deba mostrar los datos que son frescos / relevantes según el algoritmo que utiliza para filtrar los datos que son relevantes. Dar un algo estándar sin tener en cuenta la vida media del elemento hará que se muestren todo el tiempo.
La mayoría de las veces su función podría ser una suma única que puede asignar el peso a su elemento o una función matemática compleja donde un elemento como Flexviews que construye una vista materializada incremental podría funcionar. Esto podría ser incluso un sistema como Percolator o Dremel para calcular el índice o la clasificación de los elementos que se mostrarán. YMMV.
tldr;
La mayoría de las veces, el índice que usa para mostrar puede ser solo pesos asociados a él para filtrar elementos por debajo de un umbral. Si puede usar un algoritmo simple o una función que pueda asignar los criterios a un solo valor, ese podría ser su índice.