Author: srowen
Date: Thu Feb 24 18:07:56 2011
New Revision: 1074244
URL: http://svn.apache.org/viewvc?rev=1074244&view=rev
Log:
Properly clear estimatedPreferenceCache on updates
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/CachingRecommender.java
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/CachingRecommender.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/CachingRecommender.java?rev=1074244&r1=1074243&r2=1074244&view=diff
==============================================================================
---
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/CachingRecommender.java
(original)
+++
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/CachingRecommender.java
Thu Feb 24 18:07:56 2011
@@ -74,7 +74,7 @@ public final class CachingRecommender im
refreshHelper.addDependency(recommender);
}
- private void setCurrentRescorer(IDRescorer rescorer) {
+ private void setCurrentRescorer(IDRescorer rescorer) {
if (rescorer == null) {
if (currentRescorer != null) {
currentRescorer = null;
@@ -157,9 +157,15 @@ public final class CachingRecommender im
* @param userID
* clear cached data associated with this user ID
*/
- public void clear(long userID) {
+ public void clear(final long userID) {
log.debug("Clearing recommendations for user ID '{}'", userID);
recommendationCache.remove(userID);
+ estimatedPrefCache.removeKeysMatching(new Cache.MatchPredicate<LongPair>()
{
+ @Override
+ public boolean matches(LongPair userItemPair) {
+ return userItemPair.getFirst() == userID;
+ }
+ });
}
/**
@@ -170,6 +176,7 @@ public final class CachingRecommender im
public void clear() {
log.debug("Clearing all recommendations...");
recommendationCache.clear();
+ estimatedPrefCache.clear();
}
@Override