PHP5.1.6とMySQL5.0でWebサイトを作っています。
商品のレビューを書いてもらう際に、はてなブックマークのようにタグでも管理できるようにしたいと考えています。
はてなブックマークではどのような仕掛けが用いられているのか解る方いますか?
私が考えるには、入力されたタグを正規表現で単語の分解しDBに保存するのかな~とイメージしています。
その場合、レコードが膨れ上がりすぎないか?
はてなの場合、右カラムに表示されたタグ追加と削除がとても高速に行えます。
そもそも、DBを使って管理しているのでしょうか?
人力検索右カラムの『質問に含まれるキーワード』など、はてなは随所でキーワードを表示していますが、これとも連動しているのでしょうか?
どなたか、こんな感じで動いているのでは?とイメージで結構ですのでヒントをいただけないでしょうか?
よろしくお願いします。
>入力されたタグを正規表現で単語の分解しDBに保存するのかな
仰るとおりです。
はてぶのタグはMySQLデータベースにインデックス付きで管理されています。
2009年8月時点で5000万タグ・4.8GBに及ぶそうです。
>はてなは随所でキーワードを表示していますが
これは「はてなキーワードリンク」という仕組みです。
上記を含めた「はてな」のデータベースの仕組みそのものが、はてな技術者によって以下の書籍で具体的に解説されています。ぜひご一読を。
[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)
こんな本が出ていたんですね。早速注文してみます。
2012/02/23 19:14:56方向が間違っていないということで、とりあえずタグをMySQLに保存する方向で考えます。
ありがとうございました。