この問題を解決する可能性のある検索方法に関するいくつかの提案を求めて、この質問を「より優れた創造性」に投げかけています。いくつかの解決策が推奨されるように、問題を十分に説明するために、やや不自然な例を考え出しました。
問題: リレーショナル DB (MSSQL) を使用しており、次の制約がある製品全体を検索する必要があります。
- 可用性
- 市場
- 価格
また、グループ化して並べ替える必要があります - 価格 - 市場 - より大きなエンティティのロールアップ
半現実世界のエンティティを使用して説明できるかどうか見てみましょう。
ユーザーが予約可能なホテルの部屋を検索できるアプリケーションを考えてみてください。検索には、次の基準を使用できます。 - 部屋が予約される日 - ホテルの部屋を希望する市場 (NYC、ボストンなど) - ホテルの部屋に備わっている可能性のあるアメニティ (ホット)バスタブ、暖炉 - ベッド数 - スイートかどうか
いずれの場合も、上記の検索基準が選択される場合と選択されない場合があります。そのため、非常に幅広い検索 (これらの日付では、どの市場でも構いません) またはさまざまなレベルの特異性 (NYC、2 ベッド、暖炉付き) が可能です。
複雑さを増すために、選択した条件のホテルの部屋の価格も返す必要があります。明らかに、特別価格、滞在日ごとに異なる価格 (木曜日の夜には 1 つの価格、週末の滞在には金曜と土曜の夜には別の価格)。
- Solr - Endeca - SQL クエリ - C# コードで実装し、必要に応じて最適化する (Decorator パターンを考える)
ここで私が探しているのは、コミュニティからのいくつかの提案です - 上記のうち、この問題に適していないのはどれですか - この問題に適しているのはどれですか - 私たちが考えていなかった他のどのテクノロジーがよりうまく機能する可能性がありますか - テクニック他の人がうまく機能した同様の問題で使用したもの(技術固有ではない)
アイデアや提案があれば、事前に感謝します。私はこの質問に適切なタグを適用しようとしていますが、オープンであり、適切な頭脳を得るために追加/削除することができます.