0

同じ都市の人を検索できるようにする機能に取り組んでいます。

私は地理位置情報の使用を楽しみにしていないので、ユーザーに都市を入力してもらいました。そのため、人々がお互いを見つけるには、同じ都市名を入力する必要があります。

現在、大文字と小文字を区別するデータベースを使用しているため、文字列が一致する必要があるため、次のような単純化手順を考えていました。

- user inputs city "New York"
  ->new york
  ->newyork

次に私が楽しみにしていることは、タイプミスとして「new yprk」と入力した人々が、それでもお互いを見つけられるようにすることです。

私は車輪を再発明したくないので、わずかに異なる単語が同じものとしてカウントされるように、そのような単語を「ハッシュ」することについて知っているスクリプトはありますか?

前もって感謝します。

4

2 に答える 2

0

残念ながら、都市は名前であるため、地理位置情報なしでそれを行う方法はありません。それらが任意の英語の単語である場合、ある種のスペルチェックライブラリを使用して一致を生成し、固定クエリを実行できますが、それらは都市であるため、地理位置情報が必要ですデータベース。

現在、都市の世界データベースをスペル チェック ライブラリの辞書として使用する潜在的な回避策がありますが、それがどれほど正確かはわかりません。膨大な量のトラフィックが予想されない場合は、Google の無料利用枠のジオコーディングを使用するか、これが無料の代替手段です。

http://wiki.openstreetmap.org/wiki/Nominatim#Reverse%5FGeocoding%5F.2F%5FAddress%5Flookup

なんらかの辞書やサードパーティのサービスがなければ、名前を推測することはできません。他の方法には、Google予測APIを使用してすべての都市名をロードすることが含まれますが、もちろんそれはサードパーティでもあります...

于 2013-02-28T19:40:13.030 に答える
0

いいえ、そのように賢くなると、多くの誤検知が発生するためです。あなたの都市を既知の都市のリストでもう一度チェックしないでください。存在する場合は続行し、存在しない場合はエラーを発生させます

http://www.maxmind.com/en/worldcities

于 2013-02-28T19:35:44.533 に答える