私はページを見つけるためのタグを実装しており、基本的にタグ、ページ、タグページの 3 つのテーブル構造を持っています。サイトのメニュー システムについては、少数のリンクをタグにマップして、関連性について知識に基づいて推測できるようにしたいと考えています。Googleレベルの検索結果を探しているのではなく、多くの結果を除外する1つの用語での単なる検索を超えた何か. 例えば恋愛リンクなら、恋愛以外に恋愛や恋愛などのタグをつけて欲しいです。タグは非常に一般的であるため、完全に一致しないタグで結果を引き出すための確立されたタグエンジンはありますか? 複数の検索語を含む where 句を作成することを考えていますが、少し扱いにくくなり始めています。以下よりも良い方法はありますか?
考えられるアプローチ:
$sql = "SELECT * FROM tagpages WHERE";
switch ($tag)
{
case "romance":
$where = "tag = 'relationship' ||
tag== 'love' ||
tag== 'breakup";
break;
case "sports":
$where = "tag = 'football' ||
tag== 'baseball' ||
tag== 'hockey";
break;
case "politics":
$where = "tag = 'election' ||
tag== 'presidential'";
break;
default:
$where = "";
}
$sql .= $where;