Namazu 2.0に関するよくある質問、ありそうな質問とその答えをま とめた文書です。このファイルの最新版は http://www.namazu.org/FAQ.html にあります。 Namazu 1.3.0.x を対象とした 古いFAQ もあり ます。
Namazu はできるかぎりお手軽に使えることを目指しています。 技術的には決して高度なものではありませんが、 手軽に使えるという面では割といい線をいっていると思います。 ただし、別途 KAKASI/ChaSen とその辞書が必要なので使えるディスク容量に余裕がないと使えません。 メイリングリストを開設して比較的活発にメンテナンスが行われているのも特徴といえると思います。
もしも古い Namazu をお使いならば最新のものを試してみてください。 この FAQもよく読んでみてください。既に解決しているかもしれません。 そうでなければ メイリングリストの方へご報告ください。
何か良いアイディアがあれば メイリングリストの方まで要望を提案してください。 有用なものであれば取り入れていきたいと思います。
問題ありません。どうぞご利用ください (Namazuの開発への援助は歓迎し ます)。ただし完全に無保証ですのでその点はご了承ください。Namazu の ライセンスは GNU General Public License version 2 に従うものとします。
特に意味はありません。思いつきで決めました。
質問する前にまずマニュアルとこの FAQ をしっかり読んでください。ど うしても分からないときは
% uname -a
と実行してみてください
% namazu -v
と実行してみてください
% perl -v
と実行してみてください
% gcc -v
と実行してみてください
% nkf -v
と実行してみてください% telnet localhost 80<改行>
HEAD / HTTP/1.0<改行>
<改行>
などについて簡潔な文章で書いてメイリングリ ストまで報告してください(投稿のマナーを参照のこと)。 ただし、質問しても必ず答えが返ってくるとは限らないのでご了承くださ い (答える義務はありません)。
身近に詳しい人を見つけて教えてもらってください。あるいは書籍などで 自習してください。Namazu以前の初歩的な質問をメイリングリストに送ら れても困ります。
我々(?)はあなたのすぐ側には居ないわけですから、
「車のウインカーがつきません」
「ウインカーレバーを倒してみるのは?」
「ok, ウインカーつきました」
程度のアドバイスはできると思いますが、
「車のエンジンがかかりません」というのに対して、 「ではボンネットを開けて、向かって右の前から2番目にあるバッテリーの緑 のフタを外して赤いワイヤーを外して接点部の鉛の覆いを外して接点の銅に緑 青が吹いていたらそれをサンドペーパーでこすって磨いて接点復活剤をかけて また組み上げるのがまず1点。次に向かって左3番目の ECU を開けて CPU の (以下 120 行省略) 」 みたいな指摘は、超人かアポロ13号の地上指令室でもないかぎり、 残念ながらできません。
KAKASI のドキュメントを読んでがんばってください。または身近 に詳しい人を見つけて教えてもらってください。
次の手順でやり直してください。
Namazuに必要なソフトウェアに関してはチュートリアル準備とmakeを参照してください。
インデックスファイルの書き出しをする際のメッセージがWriting index files... と英語でメッセージが表示されている場合は環境変数LANGの設定を確認してください。 mknmzはLANGに `ja' から始まるlocale名が指定されていない時は日本語の処理を 行いません。 Namazu 2.0 tutorialの 日本語の文書を扱うにはを参照してください。
できます。検索にロックがかかるのはほんの一瞬です。
よっぽどタイミングが悪くないかぎり、壊れません。ただし、 作 業ファイル NMZ.*.tmp、および (インデックスの2重更新を防ぐ) ロックファイル NMZ.lock2 が残ってしまうことがあります。もし 残っていれば削除してください。
報告のあったもののなかでは 878,914 ファイル、合計 2,167,480,108 bytes の文書を対象にしたものが最大です (現在の世界記録保持者はすぎうらし ろうさんです :-)。
[Base] Date: Tue Aug 31 18:46:20 1999 Added Files: 878,914 files Total Files: 878,914 files Size: 2,167,480,108 bytes Added Keywords: 7,339,687 words Total Keywords: 7,339,687 words Wakati: module_kakasi -ieuc -oeuc -w ARGV: '-ahu' '-F' 'B' Perl Version: 5.00503 Namazu Version: 1.4.0.0-beta-8 System: freebsd Time: 79874 sec. NMZ.f 883950234 NMZ.fi 3515656 NMZ.i 721295588 NMZ.ii 29358748 NMZ.p 428365331 NMZ.pi 262144 NMZ.r 33406075 NMZ.t 3515656 NMZ.w 153384197
これより規模の大きいインデックスを作成された方はぜひメイリン グリストにご連絡ください。
Namazu は ./configure の実行時に nkf, kakasi (chasen) のパスを $PATH から検出します。あらかじめ nkf, kakasi (chasen) を $PATH の 通っているところにインストールしておいてください。
メモリ不足です。次の項目を参照してください。
大きなファイルを処理していると Out of memory! が発生すること
があります。この場合は mknmz の中の
$FILE_SIZE_LIMIT
の値を下げると解決するかもしれ
ません。たくさんのファイルを処理していると同じように Out of
memory! が発生することがあります。この場合は mknmz の中の
$ON_MEMORY_MAX
の値を下げると解決するかもしれま
せん。あるいは、メモリを増設する、という手段が一番、確実かも
しれません。
Namazuはインデックス作成時に、パス名に含まれる記号類を URL風に ' %xx' としてエンコードして記録します。ゆえにパス名に含まれる '%7Efoo' は '%257Efoo' のように '%' の部分が '%25' に変換され、嬉しくない結果となります。
このような場合は mknmz 実行時に -U オプションをつけてパス名のエン コードを行わないようにします。 '%7E' はそのまま '%7E' として記録さ れます。
これは Perl の出力する警告です。特に実害はないと思います。 mknmz の一行目から '-w' を取り除くと消えるはずです。Perlの ヴァージョンによって警告が出たりでなかったりします。
Apache なら srm.conf に
AddHandler cgi-script .cgi
の行を追加すると解決するかもしれません。
Apache 1.3 以降であれば .htaccess に
<FilesMatch "^\.(htaccess|htpasswd|htgroup|namazurc)$"> order allow,deny deny from all </FilesMatch>
と設定します。.namazurc だけなら次の通り。
<Files .namazurc> order allow,deny deny from all </Files>
[namazu 550], SATOH Fumiyasu <fumiya@cij.co.jp> さんのメイ ルより引用。
http://www.namazu.org/doc/manual.html#form-idxnamesの記述で
複数のインデックスを検索するは NMZ.head に checkbox の記述をします。 <strong>対象インデックス</strong> <ul> <li><input type="checkbox" name="idxname" value="foo">foo <li><input type="checkbox" name="idxname" value="bar">bar <li><input type="checkbox" name="idxname" value="baz">baz </ul>
とありますが、単に
<li><input type="checkbox" name="idxname" value="foo" checked>foo
と記述して checked を有効にしても、ブラウザ上のチェックボックスは チェックされません。
これを実現するには、
% cat NMZ.head.ja NMZ.body.ja NMZ.foot.ja > index.html
などとして、静的にHTMLを生成して、 この index.html の <form> ... </form> の中で、 checked を有効にしてみて下さい。
この理由として namazu.cgi は、CGI引数が渡されたとき、 NMZ.head の中の <form>〜</form>の値を動的に書き換える動作をします。 この"checked"の部分も、CGI引数を見て自動的に付加する部分ですが、 NMZ.headに "checked" を書き込んでしまうと、 CGI引数による書き換えが正しく行われません。
また、cat しただけでは <form method="get" action="{cgi}"> となりますから action="{cgi}"の 部分は action="/cgi-bin/namazu.cgi" などと、適宜書き換えてください。
『ウイルスチェッカが悪さをしている』 『レジストリのなかに "A:" を指すものがある』 とかいうのが良くある原因、と聞いたことがあります。
[namazu 508], Hideyuki SHIRAI (白井秀行) <shirai@rdmg.mgcs.mei.co.jp> さんのメイルより引 用。
Windows 上でウィルスチェッカーを常駐させていると mknmz 実行 時に
Error! Runtime Exception
というメッセージが表示されることがあるそうです。その場合には ウィルスチェッカーを停めてから mknmz を再実行してください。
nkf Version 1.9 を使っていませんか? このバージョンのnkfには、全角空白を含む文が文字化けを起こすというバグがあります。 この場合、version 1.7 にバージョンを下げましょう。
辞書のメンテナンスが容易なこと、動作が軽いことを考えると KAKASI の方が扱いやすいように思われます。 もちろん本格的な日本語の処理を行うには ChaSen の方が向いています。
KAKASI付属の kakasidict (テキストファイル) に単語を追加して KAKASI の make 時に一緒に作られた mkkanwa というプログラムを使って バイナリ形式の辞書に変換します。 出来上がった辞書は kanwadict という名前で /usr/local/lib/kakasi あたりにコピーすればよいでしょう。
フリーのかな漢字変換用辞書については馬場肇@京大さんによる Freely available dictionaries for kana-kanji conversion に情報がまとまっています。
MHonArc 2.4.5 以上を使ってください。resource file として次の 設定を用いるといいでしょう。
<MIMEARGS> text/plain:default=iso-2022-jp </MIMEARGS> <CHARSETCONVERTERS> plain; iso_2022_jp::str2html; iso2022jp.pl </CHARSETCONVERTERS>