给定的数据如下所示:
{'_id': 'foobar1',
'about': 'similarity in comparison',
'categories': ['one', 'two', 'three']}
{'_id': 'foobar2',
'about': 'perfect similarity in comparison',
'categories': ['one']}
{'_id': 'foobar3',
'about': 'partial similarity',
'categories': ['one', 'two']}
{'_id': 'foobar4',
'about': 'none',
'categories': ['one', 'two']}
Run Code Online (Sandbox Code Playgroud)
我想找到一种方法来获取单个项目与集合中所有其他项目之间的相似性,然后按相似性最高的顺序返回它们。相似度是基于共同的词数,已经有一个功能int similar(String one, String two)
例如:如果我想要的about字段的相似性列表foobar1,它将返回
[{'_id': 'foobar2'}, {'_id': 'foobar3'}, {'_id': 'foobar4'}]
我使用吗啡来做到这一点,但是仅通过mongoDB实现,我就可以弄清楚其余部分