【发布时间】:2017-07-26 20:19:00
【问题描述】:
我开发了一个电报机器人,可以匹配 2 个使用相同语言的用户,并且当他们都在寻找具有 postgres 查询的合作伙伴时。 我想添加 可选 功能来匹配用户也取决于位置(最近的用户)。 由于这是一个选项,我想我会默认将列保持为空,如果用户发送他的位置,我会添加它。 我将使用 postigs 来实现它。 我有两个问题:
使用地理还是几何更好?因为人们可以来自世界各地,我在这些情况下阅读最好使用地理,但无论如何我不需要任何精确的数据,只需要知道谁是最近的用户以及他们之间的距离(也大约只是当它们匹配时被指示为附加信息)。我希望查询能够快速运行(我的意思是不到 1 秒)。我正在考虑使用 KNN 在列上创建索引并使用 排序。这是一个不错的选择吗?你会为此做什么?几何还是地理?我的想法好吗?
1234563没有指定位置的我从 NULL 值用户中随机抽取一个。这可以通过查询实现吗?
如果有帮助的话,我的机器人是用 python 编写的。
非常感谢
【问题讨论】:
标签: python database postgresql postgis knn