如何有效地对可变结构的JSON对象进行排名(使用MongoDB)

时间:2019-01-28 17:09:42

标签: r mongodb matching similarity ranking

Hello stackoverflow社区,

我有一个可能是特殊的局部匹配(排序)问题,直到现在我还是无法在数据库中有效解决。假设我在数据库中存储了以下JSON对象(以我的情况为例:MongoDB)。

1

{ “ first_name”:“ hans”, “ last_name”:“ maier”, “ has_debt”:“ true” }

2

{ “ name”:“ hans peter”, “ has_debt”:“也许”, “ random_field”:1 }

3

{ “ first_name”:“ hans”, “ last_name”:“müller”, “ has_debt”:“ true”, “ random_stuff”:“ true” }

现在假定以下对象是新交付的:

4

{ “ first_name”:“ hans”, “ last_name”:“müller”, “ has_debt”:“ true”, “ country”:“美国和A” }

我需要为#4对象提供以下数据库中条目的排名:#3,#1,#2,具体取决于精确的键值匹配数(=“交集大小”)。

例如:#3和#4恰好具有三个匹配的键值对。

注意:我明确不想模糊匹配文本片段或标准化数据,例如,(取消)合并名字/姓氏字段。每个领域都具有相同的重要性。

您是否知道合适的MongoDB排名技术或解决此任务的问题的转换方法?如果没有,是否有替代技术可以有效解决此问题?

我有一个朴素的R实现来解决此问题,但我正在寻找一种(最好的情况)查询来有效(且可扩展)解决此问题。

提前谢谢! 最好的问候,帕特里克

0 个答案:

没有答案