我提个不成熟的想法,可能需要去仔细考察具体的可行性
首先,我大胆的猜想一下这个匹配分数在业务中的场景,大致可能有以下几种
(1) C端用户实时查看当前的一个匹配值 —— 场景1
(2) 供给内部其他系统,做为推荐的依据 —— 场景2
其次,按你说的 用户更改信息,就要批量去更改对应的匹配值
那么,实际上这个数据并不是一个需要事先进行处理的一个值,应该是在需要的时候实时去进行计算的
但是由于这个场景的实时性,我们可以考虑用其他的数据库进行处理。
从我浅薄的知识储备中,这种场景可以考虑使用ElasticSearch
对于场景1,则可以根据两个人的数据实时计算一个匹配值,可以考虑复用ES中的权重
对于场景2,则匹配值变为了 匹配文档的某些特征,即通过当前文档的特征,寻求对应的某些特征的文档的操作,再按照自己的规则进行排序打分,同样的,如果可以和查询出的权重进行挂钩,那么这个分数的计算会很方便
如果真的是场景2是主要的业务场景的话,建议去网上搜一下推荐系统的处理
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…