Namazu: FAQ


Namazu 2.0に関するよくある質問、ありそうな質問とその答えをま とめた文書です。このファイルの最新版は http://www.namazu.org/FAQ.html にあります。 Namazu 1.3.0.x を対象とした 古いFAQ もあり ます。

目次

Namazu 一般

他の検索エンジンとはどう違うのですか

Namazu はできるかぎりお手軽に使えることを目指しています。 技術的には決して高度なものではありませんが、 手軽に使えるという面では割といい線をいっていると思います。 ただし、別途 KAKASI/ChaSen とその辞書が必要なので使えるディスク容量に余裕がないと使えません。 メイリングリストを開設して比較的活発にメンテナンスが行われているのも特徴といえると思います。

バグみたいなのですが

もしも古い Namazu をお使いならば最新のものを試してみてください。 この FAQもよく読んでみてください。既に解決しているかもしれません。 そうでなければ メイリングリストの方へご報告ください。

こんな機能があったら嬉しいのですが

何か良いアイディアがあれば メイリングリストの方まで要望を提案してください。 有用なものであれば取り入れていきたいと思います。

商用目的のサイトで利用したいのですが

問題ありません。どうぞご利用ください (Namazuの開発への援助は歓迎し ます)。ただし完全に無保証ですのでその点はご了承ください。Namazu の ライセンスは GNU General Public License version 2 に従うものとします。

Namazu の名前の由来は何ですか

特に意味はありません。思いつきで決めました。

Namazu? namazu? - 表記について

Namazu
Namazuのシステム全体のこと
なまず
Namazuのシステム全体のこと (愛敬のある呼び名)
namazu
コマンドラインから実行する検索プログラムのこと
namazu.cgi
CGIプログラムのこと
NAMAZU
未定義
ナマズ
ナマズ目の淡水魚。全長五〇センチメートルに達する。頭が大きくて平た く、体は側扁する。口に幼魚は六本、成魚は四本のひげをもつ。背面・側面は暗 褐色で、不規則な雲形斑紋のある場合が多い。肉は白身で、蒲焼き・鍋物として 美味。日本のほぼ全土、朝鮮半島・中国に分布。近縁種にビワコオオナマズ・イ ワトコナマズがいる。[季]夏。 -- 大辞林初版より
(1)ナマズ科の淡水産の硬骨魚。体は長くのび、五○センチメートルに達する。 頭部は扁平で、口は大きく四本の長いくちひげがある。背びれは極めて小さいが、 臀びれはよく発達して尾びれと結合。体表は滑らかで鱗がない。背部は青黒く、 腹部は白い。食用。日本・東アジアの沼・川に多く、春小流に来て産卵する。 季・夏。<新撰字鏡九> -- 広辞苑第4版より
catfish
ナマズ目 Nematognathi [Siluroidei] の魚の総称;鱗(うろこ) がなく,口の周囲にひげのあるのが特徴;ゴンズイ,ギギを含む. -- ランダムハウス英和大辞典より

初歩的な質問

動きません、教えてください (質問の仕方)

質問する前にまずマニュアルとこの FAQ をしっかり読んでください。ど うしても分からないときは

などについて簡潔な文章で書いてメイリングリ ストまで報告してください(投稿のマナーを参照のこと)。 ただし、質問しても必ず答えが返ってくるとは限らないのでご了承くださ い (答える義務はありません)。

超初心者です、何もわかりませんが使いたいのです

身近に詳しい人を見つけて教えてもらってください。あるいは書籍などで 自習してください。Namazu以前の初歩的な質問をメイリングリストに送ら れても困ります。

森本淳さんのお言葉

我々(?)はあなたのすぐ側には居ないわけですから、
「車のウインカーがつきません」
「ウインカーレバーを倒してみるのは?」
「ok, ウインカーつきました」
程度のアドバイスはできると思いますが、

「車のエンジンがかかりません」というのに対して、 「ではボンネットを開けて、向かって右の前から2番目にあるバッテリーの緑 のフタを外して赤いワイヤーを外して接点部の鉛の覆いを外して接点の銅に緑 青が吹いていたらそれをサンドペーパーでこすって磨いて接点復活剤をかけて また組み上げるのがまず1点。次に向かって左3番目の ECU を開けて CPU の (以下 120 行省略) 」 みたいな指摘は、超人かアポロ13号の地上指令室でもないかぎり、 残念ながらできません。

KAKASI の make ができません

KAKASI のドキュメントを読んでがんばってください。または身近 に詳しい人を見つけて教えてもらってください。

configure 時に nkf を認識してくれないのですが

次の手順でやり直してください。

  1. 環境変数 $PATHに含まれるディレクトリに nkf が存在するか確認し、
  2. config.cache を削除してから ./configure を再実行する

Namazuに必要なソフトウェアに関してはチュートリアル準備とmakeを参照してください。

locale関連

mknmzでインデックスを作成する際に 文字コードが正しく認識されないようです

