¿Cuál sería el plan de aprendizaje si quisiera construir un sistema de recomendaciones junto con un motor de búsqueda?

Lo primero que haría es tratar de entender cuáles son algunos desafíos al diseñar un sistema de recomendación. La presentación de Xavier Amatriain en MLSS es un muy buen lugar para comenzar:

No se preocupe si hay muchas cosas que aún no comprende. Intenta escribirlos y luego repasarlos uno por uno.

Para un enfoque más tradicional, Coursera tiene un curso muy bueno (y gratuito):
https://www.coursera.org/learn/r…

Lo más importante es comenzar a experimentar tan pronto como comience a controlar algunos algoritmos. El curso anterior tiene una tarea interesante para ti.

También podría usar algunos de los proyectos que tienen un entorno para el aprendizaje automático, como Mahout y Spark.
Para Mahout, Mahout en acción es un muy buen lugar para comenzar:
http://openresearch.baidu.com/u/…

Con respecto a la búsqueda, no puedo decir que tenga mucha experiencia. Sin embargo, construí un motor de búsqueda usando RavenDB. La documentación en su sitio web es bastante completa y directa.
la base de datos NoSQL de código abierto para .NET

Un último consejo: ¡siga a las personas adecuadas (en su campo de interés)!

¡Espero que esto haya sido útil!