【发布时间】:2012-01-20 17:26:05
【问题描述】:
我从 Foursquare 的场地搜索 API 中得到一些不稳定的结果,我想知道是否有人对如何处理我的输入参数以获得最“直观”的结果有任何提示。
例如,假设我正在使用 Google Maps API 搜索一个名为“Ise Sushi”的场所,位于“New York, NY”附近,相当于 (lat: 40.7143528, lon: -74.00597309999999)。插入 Foursquare Venue API,我们得到:
https://api.foursquare.com/v2/venues/search?query=ise%20sushi&ll=40.7143528%2C-74.00597309999999
这产生了相当令人失望的结果:我正在寻找的场地最终排在列表的第 11 位。有趣的是,降低坐标精度似乎会产生更好的结果。例如,假设我们要将坐标四舍五入为 3 位有效数字:
https://api.foursquare.com/v2/venues/search?query=ise%20sushi&ll=40.7%2C-74.0
这一次,我正在寻找的地点最终排在第二位,尽管它实际上距离搜索中心更远(1072 米,而使用第一个查询时为 833 米)。
另一个似乎有助于提高搜索质量的修改是用下划线代替空格来分隔我们的搜索词。例如,下面是带有下划线的原始查询:
https://api.foursquare.com/v2/venues/search?query=ise_sushi&ll=40.7143528%2C-74.00597309999999
这会产生最直观的结果:我正在寻找的地点首先出现,并且伴随着另一个结果,“伊势餐厅”(被标记为“寿司餐厅”)。值得一提的是,这实际上似乎是在 Foursquare 自己的网站上进行的the result set of the same search。
我很好奇我应该从中吸取什么教训。我应该降低坐标的精度吗?我应该用下划线连接我的搜索字词吗?如果是这样,这是否会限制用户对搜索字词的排序方式?
【问题讨论】:
-
好问题,这真的应该由 Foursquare 的人来回答。需要注意的一件事是 lat/lng 精度:我 认为 Foursquare 会截断您的 lat/lng,因为 smarphone 的传感器不准确,第 4 点之后的任何内容,有时第 5 点都无关紧要。不知道 Foursquare 在哪里削减了数字,但请记住他们可能会这样做。 (顺便说一句,第 6 点或第 7 点之后的任何内容也与民用 gps 无关,无论来源是什么)
标签: search foursquare