Persist productFeatures RDD model to memory for faster multiple accesses
diff --git a/src/main/scala/ALSAlgorithm.scala b/src/main/scala/ALSAlgorithm.scala
index 977edd8..52a3ed2 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -56,7 +56,9 @@
   def apply(id: String, params: ALSAlgorithmParams,
     sc: Option[SparkContext]) = {
     new ALSModel(
-      productFeatures = sc.get.objectFile(s"/tmp/${id}/productFeatures"),
+      productFeatures = sc.get
+        .objectFile(s"/tmp/${id}/productFeatures")
+        .cache(), // persist to memory for fast multiple accesses
       itemStringIntMap = sc.get
         .objectFile[BiMap[String, Int]](s"/tmp/${id}/itemStringIntMap").first,
       items = sc.get