フッタ部に関連ページを表示する方法を改善した.そのページと同じキーワードで過去に検索エンジン経由でアクセスされたページ,を出す方法を試した.

前回,そのページが検索エンジンからどういうキーワードで検索されてアクセスされたのかを調べた. そして「その単語を含むカモランド内の他のページ」が,関連性の高いページだろうと考えたのだが,どうも見ているといまいち精度が悪い.

それで今回は,単純にその単語を含むページではなく

  • その単語を使った検索で,過去に検索エンジンの検索結果からアクセスされたことがあるページ

を出すことを考えた.何やら話が込み入っているようだが,

  1. 今表示しているページを検索するために過去に使われたキーワードがXなら
  2. 過去に検索エンジンでXで検索した検索結果からアクセスされて表示されたことがあるページ(のうち今表示しているページ以外)を,関連ページとして表示する

という理屈.例えば前々回のページだと,こんな感じ.

keyword1.jpg

この方法だと,ページの一覧を出すときにそのキーワードで検索された回数の多い順でソートすることで, 一種の人気順表示ができる.これはなかなか面白い.

難点は,

  • 誰も検索エンジン経由でアクセスしてこなかったページには,表示できない

ということか.検索エンジンべったりの仕組みだ.

ちなみに技術的にはたいしたものではない.

Apacheのログデータにある各ページのリファラ(referer)から検索キーワードを抽出し, それを使って処理している.Rubyのバッチで,毎朝この部分のHTMLデータを全ページ分生成している. 円グラフは,Google Chart API を使っている. そしてカモランドのページを表示する時に,そのページに対応するHTMLデータをAjaxで差し込んでいる.

ページに静的に埋め込まずに動的に差し込んでいる理由は,ページ本体はApacheWikiのキャッシュを最大限に効かせて表示したいため.


© 2023 KMIソフトウェア