Search::Estraier

plaggerが0.70にあがっていたので、アップデートしたらSearch::Estraier というモジュールが含まれていて、Bulknews::Subtechでもエントリになってたので調べたらかなり面白そう。

Hyper Estraierをインストールしてestmaster起動してから、Search::Estraierをインストールしたんだけど、どうもエラーを吐く。

t/5_Node..............ok 24/142# $VAR1 = {                                   
#           'TIME' => '0.001',
#           'LINK#0' => 'http://localhost:1978/node/_test1_2346
 _test1_2346 label       
10000   5       0       26874431    5',
#           'DOCNUM' => '5',
#           'HINT#1' => 'girl   11',
#           'VIEW' => 'SNIPPET',
#           'VERSION' => '1.0',
#           'NODE' => 'http://localhost:1978/node/_test1_2346',
#           'HIT' => '5',
#           'WORDNUM' => '0'
#         };
can't get http://localhost:1978/node/_test1_2346/_set_link: 
401 Unauthorized at t/5_Node.t line 248
# Looks like you planned 142 tests but only ran 125.

認証なんだけど、colinuxに入れててしかもデビアーンなのでいまいちわからん。というわけでとりあえずのforce installで。なかなか快適なので職場のnamazuを替えたろかとか思ったが、pdfとかwordのフィルタちゃんとやらんといかんね。

plaggerと組み合わせて使ってサーバの検索範囲の類似度を考慮したP2Pで結び付けられれば、ヒトの興味によって緩やかに結び付けられた検索体系が出来上がるような気がしておもろいかもなんて思ってしまう。フォークソノミーの検索版みたいな、、、そんなのはもう概念としてありそうな気がするが僕は知らない。

あとは、まだほとんどさわってないが、mod_estraierでリバースプロキシ用意すれば、blosxomのダイナミックキャッシュとかgoogle sitemapsの検索に頼らなくてもいい感じになるかも。

ProductName Blog Hacks ―プロが教えるテクニック&ツール100選
宮川 達彦
オライリー・ジャパン / ?円 ( 2004-08-07 )


blosxomでgooglesitemapsを使う

なんかページング処理でバッティングしてると書いたが、いろいろいじってみてやっぱそうっぽい。

余談だが、いろいろいじった挙句、ページングの処理用プラグインがyoshitakaからpagingに変更になった。

override_num_entriesプラグインはstartの処理で表示件数を書き換えるんだけど、pagingとかyosshitakaはそのあとさらにエントリ数を書き直してしまってるみたい。

というわけで、pagingプラグインのstartの処理のところで、

if (!-d $currentpath or $blosxom::path_info_yr or 
$ENV{'REQUEST_URI'} =~ /index.xml$/) {
    return 0;
  }

なんてしといた。

index.xmlは生成するのに1分くらいかかってるから、どうにかしないとな。負荷対策としては、昔のエントリはblosxomで生成するXMLとは別に静的なファイルを作成してsitemapに登録しておくのがいいのかな。で、最近のエントリだけindex.xmlで吐き出すようにするとか。spamトラックバックでdynamic_cacheがrecacheされてしまうのもどうにかしないといけないな。

findプラグインやめてgoogleに変更

ずっとfindプラグインを使ってきたんだけど、エントリが増えてきて結構負荷がかかるようになってきたのと、たまにロボットが検索たどりやがると非力なうちのサーバーがスワップするのが気に入らんので、google検索に切り替えた。

JavaScriptを用いてサイト内検索を参考にonSubmitイベントでsite:kerolin.jspeed.jpを追加するようにしたので、検索はOK

あとはGoogle サイトマップでもれなく巡回させるようにすればいい。

Ck2BloggerのようにGoogleSitemaps用のXML吐くフレーバー用意して、Ck2Bloggerを参考にoverride_num_entriesを導入したが、うまく件数の調整ができず。

なんでかなぁと、小技Tipsみたいに環境変数で設定ファイルをいじってみたけどこれもだめ。

どうも、ページングで使っているyoshitakaプラグインの気が。とりあえず今日はココまで。

blog

余ったW2Kマシンに

perl

Cygwin+

Meadow

を突っ込んで

blosxomを入れてみたのでR



Meadowでの文字コードの変換はCtrl+x Ret fだけど、しょっちゅう忘れてしまうのでメモ。

metawsxomプラグイン

せっかくTaggingプラグイン使っているんだからこれとカテゴリを使ってAWSをいじくるプラグインでも作ろうと思い立った(まぁ、要するにDrk7.jpのAmazon Searchみたいなものなんだけど)。

が、AWSを見たところ、このサイトのblogのカテゴリとタグがAWSのそれとうまくマッチしないことが判明(タグにmusicとか入れてるし)。

なんで、全部metaで指定するように仕様を変更。awsxomプラグインを参考にして作った。

  • meta-mode: Webサービスのモードを指定します。デフォルトはbooks-jp
  • meta-seachtype: 検索方法を指定します。デフォルトはキーワード検索
  • meta-searchword: 必須。指定するとプラグインが呼び出されます
  • meta-metawsxomtemplate: テンプレートの指定です。example.htmlをテンプレートにしたい場合はexampleと指定してください。