インデックスファイルの書き出しをする際のメッセージがWriting index files... と英語でメッセージが表示されている場合は環境変数LANGの設定を確認してください。 mknmzはLANGに `ja' から始まるlocale名が指定されていない時は日本語の処理を 行いません。 Namazu 2.0 tutorialの 日本語の文書を扱うにはを参照してください。

mknmz関連

インデッ クスの更新中に検索をかけることはできますか?

できます。検索にロックがかかるのはほんの一瞬です。

インデックスの更新中に mknmz を強制終了させるとインデックスは壊れますか?

よっぽどタイミングが悪くないかぎり、壊れません。ただし、 作 業ファイル 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

これより規模の大きいインデックスを作成された方はぜひメイリン グリストにご連絡ください。

mknmz を実行すると sh: no: command not found と表示されてうまく動きません

Namazu は ./configure の実行時に nkf, kakasi (chasen) のパスを $PATH から検出します。あらかじめ nkf, kakasi (chasen) を $PATH の 通っているところにインストールしておいてください。

mknmz で Not enough space! で止まっ てしまいます

メモリ不足です。次の項目を参照してください。

mknmz で Out of memory! で止まってしまい ます

大きなファイルを処理していると Out of memory! が発生すること があります。この場合は mknmz の中の $FILE_SIZE_LIMIT の値を下げると解決するかもしれ ません。たくさんのファイルを処理していると同じように Out of memory! が発生することがあります。この場合は mknmz の中の $ON_MEMORY_MAX の値を下げると解決するかもしれま せん。あるいは、メモリを増設する、という手段が一番、確実かも しれません。

wget で取得してきたファイルのパス名に '%7E' が含まれて困ります

Namazuはインデックス作成時に、パス名に含まれる記号類を URL風に ' %xx' としてエンコードして記録します。ゆえにパス名に含まれる '%7Efoo' は '%257Efoo' のように '%' の部分が '%25' に変換され、嬉しくない結果となります。

このような場合は mknmz 実行時に -U オプションをつけてパス名のエン コードを行わないようにします。 '%7E' はそのまま '%7E' として記録さ れます。

Use of uninitialized value at /usr/local/bin/mknmz line xxxx というメッセージが表示されます

これは Perl の出力する警告です。特に実害はないと思います。 mknmz の一行目から '-w' を取り除くと消えるはずです。Perlの ヴァージョンによって警告が出たりでなかったりします。

namazu関連

namazu.cgi関連

CGIとして動きません

Apache なら srm.conf に

AddHandler cgi-script .cgi

の行を追加すると解決するかもしれません。

.namazurc を見えないように Web serverを設定したいのですが

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> さんのメイ ルより引用。

NMZ.head に checkbox の記述をしてもブラウザ上のチェックボックスがチェックされません

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" などと、適宜書き換えてください。

Windows 関連

インデックス作成の最中にどう いうわけかフロッピーディスクドライヴが動き出して困ります

『ウイルスチェッカが悪さをしている』 『レジストリのなかに "A:" を指すものがある』 とかいうのが良くある原因、と聞いたことがあります。

[namazu 508], Hideyuki SHIRAI (白井秀行) <shirai@rdmg.mgcs.mei.co.jp> さんのメイルより引 用。

インデックス作成の最中に Error! Runtime Exception というメッセージが何度も表示されま す

Windows 上でウィルスチェッカーを常駐させていると mknmz 実行 時に

Error! Runtime Exception

というメッセージが表示されることがあるそうです。その場合には ウィルスチェッカーを停めてから mknmz を再実行してください。

日本語処理関連

検索結果が文字化けします (nkf 1.9)

nkf Version 1.9 を使っていませんか? このバージョンのnkfには、全角空白を含む文が文字化けを起こすというバグがあります。 この場合、version 1.7 にバージョンを下げましょう。

KAKASI と Chasen のどちらを使うべきでしょう

辞書のメンテナンスが容易なこと、動作が軽いことを考えると KAKASI の方が扱いやすいように思われます。 もちろん本格的な日本語の処理を行うには ChaSen の方が向いています。

KAKASI の辞書を拡張したいのですが

KAKASI付属の kakasidict (テキストファイル) に単語を追加して KAKASI の make 時に一緒に作られた mkkanwa というプログラムを使って バイナリ形式の辞書に変換します。 出来上がった辞書は kanwadict という名前で /usr/local/lib/kakasi あたりにコピーすればよいでしょう。

フリーのかな漢字変換用辞書については馬場肇@京大さんによる Freely available dictionaries for kana-kanji conversion に情報がまとまっています。

MHonArc で処理するときに日本語の Subject: をデコードさせたいのですが

MHonArc 2.4.5 以上を使ってください。resource file として次の 設定を用いるといいでしょう。


    <MIMEARGS>
    text/plain:default=iso-2022-jp
    </MIMEARGS>
    <CHARSETCONVERTERS>
    plain;          iso_2022_jp::str2html;     iso2022jp.pl
    </CHARSETCONVERTERS>

Namazu Homepage

$Id: FAQ.html.ja,v 1.15 2000/05/30 06:18:58 rug Exp $
webmaster@namazu.org