私はautoscout24.deの検索エンジンの実装に興味があります。それはあなたが車を売る/買うことができるプラットフォームです。すべての車の広告には、検索可能なメール、価格、キロメートル、色など(合計50種類以上のプロパティ)のプロパティがあります。autoscout24.deのように/ SQLを使わずに車の検索を行うには?
私はこのような詳細検索に特に興味があります:すべての可能なプロパティがページに表示されます。各プロパティの後ろにある括弧には、プロパティが選択されている場合に新しい検索と一致する車の数があります。
例:空の検索基準から始めます。
プロパティます
- BMW(100.000)
- フォルクスワーゲン(200.000)
- フォード(150.000)
- ...
プロパティの色:
- ブラック(210.000)
- 銀(50.000)
- 白色
- (100.000) ...
など他の特性のために。
私が知りたいのです:
- どのようにSQLでの検索のこの種を実装するのでしょうか?
- インメモリのデータ構造でどのように実装しますか?
括弧内の数字はを添加した後に結果の数を示しています
- 範囲クエリは、(XからYへの価格ですべての車)
更新もサポートする必要があります検索基準。だから、それはとても素朴なアルゴリズムは次のように動作します...
をプロパティが削除/追加されるたびに変更します。
- 各
- (例えばフォードを作る)、現在の検索条件ですべての車を見つけますプロパティdo:以前の検索条件( "Ford")と一致するすべての自動車と、選択したプロパティの検索条件を検索します。プロパティの後ろに角かっこで数を書いてください。
このアルゴリズムは1 + N個のクエリ(N =#プロパティ)を実行するので、単純です。誰もが;-)
このウェブサイトのデータベースにアクセスできますか?そうでない場合は、ウェブサイトから_大量のデータを取り出す予定ですか?彼らはAPIを提供していますか?これは仮説的な質問ですか? – jwueller
@elusive:私はそのウェブサイトのデータベースにアクセスできません。そして、私はデータを掻き集めたくありません。私は同様のデータベースを構築したいが、異なるデータ(車なし)で構築したい。 – Marcel