2010-12-30 9 views
1

私はバケーションレンタルや家賃のためのウェブサイトを構築しました。ユーザーが自分で場所を追加できるページを作成しましたが(最大6レベルまで)、問題を見つけました。ユーザーは、ロケーションすなわち追加することができます: - >米国 - >カリフォルニア -地理的な場所を動的に扱います

北米>サンフランシスコ

到着し、彼はSF(たとえばシルバーテラスの下にあることを前提としてSFの下の領域を追加することが別のユーザー)。 は、さらに別のユーザーが、同じエリアを追加できますが、彼はSFの下で見ていないだろうとSF

北米の兄弟ノードであることを追加します - >米国 - >カリフォルニア -

だから今>シルバーテラスたち必要があります:

北アメリカ - >米国 - >カリフォルニア - >サンフランシスコ - >シルバーテラス
北アメリカ - >米国 - >カリフォルニア - >もちろん重複しているシルバーテラス

= /シルバーテラスを追加してユーザーに伝えることができます2度目はすでに存在していますが、最初のユーザーが間違って配置している可能性があります。

ユーザーが場所を追加できないようにしていても、自分でやるか、少数のユーザーに制限するとしても、すべての場所を正しく追加することは非常に難しいでしょう。他の国では

そこも含めまたは状態/地区/地域を含めたので、上の場所のパスの一部ではないとの質問が来る...

私はかなりの数についての記事を読んでこれは私が良い解決策の周りに私の頭を包むことはできません。

私はサブドメインieのために場所を完全に削除するのは難しいです。 san-francisco.example.comまたはcalifornia.example.com。また、ユーザーが地図を使用したくない場合(またはできない場合)、国/州/都市/地域/地域/などでブラウズすることもできます。

私はこれには完璧な答えはないと思いますが、いくつか提案がありましたら教えてください。どうもありがとうございます。

答えて

2

ユーザー入力がほとんどないサブドメインを自動的に追加するために使用できるもう1つのアプローチは統計的アプローチです。

動機付けの例として、システムに20,000人のユーザーがおり、10,000人のユーザーが場所に配置されているとします(x - >(yの形式) - >)* z)

"米国 - >カリフォルニア"は、このような多数の場所にある要素であるため、「米国 - > Californiaは実際には有効な場所です。このアプローチは、サブドメインを追加するときに意味があります。これは、人口のかなりの部分がそのサブドメインのメンバーになるまで、サブドメインを追加したくないからです。

+0

mmmm私はそれが好きです – Kentor

1

Zの郵便番号を表すX-> Y-> Zパスに隠れた値が付いています。これはどのパスが重複しているかを判断するもっとも簡単な方法です。

+0

重複は問題の一部に過ぎません... – Kentor

関連する問題