2005年04月30日

廻るすしざんまい木場店


ついにヨーカドーに進出
今まで築地にしか廻る店がなくて行く気起きなかったけど、
家の近所に普通のあるから、やぱ行かないかも

Posted by Yappo at 21:10 | Comments (0) | TrackBack

2005年04月16日

mew-gigi.el - mewから直接gigiを呼び出す

gigiをmewから直接、Virtualモード作るのに使いたい!
との事だったので、早速gigiをmewに対応させてみました。

使い方、入れ方はhttp://tech.yappo.jp/rast/にて。
gigi本体も新しいのを入れておく必要があります。
再インデックスは必要無しです。

やっぱり検索結果とビューワがシームレスに連携していると使い勝手良いですな。
これでリファイル出来れば完璧なのに、やり方がいまいちわからない。。。
(回避策として、gigi検索後マークつけて、いったんフォルダバッファ移動してoすれば出来た)
って言うか本家に記載されてた。

Virtual モードからマークを処理することはできません。`x' を押しマークを処理しようとすると、Summary モードに移動しろという促されます。また、スレッドのための Virtual モードで `x' を押すと、対応する Summary モードに移動し、もう一度 `x' を押すよう促されます。


久々にmew.orgのぞいたらmew-nmz.elなんてのが取り込まれてて参考にしました。

Posted by Yappo at 04:04 | Comments (0) | TrackBack

2005年04月15日

gigi - Rast.pmを用いたメールボックス検索ツール

Rast.pmを作ったついでに、gigiというメールボックス検索ツールを作っていて、良い感じなので公開します。

README


DESCRIPTION
Rast.pmを利用したメールボックスの検索に特化したツールです。
mew等の、MailDir形式で保存されたメールボックスのインデックス登録、検索が可能です。

メールボックスを検索するのならNamazuとかでも出来るんだけど、Rast.pmを使った分かりやすいツール作っときたかったので。
他のと比較したgigiの利点としては、N-gramなので検索に引っかかりやすい感じですかね。

ちなみに、すべてのコードの行数は500行未満です。

ダウンロード:http://tech.yappo.jp/rast/

Posted by Yappo at 11:32 | Comments (5) | TrackBack

2005年04月14日

RastのPerl API「Rast.pm」作った

SennaだけじゃなくRastも色々見てるです。
いじると言っても、Cばっかりで書くのもめんどくさいのでPerlからRastのAPIを叩けるモジュールを作りました。
使い方は、ほぼC APIと同じですが、サンプルスクリプトを参考にしてみてくさい。
本家Rastのサンプルと同じ仕様です。

XSを書いた事が無かったので、惰性で実装してあります。
詳しい所まで調査していませんが、rast側に少しだけ細工をする必要があります。
詳しい事は付属のREADMEで。
Rast-0.02.tar.gz

Senna同様Rastも一段と敷居が下がったのかもしれませんね。
もちろんYapoLabsのRast検索はPerl版に変更されています。

Posted by Yappo at 01:46 | Comments (2) | TrackBack

2005年04月12日

SennaがIN BOOLEAN MODE(複合語検索)対応

Senna - ChangeLogより


* applied ftb patch for mysql binding from <ko at yappo.ne.jp>
'IN BOOLEAN MODE' supported

複合語検索モード用のパッチを送った所、手直しをして頂いた後に反映されました。

いまさらですが、過去ここで公開したmysqlパッチも取り込んでいただいており、Sennaのmysql対応は安定してきていると思います。
ひとまずは、使える状態になっていると思うのです。

#mysqlのfulltext関係のいじり所は把握できてきた感じ。

Posted by Yappo at 10:58 | Comments (0) | TrackBack

2005年04月09日

流石タイ料理密集街


家で食えてシアワセ

Posted by Yappo at 20:40 | Comments (0) | TrackBack

2005年04月07日

Hyper Estraierのデモサイト公開

Estraierという検索エンジンがあるのですが、その開発者の方がHyper Estraierなる物を開発中です。
コアAPIの開放とかp2pなシステムとか、要素ありすぎの楽しげなものです。
今年はRast,Senna,Hyper Estraierって感じでしょうか。

コアAPIのデモ開始

コアAPIのデモサイトを作ってみた。SourceForge.jpに置いてあるのでちょっとのろいかもしれないけど。

という事で動いているHyper Estraierが見れるようになりました。
http://rbbs.sourceforge.jp/cgi-bin/estdemo/estseek.cgi

コアAPI自体のリリースはもう少しでできそうだ。
っつう事で期待大です。
Posted by Yappo at 15:00 | Comments (0) | TrackBack

