1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
skksearch の README
* 使いかた
o 適当に inetd.conf を設定してください.
skksearch db:/foo/SKK-JISYO.L.db plain:/bar/SOME-JISYO
のように, 引数に `辞書タイプ:辞書のパス' を与えて起動します.
次のオプションが使用できます.
-s … syslog を使う
-f <ログファイル> … エラーメッセージをファイルに吐く
-l <ログレベル> … -f と併用. -1 〜 7 の値が使えます.
o 利用できる辞書のタイプは以下のとおりです.
db: Berkeley DB 2.x
cdb: CDB に変換した辞書
plain: SKK-JISYO.L などと同じプレインテキストの辞書
dummy: デバッグ用のダミーの辞書
* 動作環境
o cdb を使うときは CDB が必要です.
o db を使うときは Berkeley DB 2.x の最近のバージョンが必要です.
o 次の環境でコンパイルできることと動作することを確認しました.
適当に Makefile と config.h を変更してコンパイルしてください.
- Solaris 2.6/x86 gcc-2.8.1
- SunOS 4.1.4-JL gcc-2.7.2.3
- FreeBSD 2.2.8-STABLE #0 gcc-2.7.2.1
- Slackware 3.5 (Kernel 2.2.3) egcs-1.1.1
- Solaris 2.6/SPARC
* 辞書のフォーマットについて
o db, cdb の辞書はプレインテキスト形式の辞書の行を空白文字の前後で
分割し, キーとデータとしてつっこんだものです. たとえば,
filer /ファイラー/ファイラ/
というエントリは, "filer" をキーとし, "/ファイラー/ファイラ/"
をデータとするエントリになります. データの最後に改行がはいって
もたぶんちゃんと動きます.
* ベンチマーク
Solaris 2.6/x86 が稼働している PentiumII 400MHz の計算機で
SKK-JISYO.L を変換して作った辞書ファイルを用いて, SKK-JISYO.L
の全ての見出し語を変換した結果
plain: 18.71s user 87.92s system 98% cpu 1:48.04 total
db: 11.20s user 12.37s system 97% cpu 24.253 total
cdb: 2.42s user 6.99s system 87% cpu 10.767 total
プレインテキストの2分探索のインプリメントのまずさが光ります (^^;
* 今後の課題
o tcpserver 対応
o ndbm, gdbm, PostgreSQL 対応
o autoconf の利用
o Pthreads あそび
などなど
* おまけ
適当に skk-server.el を変更すると Emacs から直接 skksearch
コマンドを叩けます.
|