我有一个充满两种不同类型用户(导师和受访者)的数据库,我希望第二组(导师)能够为第一组(导师)中的人员“搜索”谁符合他们的个人资料导师和受指导者可以随时进入并更改其个人资料中的项目。与当前数据匹配的用户
目前,我正在使用Apache Mahout进行用户匹配(recommender.mostSimilarIDs())。我遇到的问题是每次任何人搜索时都必须重新加载用户数据。这本身并不需要那么长时间,但是当Mahout处理数据时,它似乎需要很长时间(对于3000名导师和3000名受访者,需要14分钟)。处理后,匹配只需几秒钟。在处理过程中(“处理2248个用户”),我也一遍又一遍地得到相同的INFO消息,同时查看代码显示消息应该每10000个用户才输出。
我使用GenericUserBasedRecommender和GenericDataModel,以及NearestNUserNeighborhood,AveragingPreferenceInferrer和PearsonCorrelationSimilarity。我从数据库加载指导者,将指导者添加到POJO列表中并将其转换为FastByIDMap以提供给DataModel。
有没有更好的方法来做到这一点?产品所有者需要每次搜索都需要数据。