基本的にはmeta-searchwordだけ入れとけば動きます。モードとかはココが参考になるかも。

ある程度動くようになって満足したのだが、まだいくつかちゃんとやれてないとこがあるのでそのうち直すが、いまわかっているのはこんなとこ。

  • レイアウトとデザインがイマイチでCSS書くのに疲れてtableで整形(ダサ気?ダサくなさ気?)
  • awsxomみたいにテンプレートも指定できるのだがテンプレートに日本語入れると化ける
  • 上にも関連するのだが、Encodeを使うはめになっているのが謎。というかここんとこちゃんと理解してナイっぽいゾ。指摘してもらえるとありがたいかも
  • レビューが最新の3件じゃない?

ダウンロード

ちなみに、metaプラグインが必須です。あとXMLの解析にXPath使っているのでperlのモジュールインストールしないといけないかも(これって標準なのかわからん)。

追記060404

  • 必要なblosxom plugin
  • meta
  • 必要なperl module
  • XML::XPath
  • MD5::Digest

CatalystでMarkdown & flavour

面白そうなCatalystのプラグインを見つけたので後で試す。

Catalystでmarkdown記法で書かれたテキストをHTMLに変換するプラグイン。このblosxomではMarkdown使いまくりなのでCatalystで作った何かに、今までのエントリ移すときとか楽そう。あと、Kwiki::Markdownってのもある。普段PukiWiki使ってるんだけど記法が混在すると混乱するからKwikiに変更しようかな。WYSIWYGなエディタもあるので、便利そうだし、タグもつけられるし。

Catalystでblosxomのフレーバーなことができるプラグイン。htmlとかrssとかURLの最後の.xxxでテンプレートを切り替えられるのでCatalystでその手の機能が欲しい場合には。というか、そういう場面って結構あるはず。

taggingプラグインをTagCloudに対応させたヨ

昨日、コメントスパム対策でblosxomを久々にいじったので、なんとなくその勢いでtaggingプラグインをTagCloudに対応させてみた。

といっても、HTML::TagCloudまかせっきりだったりしますが、、、とりあえずCSSまでまかせちゃってます。

tagging - TagCloud対応版

5,6行クラウド用のコードを埋め込んだだけなのでtagging::listで従来のリストが出ますし、tagging::tagcloudでタグクラウドが出力されるようになってます。

ほんとはこんな感じに関連性を視覚化するようなとこまでやりたいナァと思っているんだけど、そうすっと関連性の情報をどこかに保持しておかないといけないので、ちょっと今回は時間の都合上見送りダ。

関連性自体は、距離とか色の類似度で表したり、ネットワークな表現にのせてもいいかなとか思っているヨ。せっかくゆるい関連性の情報があるので、それを(なんとなくゆるく)可視化する表現方法でなんかいいやつあってもよさそうなもんだが。

GOなんか、わりとガチガチに階層構造に埋め込むから、pubmedのアブストなんかをタグでゆるく結びつける試みは面白いと思っている。だけど、それをマイニングする仕組みはまだついてきてないのかなぁとかは思っているヨ。

コメントスパムを拒否ってみる

最近ちょっとコメントスパムが多くてウザイし、無駄にCPUリソースを消費したり、ダイナミックキャッシュがリキャッシュされちゃってアレなのでhail2u を参考に対策してみた。

いい感じ

push_if_firstプラグイン

僕のサイトも、push_if_first pluginを使って、インデックスにGoogle AdSenseが表示されるようにした。

hail2u.net - Weblog - push_if_first plugin

二ヶ月ほど前にでっち上げた、最初のエントリにだけデータを追加できるようにするpush_if_firstというプラグインをblosxom pluginsで公開しておきました。「最初のエントリだけにGoogle AdSenseが表示されていますが、どうやってるんですか?」というメールでの質問への返事がてら。

インデックスと、個々のエントリだと表示する位置が違うので、interpolate_fancyを使ってstory.htmlで場合分けするようにした。

Google AdSenseだけじゃなくて、必要に応じてトラフィックゲートSBNの広告入れられるように変数追加しておこう。

all about blosxom

メタモ疲れか知らないが、久々の激風邪中デス。昨日は辛すぎで休んだんだが、今日は泣く泣く出社。ハナミズで頭がボーっとするのと、耳鳴りがするので、なにもやる気が起きない。こういうときはbloglinesでまったりと、そして定時退社攻撃ダ(蝶のように舞い蜂のように、、、)。

hail2u.net - Weblog

blosxomユーザーのためのメーリング・リストであるall about blosxomの親サイトとして、blosxomについての雑多な情報を纏め上げるつもりのWiki、all bout blosxomを立ち上げてみたりしました。

というサイトができていたので、userlistに登録してみたヨ。