2012-01-20 9 views
13

私はフォースクエアの会場検索APIからいくつかの不安定な結果を得ることだし、誰もが最も「直感的」な結果のための私の入力パラメータを処理する方法上の任意のヒントを持っている場合、私は思ったんだけど。Foursquare APIの検索クエリを調整するにはどうすればよいですか?

たとえば、GoogleマップAPIを使用して(lat:40.7143528、lon:-74.00597309999999)と同等の「ニューヨーク、ニューヨーク」周辺の「Ise Sushi」という会場を検索しているとします。フォースクエア会場のAPIにプラグイン、我々が得る:

https://api.foursquare.com/v2/venues/search?query=ise%20sushi&ll=40.7143528%2C-74.00597309999999 

は、これはかなりがっかりな結果が得られます。私が探している会場は11位で、ドロップダウンリストではなく遠くなってしまいます。面白いのは、の精度がはるかに良い結果を生むように見えるです。それは実際に遠くの中心からであっても、

https://api.foursquare.com/v2/venues/search?query=ise%20sushi&ll=40.7%2C-74.0 

今回、私が探している会場が2位に終わる:たとえば、私たちは3桁に座標を四捨五入したと仮定検索(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と思われます。

は、私がこれから学ぶべきこと教訓興味があります。私は座標の精度を落とすべきですか?検索語句に下線を付ける必要があります。そうした場合、ユーザーが検索語をどのように注文するかが制限されますか?

+2

グレート質問には、こちらをご覧ください、これは本当にフォースクエアから誰かが回答しなければなりません。注意すべきことの一つ、緯度/経度の精度:I *を考えるsmarphonesのセンサーは正確ではありませんので、フォースクエアは、あなたの緯度/経度を切り捨てること*、〜第四、第五いつかポイントの後に何も関係ありません。 Foursquareがどこの数字を切り捨てたのか分かりませんが、おそらくそうすることを心に留めてください。 (ところで、第6または第7ポイントの後に何も関係なく、ソースが何であるか、民間のGPSにも無関係ではありません) –

答えて

1

私たちは、この遠くの完全一致を見つけるために私たちの最後に作ることができるのランキング改善がありますが、それは一般的にも(それがこの場合のように見えますが、今のところ、それはあなたに悪化した結果を与える可能性)の意図=ブラウズを指定することができます。デフォルトでは、/ venues/searchはintent = checkinを使用します。これは、会場があなたの検索と一致するかもしれない他の方法を犠牲にして、近くにある一致を見つけることを本当に困難にします。 https://developer.foursquare.com/docs/venues/search

+0

私は早い段階でbrowse' = '意図を試してみましたが、過激な改善を生産していないようでした。 Foursquareのウェブサイト独自の検索機能は、合理的に直感的な結果を生み出していると思われるので、内部構造のどれがVenues APIと共有しているのか不思議です。とにかく、私が今使っている手法は、アンダースコア置換クエリから始めることです。結果の数が所定の制限を下回った場合は、元の検索語句(つまり、置換なし)を使用して再クエリします。確かに限られたテストを通して、結果の良い組み合わせが得られるようです。 –

+1

ええ、正方形のウェブサイトの検索方法を知っているのは間違いないでしょう。私は正確な結果を得るために様々な方法を試みましたが、私は決してウェブサイト上の結果に近づくことができませんでした。半径+ポイントを使用するかどうか、場所の境界ボックスを使用するかどうかなど、私がどのような意図を使用しても問題はありません。 – ctide

関連する問題