2005年04月05日

MFPMをCPAN code searchに連携させました

やろうやろうと思っていたですが、MFPMCPAN code search by gonzuiに連携させました。

とはいっても、パッケージ名で検索をするリンクを配置しただけですが。

Posted by Yappo at 22:32 | Comments (0) | TrackBack

Sennaメモ その弐 (Senna本体patchとmysql4.1系対応)

前回のエントリがぐちゃぐちゃになりそうなので整理。
相変わらず、現時点で最新のrevision6のSennaが対象です。それ以外のrevisionでは役に立たないはずです。

前回のパッチをそのまま適用しても、レコードの削除を行ってからselectを実行するとGot errorが出ます。
挙動としては、削除したのにsen_index_selでヒットする文書数が減少しない物でした。

原因がわかり、パッチを作成しました。
senna(rev6用)パッチ(修正版 ver.2)を当てて、Sennaを再構築してみてください。
また、mysqlもmake installしなおす必要があります。

原因ですが、SennaのAPIにindex作成をするsen_index_addと、index削除を行うsen_index_delという関数があるのですが
それぞれ、index対象の文章を引数に指定する必要があるのです。
そして、引数に設定された文章を単語に分けてからindexの登録/削除を行っているのです(おおざっぱな説明)
で、Sennaはn-gramとmecabを利用して単語に分割処理をしますが、revision6の上記APIはなんと
sen_index_addではmecabを使って単語の分割を行い、sen_index_delではn-gramで単語の分割を行う。
という事です。

追記:パッチに不具合がありました。
addとdelで、n-gram解析をして取得する文節数に違いが有り(del時の解析がおかしかった)Got errorが出てしまっていました。
delのn-gram手法をaddに合わせたので、今度こそ平気なはず。
(だんだん、とりあえず動くパッチになってきてるな・・・)

追記2:検索結果がおかしいと思ったら、検索クエリの文字列分割処理がmecabのままだった。
クエリの字句解析もn-gramにしました。

次回以降のVerUPで修正されるだろうと思い、場当たり的にn-gramのみ対応するようにパッチを書きました。
このパッチを当てたら、多分mecabは使用されません。
多分SEN_INDEX_NGRAMを実装する手前なんだろうなぁ。


あと、某deliciousより

mysql 4.1も欲しい。

