すべてのコンテンツ (または少なくとも検索可能なコンテンツ) がデータベースに保存される Web サイトのサイト全体の検索を構築したいと考えています。あまり関与せずにこれを行うと私が考えることができる最良の方法は次のとおりです。
- ユーザーが検索クエリ「茶色の革のソファ」を入力します。
- クエリを配列に分割します。
- 配列の各行に対して LIKE %$val% を使用してデータベース (mysql) を検索します。
- 結果を配列にロードし、コンテンツで見つかった検索語の数に対して各結果に +1 ポイントを与えます。
- 検索結果に一致する用語が含まれている場合は、特定のページの閲覧数 (人気の指標) で並べ替えます。
ページ タイトルの検索用語を使用して結果の価値を高めたり、ユーザーが引用符を使用して複数の単語のフレーズを検索できるようにするなどの実装は、それほど複雑ではありません。
返される結果の制限、キャッシュなどのパフォーマンスに関する考慮事項は別として、他に考慮する必要があること、またはこれにアプローチするためのより良い方法はありますか (Google 検索ボックスの実装は別として)。