Search 什么';优化我的Foursquare API搜索查询的最佳方法是什么?

Search 什么';优化我的Foursquare API搜索查询的最佳方法是什么?,search,foursquare,Search,Foursquare,我从Foursquare的场地搜索API中得到了一些不稳定的结果,我想知道是否有人对如何处理我的输入参数以获得最“直观”的结果有什么建议 例如,假设我正在“纽约”附近搜索一个名为“Ise寿司”的地点,它相当于使用Google Maps API搜索(lat:40.7143528,lon:-74.0059730999999)。插入Foursquare场馆API,我们可以获得: https://api.foursquare.com/v2/venues/search?query=ise%20sushi&

我从Foursquare的场地搜索API中得到了一些不稳定的结果,我想知道是否有人对如何处理我的输入参数以获得最“直观”的结果有什么建议

例如,假设我正在“纽约”附近搜索一个名为“Ise寿司”的地点,它相当于使用Google Maps API搜索(lat:40.7143528,lon:-74.0059730999999)。插入Foursquare场馆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
这产生了最直观的结果:我要寻找的地点首先出现,同时还有一个结果,“Ise餐厅”(被标记为“寿司餐厅”)。值得一提的是,这实际上似乎是在Foursquare自己的网站上进行的


我很好奇我应该从中吸取什么教训。我应该降低坐标的精度吗?我应该用下划线连接我的搜索词吗?如果是的话,这是否限制了用户对搜索词的排序?

尽管我们可以通过排名改进来找到这一遥远的精确匹配,但指定intent=browse通常也有帮助(虽然在这种情况下看起来像是这样,但目前来看,它可能会给您带来更糟糕的结果)。默认情况下,/Vinces/search使用intent=checkin,这会很难找到与您的搜索相匹配的匹配项,但会牺牲其他方式。在

了解更多信息伟大的问题,这确实应该由Foursquare的人来回答。需要注意的是,lat/lng精度:我认为Foursquare截断e你的lat/lng,因为SMARPHONE的传感器不准确,所以第4点之后,有时第5点之后的任何内容都是不相关的。不知道Foursquare在哪里削减数字,但请记住它们可能会削减。(顺便说一句,第6点或第7点之后的任何内容也与民用gps无关,无论来源是什么)我很早就尝试了
intent=browse
,但似乎没有产生根本性的改进。Foursquare网站自己的搜索功能似乎能产生相当直观的结果,因此我很好奇它与Vincements API共享多少内部结构。无论如何,我现在使用的策略是从下划线开始如果结果的数量小于给定的限制,我将使用原始搜索项(即,不替换)重新查询.通过一些公认的有限测试,它似乎提供了一个很好的结果组合。是的,了解foursquare网站是如何搜索的肯定会很好。我尝试了各种方法来获得准确的结果,但我从来都无法接近网站上的结果。无论我使用什么意图,无论我是否使用radius+一个问题,我是否使用边界框的位置等,有没有机会给我们一些信息,该网站是如何查询的地方?