- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我正在建立一个网站,需要能够存储一个人的物理位置,并允许某人搜索该位置一定半径内的其他人。举个例子,让我们假设它是一个约会网站(事实并非如此),因此作为用户,您希望找到当前位置 50 英里范围内满足其他一组搜索条件的人。
目前,我将所有用户信息存储在 Azure 表存储中。然而,这是我第一次尝试创建地理感知搜索算法,因此我想验证我不会浪费时间做一些完全疯狂的事情。为此,我的实现思路如下:
自然,这种实现策略会带来一些问题:
感谢您提前提供的帮助!
最佳答案
如果您希望对 Azure 表进行快速查询,则必须针对分区键和行键运行查询。此外,如果您使用 LINQ 查询 Azure 表,那么您需要小心使用哪些函数。如果可以为所有行计算一次值,LINQ 会很聪明,并在将查询发送到 AZT 之前对其进行评估,但是如果需要对每一行进行评估,那么您只能使用 Azure 支持的那些值(即一个非常短的列表)。
如果您想为您的区域使用边界正方形而不是边界圆,您也许可以实现此目的。将纬度存储在 PartitionKey
中,将经度存储在 RowKey
中,并使用如下所示的查询:
var query = from UserLocation ul
in repository.All()
where
ul.PartitionKey.CompareTo(minimumLatitude) > 0
&& ul.PartitionKey.CompareTo(maximumLatitude) < 0
&& ul.RowKey.CompareTo(minimumLongitude) > 0
&& ul.RowKey.CompareTo(maximumLongitude) < 0
select
ul;
这可能并不像您希望的那么聪明。如果这对您不起作用,那么您需要考虑其他选择。 SQL Azure 支持geospatial queries如果您想留在 Microsoft 大家庭。
关于azure - 有关在 Azure 存储中存储和搜索地理位置数据的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8055900/
由于 Jquery Mobile 在导航时将一些页面保留在 DOM 中,因此在来回时可能会多次访问一个页面。 如果我绑定(bind)到如下所示的页面并在此绑定(bind)内执行我所有的页面逻辑,其中包
我是一名优秀的程序员,十分优秀!