senna
ひとつ前のエントリで紹介したイベントで話をしてきました。今回はTritonnやMySQL全文検索のコア技術からは一歩引いた視点で、全文検索が何に役立つのかとか、Tritonnプロジェクトの意義とかを説明させていただいています。MySQL全文検索ことはじめView more…
senna 1.1.4で取り込まれたokuさんによるKILLパッチについてのメモ。 configure.ac # abort AC_MSG_CHECKING([whether enable abort]) AC_ARG_ENABLE(abort, [AC_HELP_STRING([--enable-abort], [enable query abortion. [default=no]])], , [enable_abort="…
QL APIとDB APIについて。(今後追加改変が行われる可能性もあります) QL API senna.hにてシグネチャ定義。 関数名 説明 sen_db_create データベースを作成する sen_db_open データベースを開く sen_db_close データベースを閉じる sen_ctx_open 同一プロセ…
Senna QL API(Senna Query Language API)を使ったプログラムを書くための下調べとして、簡単なサンプルプログラムを書いてみました。以下、ソースとコメントをあわせてご覧下さい。SennaQLを文字列そのまま投げる感じが伺えると思います。 #include <stdio.h> #includ</stdio.h>…
Senna開発者の方がさっそくmecab_new関数呼び出し時の引数を事前に指定するためのAPIを作ってくださいました!Senna内部でのMeCabの初期化はlib/lex.cにてSOLE_MECAB_CONFIRMマクロを通じて行われていました。以前は"-Owakati"が固定で指定されていたのです…
今、senna-devメーリングリストで話題の新APIですが、そしてもしかするとmecab情報を指定可能なAPIも作られるとか。。。そうなるとTritonn tarball/zip版バイナリを作る際に見つかった「prefix以外の場所にインストールした場合にmecab辞書が見つからなくな…
Senna 2.0についての情報が公開されました! Sennaはこれまで「組み込み」に特化した全文検索エンジンという位置付けだったと思いますが、Senna 2.0では大幅な機能拡張が行われて、ストレージ機能や独自の問い合わせ言語が実装されるなど、単体でも機能する…
Advanced APIを使用する場合、sen_index_updates関数等による更新系処理を行う際に渡すデータとして、生の文字列ではなくsen_values構造体としてが使用される。 typedef struct _sen_values sen_values; struct _sen_values { int n_values; sen_value *valu…
sen_index_upd関数 basic APIに含まれる更新用API sen_index_upd関数。 sen_rc sen_index_upd(sen_index *index, const void *key, const char *oldvalue, unsigned int oldvalue_len, const char *newvalue, unsigned int newvalue_len); index ... 対象の…
以下でいいのかな。 CFLAGS=-static CXXFLAGS=-static ./configure XXX大丈夫っぽい。バイナリサイズでかくなるけどねw senna-1.0.7/src$ ldd sennachk libc.so.6 => /lib/tls/libc.so.6 (0x001e0000) /lib/ld-linux.so.2 (0x001c7000)要するに、1個下のエン…
libsenna.soをバイナリファイルで入手した場合、これを参考にやればいいのかな? 以下はmake install実行時のログの一部。 /usr/bin/install -c .libs/libsenna.so.0.0.0 /usr/lib/libsenna.so.0.0.0 (cd /usr/lib && { ln -s -f libsenna.so.0.0.0 libsenna…
これまでいくつかのパタンについては内部的に回避する実装を追加してきているのですが、frmファイルにアクセスするような処理はいまでもいくつかUSING句情報が落ちるものがあります。例えば以下のようにテーブルを定義しているものとします。 CREATE TABLE t…
MySQL 5.0.36/5.0.37向けの新しいリリースを行いました。ダウンロードはこちらから: http://sourceforge.jp/projects/tritonn/files/安定性の向上とログ出力関連の改善が主眼です。 tritonn-1.0.2へのアップグレードを推奨いたします。■機能改良 TRUNCATE TA…
Tritonn-1.0.3にてMySQL 4.1対応を行おうと思っています。しかし、、、、そこで、、、ふたたび現れたのはッ! table2myisam問題 ...orz こいつどーするかなぁぁぁ。。。
MySQLの開発者のトップ(Director of Archtecture)であるBrian Aker氏とミーティングをし、Tritonnのことについて話をしてきました。MySQL 5.1系でTritonnをPluggable Storage Engineベースに移行する上で利用できそうな点、移行を妨げている点などをいろい…
Sennaのver1.0.4がリリースされました!!以下、リリースメールより引用。●変更点 一部の検索クエリにて落ちる問題の修正 (それによるインデックス破壊の可能性もあります) snippet関数におけるバッファオーバーランの修正 スコアの付いたインデックスにおけ…
tritonn-1.0.1に"TRUNCATE TABLE"を実行するとmysqldが落ちるバグが見つかったので、直しました。http://sourceforge.jp/tracker/index.php?func=detail&aid=10184&group_id=2576&atid=9554tritonn-1.0.0と1.0.1の両方に影響していると思います。以前のMySQL…
作業中に遭遇した変更点。 secure-file-priv変数の追加。load data infile等のfile権限による操作対象となるディレクトリを限定できるようにするもの。 ha_myisam::create関数のHA_CREATE_INFO型引数の名前が、infoからha_create_infoに変更された。
以下の2パタンに対応したパッチをリリースしました!! MySQL 5.0.36 + Senna 1.0.3 MySQL 5.0.37 + Senna 1.0.3 ダウンロードはこちらから。 http://sourceforge.jp/projects/tritonn/files/ tritonn-1.0.0との違いは以下です。 DROP INDEX時にSENファイル…
ほとんどコンテンツが無い状態だったので、ひたすら書きまくり。http://qwik.jp/tritonn/やっと当初想定していた内容に近付いてきた。タイプしすぎて手の甲が痛い(腱鞘炎)。
昨日のOSC2007 Spring/Tokyoで発表したのですが、MySQL+Sennaを実現するためのMySQL用ソースコードパッチ(MySQLバインディングパッチ)を保守/開発するプロジェクト"Tritonn"を、新たにSennaのサブプロジェクトとして開始しましたー!プロジェクトホームペ…
やっと明日(今日)のセッションのスライド作成が終わりました!! 朝5時だよー、うひー。申し込んでくれた方、楽しみにしててください :P
http://www.ospn.jp/osc2007-spring/modules/eguide/event.php?eid=25日本MySQLユーザ会からのお誘いで、Open Source Conference 2007 Springにて、MySQL+Sennaの技術セッションをやらせていただくことになりました。実はこれまでMySQL+Sennaについてはバイ…
昨日からver0.8.0ベースのMySQLバインディングのパッチをいろいろ見ているのですが、はっきり言って凄いです。少し前からGREEの小泉さん(あってる?)がGREEサイトで公開していたものがSenna本家に取り入られたという流れなので、存在そのものは知っていた…
条件は以下。 データ量は850MB(日本語版Wikipedia)あるいは3.4GB(日本語版Wikipedia x4) マシンはDELL PowerEdge750(Pen4 3.2GHz HT無し、RAM2GB)要するに低スペックマシン、あるいはPowerEdge1850(Xeon 3.4GHz HT有り x2個、RAM 4GB、RAID 0有り)要…
現在行われないようです。というか例えば"senna=utf8"、"table=utf8"、"client=ujis"という組み合わせでMATCH検索をすると、結果がヒットしない。senna.logには以下のようなメッセージが。 invalid utf8 stringこれはAGAINSTの引数で使用した文字列がutf8で…
なぜだろう。環境(ハード、OS)を変えたら、同じテーブルに対するインデックスファイルのサイズが違った〜。不思議。 後日追記: 単なる人的ミス(自分) ...orz
やたら時間がかかると思ったら、このファイル70k行もあるんね。そら時間かかるわ〜。で、肝心のnfkcってのは・・・http://www.unicode.org/reports/tr15/#Normalization_Form_KC読んでいたら鬱になりました。orz 助けてT先輩〜。
Sennaは他のソフトウェアや処理系に組み込んで使用することを主眼においているためなのか、API解説ドキュメントというのが開発者の方々により記述されて公開されています。http://qwik.jp/senna/APIJ.htmlしかも日本語。なんとも有り難い話です。助かります。
いくつかのbug+fixを乗り越えてビルド成功〜♪ 最初はVisual Studioの使い方が良く分からず手こずるwグニャラくん様いつも素早い対応ありがとうございます、とこんなところでお礼を述べてみるw