差分表示


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

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

それで今回は,単純にその単語を含むページではなく
-その単語を使った検索で,過去に検索エンジンの検索結果からアクセスされたことがあるページ

を出すことを考えた.何やら話が込み入っているようだが,
+今表示しているページを検索するために過去に使われたキーワードがXなら
+過去に検索エンジンでXで検索した検索結果からアクセスされて表示されたことがあるページ(のうち今表示しているページ以外)を,関連ページとして表示する

という理屈.例えば[[前々回>キーワード抽出による関連ページ導出]]のページだと,こんな感じ.

&ref(keyword1.jpg,100%,left)

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

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

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

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

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

ページに静的に埋め込まずに動的に差し込んでいる理由は,ページ本体は[[Apache>mod_cacheでWiki(CGI)の高速化]]と[[Wiki>PyukiWikiにキャッシュ機能をつける]]のキャッシュを最大限に効かせて表示したいため.


© 2021 KMIソフトウェア