2012-04-23 6 views
1

APIを使用して会場を検索すると、フォースクエアのウェブサイトとは異なる結果になります。たとえば、 "San Francisco、CA"の近くにある "Nopalito"という会場を探しています。私は、これは、関連するマッチを返すべきである印象の下だ:会場検索APIが不正確 "LL"の代わりに "Near"を使用

https://api.foursquare.com/v2/venues/search?query=Nopalito&intent=match&near=San%20Francisco%2C%20CA

私は唯一の「呼び出し」という名前の会場のための1件の結果を受け取ります。しかし、私は私が期待するものを手に入れるfoursquare.comウェブサイトを経由して同様のクエリを実行すると:

https://foursquare.com/search?tab=venueResults&q=Nopalito&lat=&lng=&near=San+Francisco%2Cca&source=q

ウェブサイトの検索は、サンフランシスコ、カリフォルニアでNopalitoという名前の2つの会場を生み出します

潜在的な結果の数が限られている非常に基本的なクエリのようです。どうしたの?私はここで何かを見逃していますか?

+0

さて、いつものように私は壁に頭を打つ日を過ごす直前に私自身の質問に答えます。これをチェックしてください... URLとbada-bingからremove&intent = matchを実行してください。 Nopalitoの2試合。私はこれをオープンな質問として残していますが、ドキュメンテーションから私のオリジナルのクエリはまだ正しいと信じています。私は間違った正方形を証明するためにあなたに挑戦する。チャレンジ。 – kgarske

+0

は挑戦したようですか? :-) –

答えて

2

一見すると、私はintent = match、intent = matchを落とすことを推奨します。これは非常に限定的なクエリです。 (https://developer.foursquare.com/docs/venues/searchからの)意図=試合の目的は、

にある「ある会場は、特定のクエリとLLのためにほぼ-完全に一致している検索します。フォースクエアさんとの既存の場所のデータベースを相関しようとしたときにこれは便利です。これ提供された場所に非常に敏感です。結果は、距離とスペルミス/バリエーションを考慮して、最もよくマッチするようにソートされます。

私はintent =このタイプのクエリを参照することをお勧めします。

+0

申し訳ありませんが、私はあなたの応答が実際に根本的な問題に答えるとは思わない。インテント=マッチを削除すると効果はありますが、実際には説明できません。私はまた、必要以上に多くの結果を得ています。私が提供している会場の名前は、彼らのデータベースにあるものと完全に一致しています。私はfoursquareがこれを正しかったり、少なくとも直感的にはうまくいかない理由について、より良い文書を提供したいと思っています。しかし、ありがとう。 – kgarske

+1

intent = matchの目的は、特定の会場にマッチさせることです。そのため、都市検索を実行しようとするのは良い考えではありません。会場が近くにある特定の緯度/経度を持っていれば、より意味をなさないでしょう。 APIドキュメントは "提供された場所に非常に敏感です"と述べています。 – Holden

+0

lat/lonはおそらく理想的だと私は同意しますが、残念ながら私の使用例では持っていません。名前/都市が1:1の結果を持つ他の例がありますが、私はあなたのポイントを見ることができます。設計上の決定でなければなりません。マッチは非常に狭い基準を必要とするだけです。それでもドキュメントではこれが少しはっきりしていればいいと思っていますが、私はこれを明確化の後に答えていきます。 – kgarske

関連する問題