前回書いたように,Google Analyticsから足を洗った.そのため,アクセスログを自前で解析しなければならない.そこで,ApacheのアクセスログをDB(PostgreSQL)に入れて解析することにした.

昔はAnalogを使っていて,それでも機能的には特に不満はなかったのだが,DBに入れてしまえばSQLで色々遊べそうなのが良い.SQL! SQL!

...というわけでやってみたので,ApacheのログをDBで解析するに書いた.

人の参考になるかどうかは判らん内容だが,一応Apacheログテーブルの主キーは工夫したつもりだ. これ,安易にシーケンスを主キーにしたりすると,access_logからDBに登録する運用が結構面倒になるはず.リクエストのDB重複登録を防ぐことを考えると.

あと課題としては,

  • 検索単語レポート

をSQLでどうやって作るか,がある.

検索単語レポートとは,うちのページに遷移してくる前に検索エンジンで使われた検索語をリファラーから拾って,それを集計するというものだが, URLエンコード済みの文字列から全角文字の検索語をデコードするのは単純ではない.

キーワード抽出による関連ページ導出(2)に書いたとおり,リファラーのURLに含まれるパラメータを検索エンジン別に判断して,使われているエンコーディング(UTF-8/Shift-JIS/EUC-JP)を求める必要がある.

ここは,PL/pgSQLでFunctionを作るのだろうか.う〜む

kamolandをフォローしましょう


© 2017 KMIソフトウェア