A similar Product Recommendation Engine that we will use for this uses the PredictionIO template documented at http://predictionio.incubator.apache.org/templates/similarproduct/quickstart. Once the engine template is deployed, we will have a RESTFUL endpoint that can take a predictive query and start recommending the items. We are using the Similar Product Scala template located here (https://github.com/apache/incubator-predictionio-template-similar-product).
The engine uses the Collaborative Filtering discussed in the Introduction To Spark MLlib section and MLlib for the ALS (Alternate Least Square) algorithm. You can find the entire project on the GitHub repository (https://github.com/msrivastav13/pio-engine-heroku ...