との事なので、mysql4.1.10aに対応させるパッチも作っておきました。(さらに軽い検証のみ)
パッチ後にaclocal,autoconf,automakeで普通にインストールできます。

  • mysql 4.1.10a用Sennaパッチ
  • mysql 4.0.24用Sennaパッチ
  • mysql 4.0.23用Sennaパッチ
    追記:パッチに修正を加えました。fulltextインデックスが張られているテーブルが含まれたdbをdrop databaseするとcan't rmdirが出てdrop出来ない不具合の修正です。

    Posted by Yappo at 03:44 | Comments (0) | TrackBack
  • 2005年04月04日

    Sennaメモ その壱 (with patch)

    Senna
    先月末より公開された、未来検索ブラジルの成果物。
    N-gram&MeCabな全文検索システムです。

    たとえば・・・
    組み込み型全文検索エンジン Senna : NDO::Weblog

    実は、はてなブックマークのブックマーク検索はこの Senna + MySQL で実現されています。

    と、導入実績がちゃんとあったりします。
    他にも、あんなのやこんなのにも導入されているそうです。

    #このメモはsvn Revision 6を対象としています。
    #テスト環境はRHL9です。

    いけてそうなSennaですが、公開したてということも有りインストールが大変です。
    svnでとってきたソースツリーはaclocalとかautoconf,automakeすればインストール出来るのですが
    mysqlの全文検索機能に対応させるには一筋縄ではいきません。
    むしろ、コンパイルできません。
    無理です。

    何故かと言うと…
    Sennaについてきているmysqlのpatchファイルなのですが、Revision6のAPI仕様に則していなくて
    付属のpatchを当てたところで、コンパイルできないのです。


    って事で、Senna Revision 6に対応したmysqlのパッチを作りました。

    注:レコードをdeleteすると、クエリによっては

    ERROR 1030 Got error 134 from table handler

    となってしまいます・・・
    なので、一時パッチ公開停止orz(なんだかSennaがレコードのdeleteが出来てないような気がする。。。)評価用に使ってください。Senna自体にもパッチ当てればok


    mysql 4.0.23用Sennaパッチ(レコードのdeleteを実行するとselectが出来なくなります)
    このパッチを当てた後は、aclocal,autoconf,automakeした後、通常のインストール作業を行ってください。

    mysqlのインストールの前に、mecabとsennaをインストールしておいてください。
    mecabは--enable-mutexオプションをつけてconfigureしておいてください。

    これで、mysqlの全文検索機能のエンジンにSennaが利用されるようになります。


    mysql 4.0.24の場合…
    mysql 4.0.24用Sennaパッチ(レコードのdeleteを実行するとselectが出来なくなります)
    4.0.23とほぼ同じですが、makeする前に4つほどファイルを作成する必要があります。


    touch ./Docs/Images/cluster-components-1.txt
    touch ./Docs/Images/multi-comp-1.txt
    touch ./Docs/errmsg-table.texi
    touch ./Docs/cl-errmsg-table.texi

    パッチ当てた影響で、ドキュメントの再作成処理が入るのですが、なぜかこれらのファイルが足りないようです。
    原因については本来の目的とは違う物なので、特に調べてもないです。
    4.0.24での注意点は以上です。


    実際に動くかどうかも試してみました。


    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 3 to server version: 4.0.24-log

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql> create table test (a text, fulltext(a));
    Query OK, 0 rows affected (0.02 sec)

    mysql> insert into test set a='うほあぐぇryhぱrはあゑrftgyふじこlp';
    Query OK, 1 row affected (0.21 sec)

    mysql> select * from test where match(a) against('ふじこ');
    +-------------------------------------+
    | a |
    +-------------------------------------+
    | うほあぐぇryhぱrはあゑrftgyふじこlp |
    +-------------------------------------+
    1 row in set (0.00 sec)

    mysql> select * from test where match(a) against('じこ');
    +-------------------------------------+
    | a |
    +-------------------------------------+
    | うほあぐぇryhぱrはあゑrftgyふじこlp |
    +-------------------------------------+
    1 row in set (0.01 sec)


    いい感じね。

    ちなみに、現運用系のiYappoのDBをコピーしてきてFULLTEXTインデックスつけてみましたが、ちゃんと動きました。
    検索速度もいい感じです。


    一応、パッチの補足などを…

  • sen_index_result_*系の関数名をsen_records_*系に変更
  • sen_index_openの引数合わせ
  • myisam/mi_open.cでsennaのindexを開く処理のところにsen_index_createを追加
    つーかindex作成処理がどこにも入ってなかった。(本来ならmyisam/mi_create.cに書くんだろうけど、ごみごみしてるからやめた)


    追記:
    MySQLとSennaの組み合わせがmakeできた。

    このへんに「全文検索専用のデーモンを立ち上げなきゃいけない」とかあったけど、そんなことはなさそう。

    全文検索を行わせる専用のmysqldを立ち上げなきゃいけない、という意味だったです。
    Sennaが、専用デーモンが必要というのではなくて、iYappoで使うとしたら専用のmysqldが必要だなぁ・・と。

    Posted by Yappo at 22:11 | Comments (0) | TrackBack
  • Senna開発ページ

    Senna開発ページ

    ここは未来検索ブラジル社の全文検索エンジンSennaに関する情報を置く場所です。

    なんだか発見しました。
    Sennnaの開発ポリシーの片鱗がちらちらって感じです。

    iYappoではRast採用が濃厚ですが、別ネタではSennaも使ってみようって事になったので色々やってみる年頃。

    Posted by Yappo at 14:49 | Comments (0) | TrackBack

    2005年04月01日

    【プレスリリース】屋号変更のお知らせ

    取引関係者各位
    報道関係者各位
    ならびに、世界中のYappoファン各位
                                     2005/04/01
                              検索エンジン 奴包

     

    YappoならびにiYappoは、商号変更について2005年4月1日開催の
    臨時役員会議にて商号変更を行う事を決議しましたので、ご報告いたします。

    新商号:「奴包」ならびに「愛奴包」
    意味:愛しい人を包み込む優しさを持つサイト

    ロゴ

    本プレスリリースに関するお問い合わせ先
    配信元 : 奴包 http://i.yappo.jp/
    リリース : http://blog.yappo.jp/yappo/archives/000217.html
    運営者 : 大沢 和宏
    E-MAIL : press@yappo.ne.jp
    URL : http://i.yappo.jp/

    Posted by Yappo at 15:18 | Comments (0) | TrackBack

    世界初携帯SNSが一周年

    いつの間にか、オープンしてから一年がたちました。

    嘘!?

    Posted by Yappo at 14:36 | Comments (0) | TrackBack

    Google電車広告


    ライブドアもあったな

    Posted by Yappo at 14:02 | Comments (0) | TrackBack