「住所 32、都市、地域、国、郵便番号」などの入力からユーザーの完全な住所を取得する必要がある Web サイトの検索機能を作成しています (この注文では必要ありません)。エリア。上記の各要素のフィールドがあるテーブル「アドレス」があります。データベースからユーザーのアドレスを連結し、SQL REGEXP を使用してユーザーの入力と比較することを考えていました。私にそれを与えることができる他のおおよそのSQL検索はありますか、それとも別のアプローチを提案できますか? 友人は ( http://www.simonemms.com/2011/02/08/codeigniter-solr/ ) を使用することを提案しましたが、それに関する小さな調査ではまだ問題が残っています。
質問する
117 次
1 に答える
0
SQL でアドレスを連結する際の問題は、インデックスを使用してそれを見逃すことです。したがって、遅くなります。さらに、入力要素の順序がわからない場合、データベースから連結されたものと一致する可能性はほとんどありません (異なる順序である可能性があります)。
多くの住所項目について、それらを異なるテーブル (つまり、地域のテーブル、別の国のテーブルなど) に分割し、ユーザー テーブルの列に ID を格納することをお勧めします。
検索の場合、どの検索フィールドがどの実際のフィールドと一致するかを特定し、それらを結合して実際のアドレスを見つけます。
また、タイプミスをより簡単に特定できることも意味します。
于 2012-12-05T11:13:03.943 に答える