我有场A, B, C, D
并且需要A,B,C,D
衣柜记录这一载体MY = (2, 3, 4, 5)
。查找与最接近这些值记录我有
我的每个查询都不同。
,想到的唯一的事情是由abs(A - MY.A) + abs(B - MY.B) + ...
某种方式排序每次。但我认为它应该工作得很慢。
现在我想使用的MongoDB。如果你认为MongoDB不是最好的工具 - 我很乐意听到任何建议。
地理位置 - 它只需要2个坐标。 我只是数字的矢量。它不是空间的。 ABCD介于1和10之间。 我的意思是我需要找到其他矢量来最小化K = | MY-OTHER |。
预先感谢。
新鲜想法
查询中的所有记录,其中A是在[A - S,A + S],B在[B - S,B + S] ..然后使用一些逻辑对它们进行排序。 s - 基于记录数量的常量,选择它使查询返回多达10-20条记录。
我在我的问题中指定了详细信息。这很好,如果它是我自己的内存数据库。但是,如果它不是(并且不是) - 我必须检查每个记录是否接近(通过任何Cosline算法或简单的差异长度)。这真的很慢。 –