toinamiの日記β このページをアンテナに追加 RSSフィード

2007-06-22 (Fri)

[][] 18:21 2007-06-22 - toinamiの日記β を含むブックマーク 2007-06-22 - toinamiの日記β のブックマークコメント

はてぶのDBのテーブル構成を予想してみてください。 どんなテー… - 人力検索はてな


適当

データ構造(想定)

(1)エントリー管理DB
  1. エントリーid
    • URLを一意のIDで管理するためのキー。自動附番
  2. URL
  3. タイトル
  4. カテゴリ
  5. 概要
  6. 関連サイト
  7. 追加日時
(2)はてブ情報
  1. ユーザID
  2. エントリid
    • (1)のURLに対応したID
  3. タグリスト
  4. コメント
  5. ブックマークした日時
(3)個人設定
  1. UserID
  2. b.hatena.ne.jp/(id)/config の各項目
  3. それ+お気に入りユーザid列挙(別テーブルかもしれない)


動作(想定)

(A)はてブ追加時
  1. URLが(1)にあるかないか見て、無ければ該当URLデータからタイトル・概要なども取得して(1)に追加
  2. ユーザidエントリーidコメントその他を(2)に追加
(B)各ユーザのページ表示時
  1. (2)からユーザIDの各タグごとの件数をカウント。件数による重み付をしてタグ一覧表示
  2. (2)からユーザIDデータを日時逆順に表示
(C)お気に入りページ表示時
  1. (3)からお気に入りユーザを求める
  2. (2)からユーザid分のデータを取得し、日時逆順に表示
(D)注目エントリ表示時
  1. (1)「ブックマークした日時」逆順(新しいもの順)に取得
  2. エントリーidごとに(2)の件数をカウントし、3or5(もしくは任意の数字)以上有れば表示

1.のせいで、「最近3userになったもの」順にはならない。


(E)最近の人気エントリー過去人気エントリー表示時
  1. (1)「ブックマークした日時」逆順に取得
  2. エントリーidごとに(2)の件数をカウントする。
    1. 最近の人気エントリー」なら本日の、「過去人気エントリー」なら該当日の件数もカウントする
  3. ニュースサイト除外
  4. 2.1.の件数が多いもの上位50件くらい表示しているんじゃね?
(F)人気ニュースとか人気動画とか
  1. 人気エントリーとか注目エントリーとか+URL絞り込み
(G)エントリーページ(b.hatena.ne.jp/entry/http://……)表示時
  1. URLを(1)から探す。
  2. (1)からタイトルや概要表示
  3. エントリidで、(2)から該当ページをブクマしているuserタグコメントやらを取得して表示。

*1:ここが言いたいだけちゃうのか>俺

トラックバック - http://beta.g.hatena.ne.jp/toinami/20070622