「山旅倶楽部」で広がるアウトドアライフ
パソコンを快適に使おう

目次
■[ネットワーク編] 『日本語全文検索』namazu導入のための資料 by HIBI
□[ネットワーク編] データの保存管理にはホームサーバーが便利

□[ネットワーク編] ADSL・無線LANを検討されるている方へのアドバイス
□[マイホーム編] パソコンをもっと快適に使う
□[モバイル編] デジカメ・GPS・ノートPCを車で使用するテクニック


全文検索を作ろう No.1

以下の資料は、私が1999年にNifty山と地図のフォーラム「道草」に投稿したものです
URLの変更、著作権に関わる個所などを除いて、なるべく原文のまま掲載しています

「山と自然の旅」で実際に運用している画面や紹介記事は□[ネットワーク編] データの保存管理にはホームサーバーが便利に掲載していますので、そちらも合わせてご覧ください。
全文検索ですが、これは便利なものです。
インターネットの検索サイトYahooをイメージしてください。
検索方法ならびに結果はYahooとほぼ同一です。

つまりMyYahooを作りましょう..と..いうのが今回のテーマです。

私が全文検索を導入活用したいテーマとして

(1)・誰でも簡単に資料をWindowsでデータベース化できる。
(2)・WEBやパソ通、メールなどの発言やページをデータベース化できる
(3)・デジカメデータならびにGPSデータをデータベース化できる
(4)・『Map Brothers』やカシミールとデータベースがリンクできる

上記のものですが、今回全てフリーソフトで構築実現できましたので
数回に分けて解説をしてみます。

なおMacユーザーの方は、クライアントとしてデータベースを
使用することはできますが、Macでデータベースの構築は残念ながら
出来ません..というか..Macの方はシャーロック検索エンジンがOSに
最初から付属していますので、それで良いでしょう。
動作原理は、ほぼ同じです。

[序文]
全文検索の場合、RDBMSと違って、1本のデータファイルに
データを逐次追加していく方法とは、異なり

□「1つの情報が完結する最小のサイズ」を1データとすることです。

ACCESS、桐、NIFTERMやCSVを使用したデータベースとは根本的にここが違います。

JUST社のCBSEARCHやインターネットブーメランも、全文検索と同様な
動作原理です。最初CBSERACHをテストした時に、この問題に気がつかず
全文検索データベースとして機能しないではないかと..焦げりました。

つまり全文検索においては

□「1つの情報が完結する最小のサイズ」を1データとしなくてはなりません。

いうなれば1つの情報ごとのテキストやHTMLベースのデータが最適ということで
すね。
1つのデータファイルに、情報を追加していく方法はダメ〜ということです。

Niftyのフォーラムもインターネットメーラーソフトの
ニューズリーダーとしても読めるようですが、このようにして
会議室発言を受信すると、あとで発言をHTMLごとに保存することも
可能になりますし、Niftermでの受信ログを同様にツールを
使用してHTML化することも可能ですのでデータベース化には向いています。

私はNiftermのデータをコンバートしています。
オープンコースなのでニューズリーダーを使えないためです。

[全文検索の導入方法 1]

主役はnamazuという全文検索ソフトです。
簡単に扱うには、このnamazuとsearch-sという2つのソフトで
十分に実用ではあるのですが、やはり検索は誰でも持っている
WEBブラウザにしたいですし、また各家庭でも複数のPCから
インターネットを利用する時代に突入していますから
どこでも「検索」を実現させたいものです。

そこでな〜んと、皆さんのPCにWEBサーバーを開設して
Niftyのように自分がプロバイダーを開いちゃおう..と..
いうのが今回のテーマの1つでもあります。
もっとも、まだ皆さんのご家庭は常時接続ではないでしょうから
あくまで自宅内プロバイダということになります。
外から侵入される心配もなく、安心して利用できるのもメリットです。

それでは、誰でも全文検索データベースを設置できるのでしょうか。
答えは Yes,No両方です。

スキルとしては MS-DOSの知識は多少必要です。
DOS時代からPCに接している方は、ほぼ問題ないでしょう。
Win95からPCを体験された方は、MS-DOSの知識が多少必要に
なります。

これから述べるシステムはWindows95,98,NT,2000で
問題なく動作します。もちろんLinuxやUnixでもOKです (^^;
つまりMacを除く殆どのコンピュータで動作しちゃうのです。

ですから、将来レンタルサーバーでWEBサイトを構築
したい場合にもピッタリです。


実際のシステムとして、以下のものを使用しました

・全文検索ソフト NAMAZU For Win32
・わかちがき kakasi For Win32
・PERL :Acctive Perl (Ver5)
・NKF32
・ANHTTPD Server

↓ここに、インストールを含めて解説が掲載されています
http://sl.hunet.ne.jp/index/f-cool6.htm

すごいことは、上記のソフトは、いずれも全てフリーソフトです。

サーバーはLinuxだとApacheが大半ですが、Windows版Apacheは
誰でも簡単に操作できるものではありません。
一般の方はNT Serverユーザーではありませんし、また軽い動作を考えると
IISも却下です。

誰でもたやすくパーソナルサーバーを運用できる
これを実現できるのが ANHTTPD Server です。
インストールすら入りません。EXEを実行したその時から
SERVERは動作を始めてくれます。
誰でも、間違いなくプロバイダになれます。

もっともNAMAZUとリンクさせるには、多少の設定は必要はありますが
たいしたことはありません。後でその説明はしましょう。

全文検索を作ろう No.2
ステップ1:search-sを使用して、お手軽に全文検索をやってみる

まずは簡単にnamazuを扱える方法として
search-sというnamazu専用の検索ソフトを使ってみましょう


ソフトの入手とインストールの手順ですが

1.Active Perl Ver5.0
http://www.ActiveState.com/ActivePerl/
2.namazu
http://www.namazu.org/windows/
元祖namazuはこちら
http://www.namazu.org/
3.kakasi
http://kakasi.namazu.org/
4.nkf32(nkf3217.lzh ネットワーク漢字フィルター)
http://www.topstudio.co.jp/~kmuto/software/nkfdll/

5.Win95の方は、次のものを先にインストールします

DCOM95 
Windows95環境でActivePerlを使うときに必要です。
http://download.microsoft.com/msdownload/dcom/95/x86/en/dcom95.exe 
Active Perlをインストールする前にインストールしておいてください。
Win98,NT,2000の方は必要ありません。

6.search-s
http://www.syam.net/

■ 

以上4つのソフトを1〜4の順番でインストールします。
(Win95の方は、5のDCOM95を先にインストールしておくこと)
1-3まではインストーラーがついていますから
難しくはありませんが、インストール先は下記のようにしてくだい。
(私のインストールした環境と同じにしたいためです)

c:\usr\perl
C:\usr\local\namazu
C:\usr\local\kakasi

インストールした場合の autoexec.batが次のようになっているかを

確認してください。

------------以下autoexec.batのperl,namazu,kakasiに必要な部分--------

SET PATH=C:\USR\PERL\BIN;"%PATH%"

REM ###### Namazu for Win32 Environment variable setting
PATH C:\usr\local\namazu\bin;%PATH%
SET NAMAZUCONFPATH=C:\usr\local\namazu\lib\namazu.conf

REM ###### kakasi for Win32 Environment variable setting
PATH C:\usr\local\kakasi\bin;%PATH%
SET KANWADICTPATH=C:\usr\local\kakasi\lib\kanwadict
SET ITAIJIDICTPATH=C:\usr\local\kakasi\lib\itaijidict
--------------------------------------------------------------

nkf32のインストール】
4のnkf32.exeはC:\usr\local\namazu\binに置きます。

6:search-sのインストール
こちらもインストーラーで簡単にインストールできます。
このソフトはnamazuを使用した検索をおこなう、検索ソフトです。
IEやnetscapeとの併用も可能です。

ここまでで、第一段階のインストールは終了です。

いよいよ次はnamazuの設定に入ります

全文検索を作ろう No.3
実は全文検索講座を書き始めて判明したことなのですが
namazuのVerが2.0に上がっていました (^^;
Word文書, PDF, TeX ,excelデータにも対応できるようです

私が使用しているVerは1.3011です。
まだVer2.0は使用していないので、ここから先の解説は
Ver1.30のものですのでご注意ください。
まずはnamazu Ver1.3011を使ってみてください。
そしてnamazuを理解してからVer2.0に移行しても
ムダではありません。Ver1.3011も、もちろんダウンロードできます。


namazuの設定

・index,dataを置く場所を決めます

まず全文検索用のindexファイルと、検索する元データの設置場所を
決めます。できれば専用のハードティスクを新調するのがベストです。
ハードティスクの価格もかなり安価になっていますし
データベースにガンガンとデータをぶちこみたいからです。
しかし必ずハードディスクを新調しなくてはならないと
いうことは、もちろんありません。

しかし一度indexを作成すると、そのドライブパスを
あとから変更はできないので、テストだけでしたら
好きな場所でも構いませんが、実用的な運用をするならば
できる限り容量の大きなハードディスクがあったほうが
ベターです。いままで使用してきたデータのバックアップだと
解釈すれば決してムダではないことを理解されるでしょう。

このシステムはネットワークに対応していますので
複数のPCからの利用が可能です。

私は新調したハードディスクをmドライブ(m:)に設定しましたので
以下からの説明はmドライブを前提としますが
c:ドライブでも、d:ドライブでも、かまいません。
ご使用の環境に合わせてください。

私はindexファイルならびにデータを次のような
フォルダー(ディレクトリ)構造に設定しています。
(全て記述しても意味ないので代表的なものを書き出ししています)

m-----database----index--web  インターネット情報
                       --hibi  自分のテキストドキュメント
                       --mail  メール
                       --nifty niftyフォーラム

              ----data---web
                      ---hibi
                      ---mail
                      ---nifty---fyamap--02 会議室ナンバー
                                       --03
                                       --06
                                       --16
              ----bat---web.bat
                     ---hibi.bat
                     ---mail.bat
                     ---nifty.bat


つまりmドライブにdatabaseというフォルダーを作成して
その下にindex,data,batフォルダーを作成します。
さらにinde,dataの下に自分の文書専用hibi,webダウンロードデータ用web
mail用、niftyフォーラムデータ用の区分フォルダーを作成します。
数に制限はありません。整理整頓しやすい構造に自由に設定してください。
ここまではnamazuプログラムとは関係なく、データの整理整頓をわかりやすく
するためのデータの配置を解説しています。


・インデックスの作成

dosプロンプトから
mknmz -O  m:\database\index\web m:\database\data\web
          ~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~
          作成するindexの場所  元データの場所

このようにindexとデータの位置を指定して mknmz -O(大文字であること)を
実行します。Oはゼロではなくて、アルファベットのOです。

しかし毎回dosで実行するのは面倒ですから
bat(バッチと読む)ファイルを作成すると便利です。

ms-dosをご存知ない方は、以下の内容をエディターで作成して
ファイル名を たとえば web.bat にして保存すればOKです。
batファイルは m:\database\bat に収録するとよいでしょう。

web.batの内容
mknmz -O  m:\database\index\web m:\database\data\web

hibi.batの内容
mknmz -O  m:\database\index\hibi m:\database\data\hibi

mail.batの内容
mknmz -O  m:\database\index\mail m:\database\data\mail

nifty.batの内容
mknmz -O  m:\database\index\nifty m:\database\data\nifty

上記の各batファイルを実行すると namazu のindexが作成されます。

重要!!

namazuのindexデータですが、一度に数千のデータを作成することは
絶対やってはいけません。コンピュータの負荷が大きくなりすぎて
作成に要する時間が、とてつもなくかかったり(1週間ほど)
途中で作成作業が停止してしまう場合があります。

最初は1000ファイル以下をおすすめします。
追加していくことは、簡単です。

一度indexを作成しておいて、次に追加データを各dataフォルダーに追加して
再度batファイルを実行するだけです。

つまり新規データを設定したdataフォルダーに保存したら
該当batファイルをそのつど実行すればよいのです。


indexファイルが完成したら、全文検索を体験してみましょう

・search-sで検索してみよう

search-sを実行するとプログラムが起動しますので
メインメニュー[研作-[検索パス]を選択して
使用する index を選択します

そして画面にあるキーワードに検索したい語句を記入して
[検索ボタン]を押します

どうですか...Yahooのように、瞬時に検索結果が
表示されたでしょう。超高速ですね。

search-sでは、search-s自体に内臓しているwebブラウザ以外に
netscape,Internet Explolorを指定できます。
使い慣れたものにセットしましょう。


全文検索を作ろう No.4
ここからが上級編ですね

search-sで全文検索できましたか
これで十分に実用なのですが、パーソナルWEBを構築すると
もっと使いやすくなるのです。

これから先はパーソナルサーバーの構築とnamazuシステムを
webで使えるようにしていきます。

パーソナルサーバーを設置するとnamazuだけでなく
様々な便利ツールをwebブラウザで使用できるようになります。

いわゆるトレンドのイントラネットの構築ということですね。
そうなんです...イントラネットを作ってしまおう..と..いうことです。

しかし心配はありません。
難しいところは、殆どありません。

これであなたもインターネットカルチャーを制覇できます
ベンチャービジネスはじめますか (^^)v

・ANHTTP webサーバーを組み込む

ANHTTPの設定などは以下の解説を参考にしましょう
http://sl.hunet.ne.jp/index/f-cool1.htm
またAN HTTPの入手はこちらです
http://www.st.rim.or.jp/~nakata/
AN HTTPの使い方に関しては下記の情報も役立ちます。
http://www.kent-web.com/www/

AN HTTPはインストールという作業はまったくありません。
ダウンロードしてファイルを解凍して終わりです。

httpd.exeを実行するだけです。
これであなたのPCがWEBサーバーに変身します。

さて...namazuをwebサーバーから使用するには
まず http://****** のセットが必要ですね

そこで AN HTTP サーバーのオプションを開いて
次の内容を変更します。

ドキュメントルートの設定
オプション[一般]の中にあるドキュメントルートを
m:\database にします。

この意味は m:\database が http://の始まり位置にセットされる
ことを示します。この概念は重要なので是非とも理解しましょう。
実際のインターネットプロバイダーも、このように設定するのです。

この設定をして m:\databaseに index.html を設置してください
index.html の内容はなんでも構いません。

あなたのPCがネットワークの設定をしていなければ
(ルーターなどネットワークを使用していないこと)
webブラウザから
http://127.0.0.1/index.html をアクセスしてみてください
どうですか...ちゃんと index.html の内容がブラウザに
表示されたでしょう。

あなたのPCがネットワークの設定をしている場合は
windowsのスタートボタン-[コントロールパネル]-[ネットワーク]を開いて
[識別情報]に記述されているコンピュータ名をメモしてください。

たとえばコンピュータ名が hibi だったとしますと
(ここは自由に変更できるので yama でも database でもご自由に)
webブラウザから
http://hibi/index.html をアクセスしてみてください
どうですか...ちゃんと index.html の内容がブラウザに
表示されたでしょう。

そうです..これであなたもプロバイダになれたのです。

全文検索を作ろう No.5
それでは、いよいよnamazuをサーバーで使えるように設定していきます。


・namazu.confの設定
さていよいよnamazuの設定に入りますが
設定するのは、とりあえず1箇所だけです。

namazu.confというファイルを編集します。
namazu.confは以下の場所にありますので
エディターでこのファイルを読み込んで編集します。

C:\usr\local\namazu\lib\namazu.conf

何を編集するかといいますと
indexファイルを置く場所を設定することと
http://**** の始まる場所を設定します。

設定する個所は
INDEX           m:\database\index
REPLACE         /m|/database/   http://hibi/

ここだけです。

最初の行はindexのある場所を指定しています
次の行は m:\database を http://hibi に設定しています
これはネットワークを使う設定です。

たとえ1台のPCしか使用していなくても
将来必ずルーターを導入したり、複数のPCを使用するようになりますから
この際ご使用のPCの設定をネットワーク対応にしておきましょう。

申し訳ないですが、PCのネットワークの設定に関しては
割愛させていただきます。

といいますのも、もしも1台のPCだけで使用するのであれば
search-sを利用していれば十分だからです。
わざわざwebサーバーを構築する必要はありません。

perlでは #はコメント行を表しますので
頭に#のつくものは説明と解釈してください。

---------以下の部分のようにindexファイルを指定します-------

#INDEX          C:\usr\local\namazu\index <-元々記述されているもの
INDEX           m:\database\index
REPLACE         /m|/database/   http://hibi/
#BASE           http://hibi/ <-特に設定する必要はない
#LOGGING        OFF  <-特に設定する必要はない
#LANG           ja  <-特に設定する必要はない
#SCORING        TFIDF  <-特に設定する必要はない

----------------------------------------


・namazu.exe を ANHTTPサーバーにコピーします。

C:\usr\local\namazu\bin\namazu.exe

C:\usr\local\namazu\bin にある namazu.exe を

ANHTTPをインストールしてある場所
私の場合は
d:\tool\anhttp ですが
このanhttpフォルダーの中には <cgi-bin> というフォルダーがありますので
例 d:\tool\anhttp\cgi-bin
このcgi-binフォルダーの中にnamazu.exeをコピーします。

これで作業は終了です

ここまで、できましたら、次のようにwebブラウザから
namazuを呼び出します。

http://hibi/cgi-bin/namazu.exe

どうですか... namazu 呼び出せたでしょう

しかし..これだけでは..実はダメなんですね

全文検索を作ろう No.6
namazuによる検索をwebブラウザで使用する場合に
indexの指定をしたくなります。
つまりwebデータだけの検索、自分の書類だけの検索
Niftyフォーラムだけの検索など...
あるいは、その全てを同時に検索したい..など
状況に応じて検索方法を変更したくなりますね。

これを実現するには m:\database\index にある

NMZ.head.ja
NMZ.foot.ja

この2つのファイルを編集します。
もっとも NMZ.foot.ja は特に編集しなくても構いません。
デザイン的なものだけです。
実質的に編集するのは NMZ.head.ja です。

注意することは、NMZ.head.ja は[jis]コードで記述されています。
ご使用のエディターが[jis]コードを扱える必要があります。
shift-jis(Windowsの標準)で編集しますと正常な動作はしません。
秀丸エディターを使用されるとよいでしょう。

私の作成した NMZ.head.ja ファイルの内容を以下に記述してますので
-----------ここから------  -----ここまで------の内容を[jis]モードで保存
してください。


----------ここから-----------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
        "http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
<HEAD>
<LINK REV=MADE HREF="mailto:$ADMIN">
<TITLE>Yamatabi Database Syatem</TITLE>
</HEAD>
<BODY LANG="ja">
<H><FONT SIZE="4" COLOR="#000080"><B>山旅 社内データベース
</B></FONT></H>

<HR>
<FORM METHOD="GET" ACTION="$CGI_ACTION">

<P>
<STRONG>入力:</STRONG>
<INPUT TYPE="TEXT" NAME="key" SIZE="40">
<INPUT TYPE="SUBMIT" NAME="submit" VALUE="実行!">
<INPUT TYPE="HIDDEN" NAME="whence" VALUE="0">
<BR>
<STRONG>件数:</STRONG>
<SELECT NAME="max">
<OPTION VALUE="50">50
<OPTION SELECTED VALUE="200">200
<OPTION VALUE="all">すべて

</SELECT>
<STRONG>要約:</STRONG>
<SELECT NAME="format">
<OPTION SELECTED VALUE="long">する
<OPTION VALUE="short">しない
</SELECT>
<STRONG>ソート:</STRONG>
<SELECT  NAME="sort">
<OPTION SELECTED VALUE="later">新しい順
<OPTION VALUE="earlier">古い順
</SELECT>
</p>
<p>
<STRONG></STRONG>


<TABLE  BORDER="0" CELLSPACING="1" CELLPADDING="1" COLS="1" WIDTH="100%">
<TR>
<TD><FONT SIZE="3" COLOR="#8000FF">●自社WEBに掲載されている情報
</FONT></TD>
</TR>
</TABLE>


<TABLE  BORDER="1" CELLSPACING="1" CELLPADDING="0" COLS="3" 
BGCOLOR="#D6FCDB" WIDTH="80%">
<TR>
</TR>
<TR>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="yamatabi">山旅WEBデータ
</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="news">山旅ニュース
</TD>
</TR>
<TR>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="ipoint/1999">i-point99年
度WEBデータ<BR>
</TD>
<TD></TD>
</TR>
</TABLE><BR>

<TABLE  BORDER="0" CELLSPACING="1" CELLPADDING="1" COLS="1" WIDTH="100%">
<TR>
<TD><FONT SIZE="3" COLOR="#8000FF">●『Map Brothers』情報</FONT></TD>
</TR>
</TABLE>

<TABLE  BORDER="1" CELLSPACING="1" CELLPADDING="0" COLS="3" 
BGCOLOR="#D6FCDB" WIDTH="80%">
<TR>
</TR>
<TR>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="mb/yamatabi97">1997山旅
CD-ROM
</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="mb/fieldmap99/yaso">1999
フィールドマップ野草
</TD>
</TR>
<TR>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" 
VALUE="mb/fieldmap99/kinoko">1999フィールドマップきのこ
</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" 
VALUE="mb/fieldmap99/yacho">1999フィールドマップ野鳥</TD>
</TR>
</TABLE><BR>

<TABLE  BORDER="0" CELLSPACING="1" CELLPADDING="1" COLS="1" WIDTH="100%">
<TR>
<TD><FONT SIZE="3" COLOR="#8000FF">●社内情報</FONT></TD>
</TR>
</TABLE>

<TABLE  BORDER="1" CELLSPACING="1" CELLPADDING="0" COLS="3" 
BGCOLOR="#D6FCDB" WIDTH="80%">
<TR>
</TR>
<TR>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="web">WEB情報
</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="book">自社内・雑誌・マガ
ジン情報</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="nifty">Nifty情報</TD>

</TR>
<TR>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="photo">写真データ
</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="gps">GPSデータ</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="tool">TOOLデータ</TD>
</TR>
</TABLE><BR>

<TABLE  BORDER="0" CELLSPACING="1" CELLPADDING="1" COLS="1" WIDTH="100%">
<TR>
<TD><FONT SIZE="3" COLOR="#8000FF">●個人情報</FONT></TD>
</TR>
</TABLE>

<TABLE  BORDER="1" CELLSPACING="1" CELLPADDING="0" COLS="3" 
BGCOLOR="#D6FCDB" WIDTH="80%">
<TR>
</TR>
<TR>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="hibi">日比関係
</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="yuko">裕子関係
</TD>
</TR>
<TR>

<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="mail/hibi">日比メール
</TD>
<TD><INPUT TYPE="CHECKBOX" NAME="dbname" VALUE="mail/yuko">裕子メール
</TD>

</TR>
</TABLE><BR>
</FORM>
<br>
----------------ここまで---------------

保存できましたら NMZ.head.ja をダブルクリックして
みてください。webブラウザで内容を見られます。

次に先ほどの方法で namazu をwebブラウザから呼び出します

http://hibi/cgi-bin/namazu.exe

いかがですか....これで使えるでしょう

おっと..まだこれだけではダメなのですが...

全文検索を作ろう No.7
前回のものだけでも、実際のところ動作します。
しかし一度特定のindexを使用した場合には
indexのある位置が移動していまして..そのままでは
他のindexで検索したい場合にチェックボックスをONにしても
エラーになってしまいます。

この場合 http://hibi/cgi-bin/namazu.exe を
BookMarkに登録しておいて、毎回呼び出して使用するならば
問題はありません。しかしこれがメンドーな場合には
indexフォルダーの下に作成した各フォルダー全ての中に
先ほど作成した

NMZ.head.ja
NMZ.foot.ja

この2つのファイルを上書きコピーします。

これで一応 namazu 全文検索は完成なのですが...

しかし..実際に使用してみると、記述したキーワードで
ヒットしない場合があることに気が付くと思います。

全文検索の要は実は、検索用の辞書にあるのです。

標準の辞書だと例えばカシミールで検索かけたい場合に
カシミールではヒットしないのです。


例えば「愛媛」は「愛」と「媛」に分解されて
「愛媛」ではヒットしないとか..「大阪」も
「大」と「阪」に分解されちゃうとか...
それでは「大」AND 「阪」でヒットしそうなものなのだけど
案外ヒットしない..

このように文章を、1つ1つの単語、文節に分解することを
形態素解析といいます。

形態素解析の場合、単語や文節、文章を検索専用の日本語に分解します。
これを「わかち」ともいいます。

全文検索でのヒット率を高めるには、この日本語に対する
「わかち」能力が一番影響します。

この形態素解析をおこなうプログラムがkakasiなのです。

そこでatokやIMEに登録したユーザー辞書を元に
kakasiの辞書にデータを追加するのです。

こうすると、瑞牆山、大雪山など、山名、地名、特殊な人名も
かなりヒットするようになります。

私はatokを元にして辞書データを追加しました。
このおかけで土竜さんの作成された山名dicもバッチリと
kakasiの辞書に追加組み込みができました。


この辞書は以下の場所にあります。

c:\usr\local\kakasi\lib

Windows 環境で、mkkanwa.exe を使用する場合、私の環境 (NT 4.0) では、
次の方法でkanwadict 辞書を作らないと、辞書の追加がうまくいきませんでした。

まず、Hidemaru などのエディタに lawkakasi.s.dict を読み込んで、コメント
部分(ファイルの最初の方の ;; で始まる行)を削除します。

残りの辞書本体を、kakasidict の末尾にペーストして kakasidict でセーブします。 

次にms-dosのプロンプトから以下の式を実行します。

C:\usr\local\lib\kakasi> mkkanwa kanwadict kakasidict 

これで kanwadict を作ります。
作成しましたら
c:\usr\local\kakasi\lib にあるkanwadictと、さきほど作成した
kanwadictを入れ替えます(上書きでもよし)。

なお作成した辞書登録の動作テストは以下のようにおこないます。

まずテストテキストファイルを用意する

例 test.txt

test.txtの内容は以下の通り

 奥裾花自然園・ミズバショウ情報 1999.05.03 長野県北部鬼無里村、戸隠連峰
の西側にある奥裾花自然園は、本州では最大規模のミズバショウの群生地として
知られている。その数およそ80万本。ブナの原生林の足元を、八王子に三浦して
長崎と愛媛に高知の
中に栃木で立川だ。

下記をms-dosプロンプトから実行します。

kakasi -w < test.txt

実行した内容が作成された辞書に基づいて、わかちされているかを確認します。

例
 奥裾花 自然 園 ・ ミズバショウ 情報 1999.05.03 長野県 北部 鬼無里村 、 
戸隠 連峰 の 西側 にある 奥裾花 自然 園 は 、 本州 では 最大規模 の ミズ
バショウ の 群生 地 として 知ら れている 。 その 数お よそ 80 万 本 。 
ブナ の 原生林 の 足元 を 、 八王子 に 三浦 して 長崎 と 愛媛 に 高知 の
 中に 栃木 で 立川 だ 。


どうですか..これでいつでも辞書のメンテナンスができますね。
ここまでやると..もう namazu を手放せなくなるはずです。


補足です

>まず、Hidemaru などのエディタに lawkakasi.s.dict を読み込んで、コメント
>部分(ファイルの最初の方の ;; で始まる行)を削除します。
>
>残りの辞書本体を、kakasidict の末尾にペーストして kakasidict でセーブし
>ます。 

kakasi for 32 lawkakasi.s.dictの内容の抜粋です
なおこのファイルは[EUC]文字コードで記述されています。
[shift-jis]では正常に動作しません。
必ず[EUC}文字コードとして保存してください。
秀丸エディターでしたら問題なく保存できます。

---------ここから以下抜粋----------
;; 法律用語の kakaksi 形式辞書 
;; (C) Hiroshi Komatsu <sui_feng@highway.ne.jp> 1998-1999
;;     Law Offices of Homma and Komatsu, Japan
;;
;; ●基本的な法律用語 (13,286 語) を KAKASI 形式の辞書にまとめました。
;;
;; ●kakasidict-940620 に含まれている用語は、省いてあります。
;;   kakasidict-940620
;;   <ftp://ftp.kusastro.kyoto-u.ac.jp/pub/baba/wais/>
;;   に追加して使用してください。
;;   なお、kakasidict-940620 では 
;;   ■「既」の読みが「がい」となっている ==> 「き」が正解
;;   ■「国庫」の読みが「こくこ」となっている ==> 「こっこ」が正解
;;   ■「買春」の読みが「ばいしゅん」となっている ==> 「かいしゅん」が
;;      法律用語としては正解
;;   ので、この部分の修正が必要です。patch 形式の方は、この部分の修正
;;   を含んでいます。
;;
;; ●医学や経済用語などの専門用語の電子化辞書は、市販のもの、フリーの
;;   ものなど、すぐれたものが多数存在しますが、どういうわけでしょうか
;;   法律用語の電子化辞書、特に、形態素分析に使用できる辞書で、フリー
;;   のものがありません。しかたなく自作しました。徐々に充実させていき
;;   たいと思いますので、共同開発大歓迎です。「この用語が登録されてい
;;   ない」などの情報があれば、E-mail でお寄せください。
;;
;; ●再配布及び改変にあたっては、このファイルと一緒に配布されたはずの
;;   COPYING というファイルに記載された GNU General Public License に
;;   したがってください。この辞書は、十分な注意をはらって作成されまし
;;   たが、無保証です。(GNU General Public License は、この辞書を他の
;;   辞書またはプログラムその他の製品に組み入れて配布または販売するこ
;;   とを許諾するものではありません。)
;;
;; (C) 本間・小松法律事務所  弁護士  小松  弘 1999
;; $RCSfile: lawkakasi.s.dict,v $$Revision: 1.7.1 $$Date: 1999/12/01 
17:58:42 $
あいえるおうはちじゅうななごうじょうやく ILO87号条約
あいえるおうはちじゅうななごうじょうやく ILO87号条約
あいえるおうはちじゅうななごうじょうやく ILO八七号条約
あいたいとりひき 相対取引
あいてかいしゃ 相手会社
あいてかたしてい 相手方指定
あいてかたしていせいきゅう 相手方指定請求
あいてかたしていせいきゅうかぶぬし 相手方指定請求株主
あいてかたしていつうち 相手方指定通知
あいてかたたいこう 相手方対抗
あいてかたふしゅっとう 相手方不出頭
あいてさきこーどばんごう 相手先コード番号
あいてとうじしゃ 相手当事者
あいひこくにん 相被告人
あおいろしんこく 青色申告

-途中省略-
私が追加した部分の一部は

やまうす 山臼
やまうつり 山移
やまえ 山江
やまおおよど 山大淀
やまおこし 山起
やまおり 山折
やまか 山香
やまがい 山ケ谷
やまがしたちょう 山ケ下町
やまがしら 山頭
やまがす 山粕
やまかぜもり 山風森
やまがた 山鹿
やまがたいわなか 山県岩中
やまがたいわにし 山県岩西
やまがたいわひがし 山県岩東
やまがたいわみなみ 山県岩南
やまがたいわみょうこう 山県岩明光
やまがたきたの 山県北野
やまがたせん 山形仙
やまがたちょう 山方町
やまがたむらいちえん 山形村一円
やまかのうじょう 山加農場


このような山名、地名、人名などを追加しました

全文検索を作ろう No.8
これからは便利な使い方に入ります

・ネットサーフィンしたお気に入りのページをデータベース化
・毎日自動的にデータベース化をしたい
・『Map Brothers』、カシミールで使用しているLMLを扱えるようにしたい
・Niftyのフォーラム発言をデータベース化したい
・メールの受信、送信データをデータベース化したい

このようなテーマに対してアプローチしていきます。

・ネットサーフィンしたお気に入りのページをデータベース化

インターネットのホームページを見ていて、このページは
是非とも保存しておきたいと思ったことはありませんか。

また保存したデータを、Yahooの全文検索で管理できれば、便利ですよね。

実はこのようなことが、簡単に実現できてしまうのです。

上記のことを実現するには、パーソナルwebサーバーがなくても
search-sでも十分にできますのでご安心ください。

つまり●全文検索を作ろう No.1〜No.3 までの作業で
実現できちゃうということです。

ただし No.7 で解説したように辞書を強化しておくと
使い勝手の向上に大きく影響します。

さて本題に戻りますが

Windows IE5 webブラウザをインストールしてください。
現在は Ver5.01 が最新です。(1999年時)

これだけです。

IE5は表示されているページを、そっくりそのまま
保存してくれる機能があります。

ただし namazu でのデータベース化をする際に
IE5は「全て保存」のモードで、保存ファイル名を
半角アルファベット数字にしてください。

全角の漢字やひらがながあるとnamzuで画像のリンクが
途切れる場合が出来ます。

注意点はそれだけです。
また保存先は下記の通りです

m---databae---data---web---2000

つまり m:\database\data\web\2000フォルダーに
ページを保存します。

そして 先ほど解説した web.bat を実行するだけで
インデックスは追加されていきます。

web.batのショートカットをデスクトップなどに
貼り付けておくとインデックスの作成も楽々おこないます。

このようにしておけば
好きなページにめぐり合えたら、IE5でファイルを保存
そしてweb.batを実行する、この一連の操作で
データベースは着実に構築されていくのです。

検索は search-s からでも、パーソナルサーバーを
立ち上げた方は、webブラウザから検索してください。

ここまで書くとおわかりになると思いますが
インターネットのアクセスにルーターを使用している方は
ルータやスイッチングハブを通じてつながっている
全てのパソコン(MacでもUNIXでも)から、このデータベースを
検索できることに気がつかれるでしょう。

実際namazuは30人程度の同時アクセスに対応可能です。
この同時アクセス数は実はとんでもない数値です。

もしもオラクルやマイクロソフトのデータベースソフトで
このような同時アクセス数を実現させたい場合には
数百万円のソフトを使用しなくてはなりません。

namazuは元々UNIX(Linux)で動作するように設計されています。
つまりLinuxのオープンソースの思想が反映されているわけです。

namazuはindexを作成している最中でも
プログラムを止めることなく、検索を実行できるのです。

完璧にマルチタスクに対応できています。

このようなソフトを民間会社で販売するとなると
先ほど述べたように、とんでもない価格になります。

実際昨年まで国土地理院の検索システムもnamazuで構築されていました。
(最近新しいデータベースを導入したとの噂も出ています)

これから先に解説していきますが
ANHTTPサーバーも、よくできたソフトです。
Windowsユーザーが、知識もなくても
簡単にwebサーバーを使用できます。

補足です

>設定する個所は
>INDEX           m:\database\index
>REPLACE         /m|/database/   http://hibi/
>
>ここだけです。
>
>最初の行はindexのある場所を指定しています
>次の行は m:\database を http://hibi に設定しています

INDEX           m:\database\index
   ~~~~~~~~~~~
REPLACE         /m|/database/   http://hibi/
    ~~~~~~~~             ~~~

この空白はspaceではなくてtabです。
(キーボードの一番左にあるtabキーを使います)
必ずtabで区切ってください。
わからない方は、↓の行の部分

m:\database\index
/m|/database/
http://hibi/

ここだけを書き換えてください

全文検索を作ろう No.9
いままで述べてきたことで、全文検索システムは
σ(^^;)のように、ずぼらな性格の人々にいかに
便利な存在であるかを、ご理解いただけたのではないかと思います。
一度システムを設定したら、後は...

データを作成保存する..そしてbatファイルを実行する
これだけで、どんどんデータベースが進化していくのですから

しかし..ずぼらな人々は、batファイルをダブルクリックすることすら
面倒と思うようになるものです。

そこで今回のテーマは

・毎日自動的にデータベース化をしたい

つまりbatファイルの自動実行です。

方法としては以下の2つが候補としてあります。

・WindowsOSに備わっている機能を利用する Win98,NT,2000ユーザー
・フリーのソフトを使用する Win95ユーザー

私的には、Pentium133Mhz以下のマシンを使用されている方々
以外はWin95のメリットはまったく感じていません。
MMX以上のCPUをご使用でしたらWin95ではなくてWin98あるいは
Win2000の方がはるかにメリットがあります。
といいますのもUSBに対応したOSであることが挙げられます。

かつ仕事でPCを使う方は、迷うことなくWindows2000を薦めます。
信頼度が、Windows98と比較して桁違いです。
(しかもマルチモニタにしたら最強です)

さて..前フリはこれくらいでWin98ユーザーについて、今回は解説します

WEBブラウザのIE4以降には、最初からタスクスケジューラー機能がついています
ので、これを利用します。

まずマイコンピュータの中にある[タスク]をクリックします。

プリンタの設定やダイヤルアップと同じように、タスクの追加を選択して
ウイザードに従って目的のbatファイルを選択してスケジュールの
設定をおこいなます。

手続きは、これだけです。
つまりタスクスケジューラーは、その名のごとく
設定した日時に登録したプログラムを実行してくれる
タイマースイッチなのです。

なおbatファイルはms-dosで動作しますので
DOSウインドウを利用することになります。
そこでbatで開くDOSウインドウのプロパティで、実行終了時にWindowを閉じるに
チェックを入れて「適応」で更新させておくと、bat終了時にウインドウは
自動的に閉じられますので、画面にDOSウインドウが開きっぱなしに
なることもなく、見た目もきれいです。

Win95ユーザーの方は、フリーソフトの「覚え書き」などを
利用するとよいでしょう。ベクターで入手可能です。
(ちょっと冷たいいい方になっていますでしょうか..^^;)
(でも「覚え書き」...これ便利なツールなんですよ..実は)

補足です

>、タスクの追加を選択して
>ウイザードに従って目的のbatファイルを選択してスケジュールの
>設定をおこいなます。

namazuでのindex作成ですが、同時に複数のindexを作成できます。
つまり複数のbatファイルを同時に実行できます。

ただし出来るからといって、あまり沢山実行してはダメですよ
それだけCPUパワーを取られてしまいますから

それから、いままで述べてきたことで
付け加えることがあります。

パーソナルサーバーを組み込むと、サーバー専用のマシンに
なってしまうのではないだろうか..と..思われるかもしれませんが
まったく心配はいりません。namazuの検索がご家庭や会社では
ずっと検索しつづけることは、まずないです。

サーバーはリクエストがあったときにのみ、動作します。
またセルロン/400MhzやP2/233以上のマシンでしたら
例え外部からnamazuの検索を実行されても負荷は殆ど無く
通常の作業を継続してできます。

つまりワープロや表計算、カシミールを動作させながら
パーソナルサーバーならびにnamazuを使用できるということです。

1点注意することは、namazuのindexを作成するときに
そのデータ量が1000件以上という大量なデータの場合は
かなりCPUパワーを消費しますので、このような場合は
あなたのPCをindex作成作業に専念させてあげてください。

全文検索を作ろう No.10
今回のテーマは

・『Map Brothers』、カシミールで使用しているLMLをnamazuで扱えるようにしたい。

LMLは、超便利な機能ですが、おそらくカシミール、MBユーザーで
これを使いこなしていらっしゃる方は、少ないでしょう。

HTMLドキュメントにLMLをリンクさせておくと、ユーザーが
そのLMLをクリックすると、自動的にカシミール/MBを起動させて
目的の場所を地図の中心に表示してくれます。

ユーザーはいちいち地図ブラウザを起動して目的の場所を
探し出すという必要はまったくありません。

http://www.yamatabi.net/main/news/news.shtml

こちらをアクセスしてLMLボタンをクリックしてみてください。
あなたのマシンに『Map Brothers』、あるいはカシミールが
インストールされていて、かつ日本全国地図データが一度
読み込まれ終了していたならば、自動的にその場所を地図をオープンして
表示してくれたはずです。
(「山旅倶楽部」が最適でしょう)

つまり位置情報の資料をデータベース化するにあたって
namazuは、とても便利だといいたいのです。

しかしnamazuは標準では、html,txtなど限られたファイルの拡張子しか
使用できないように設定されています。これはセキュリティーを
考えれば当然です。

そこでLMLも扱えるようにnamazuの設定を修正してみましょう。

c:\usr\local\namazu\bin の中にある mknmz ファイルがnamazuの動作設定を
決めています。エディターで、このmknmzファイルを開きます。
なおmknmzファイルは[EUC]文字コードで書かれていますので
修正保存する場合は、必ず[EUC]文字コードで保存してください。
[shift-jis]で保存すると、動作しなくなりますのでご注意ください。

mknmzファイルはテキストですのでエディターで中を編集できます。
204行めあたりに以下の部分があります

-------------------mknmz204行あたりの内容----------------------------

## Target files' regex
my $TARGET_FILE = '.*\.html?|.*\.txt|.*\.wpt|.*\.lml|.*_default';

## Non-Target files' regex
my $DENY_FILE = 
'.*\.gif|.*\.(jpg|jpeg)|.*\.tar\.gz|core|.*\.bak|.*~|\..*|\x23.*|NMZ\..*
';

-----------------------ここまで-------------------------------------


index化を許可するテキストファイルの設定は下記の部分です

## Target files' regex
my $TARGET_FILE = '.*\.html?|.*\.txt|.*\.wpt|.*\.lml|.*_default';

気がつかれたと思いますが、.*\.wpt|.*\.lml| をすでに追加しています。
つまりgarminのwptウエイポイントとMB/カシミールのLMLを追加したのです。
これで拡張子が .wpt .lml のテキストファイルをindex化できるようになりま
す。

テキストデータ形式以外のバイナリーデータをここで設定してはダメですよ
例えばカシミールのgdbなど...

.*\.ndb|

これを付け加えると..そうです..ndb地名ファイルも加えられますが
実用度はあまりないので、私はあえて採用していません。

## Non-Target files' regex
my $DENY_FILE = 
'.*\.gif|.*\.(jpg|jpeg)|.*\.tar\.gz|core|.*\.bak|.*~|\..*|\x23.*|NMZ\..*
';

↑
こちらは、お分かりのようにindex化を拒否する拡張子の設定ですね。

全文検索を作ろう No.11
さて..namazuの活用方もラスト近くになってきました

・Niftyのフォーラム発言をデータベース化したい
・メールの受信、送信データをデータベース化したい

この2つのテーマに共通していることは
インターネットのメーリングシステムを理解することに繋がります。

Niftyのパソコン通信は、もういまの時代では化石となった
通信コミュニティーですが、いまだに便利なシステムです。

しかし発言の管理という見地からすると、ベクターやNiftyのライブラリに
登録されている各種ツールは全てことごとく時代遅れのものです。

つまり発言を1本のファイルとして管理する方法を採用しているからです。
このようなスタイルでは、各フォーラムならびに会議室を串刺しした
検索は不可能ですし、また検索スピードも、遅いです。

ここはやはりnamazuの全文検索を使用したいところです。

メールと違ってフォーラムの会議室の発言はツリー構造で管理されている
ところが便利ですよね。namazuでの検索活用でも、このツリー構造も一緒に
管理できなくては、せっかくの発言の前後関係がわかりづらいものに
なってしまいます。

そこで..インターネットの分野を注目してみますと
メーリングリストやニューズリーダーがNiftyのフォーラムに
近いではありませんか。

それではフォーラムでの発言をメーリングリストの形式に
変換できれば、うまくいきそうです。

その前にメーリングリスト自体ではnamazuで使用するデータ形式ではない
ですし、またツリー構造=スレッドも実現させなくてはなりません。

ということで...話題の展開を整理しますと

・メーリングリスト(メールデータも同一の意味)をnamazuで
扱えるHTMLデータ形式に変換すると同時にスレッドも実現させる。

・Niftyの会議室発言をメーリングリストデータに変換する

この2つの方法に区別できます。

まずは

・メーリングリスト(メールデータも同一の意味)をnamazuで
扱えるHTMLデータ形式に変換すると同時にスレッドも実現させる。

こちらの方法を考察していきます。

メーリングリストを管理するツールとして世界中で一番使用されている
ソフトが  MHonARC です。MHonARCはWindows,Unix(Linux)上の
Perlのプログラムとして動作します。

MHonARCは下記から入手できます。
http://www.oac.uci.edu/indiv/ehood/mhonarc.html

MHonARCは海外のプログラムなので、日本語の解説は付属していません。
一般ユーザーの方にとっつきにくいのはインストールの方法でしょう。

namazu,MHonARCの解説本としてソフトバンクから
「日本語全文検索システムの構築と応用」 馬場肇 著2800円が
あります。この本の内容は実に充実しています。お薦めです。

全文検索を作ろう No.12
MHonARCを使用するとNiftyのInterWayにかなり似た
会議室発言をnamazuから利用できることをご理解して
いただけたかと思います。


MHonARCは下記から入手できます。
http://www.oac.uci.edu/indiv/ehood/mhonarc.html

確かtar.zip圧縮がかかっていたと思いますので
tar.zipに対応した解凍ソフトで必ずサブディレクトリ付で解凍してください。

MHonARCは海外のプログラムなので、日本語の解説は付属していません。
一般ユーザーの方にとっつきにくいのはインストールの方法でしょう。

前回はここまで、述べましたので、今回は具体的なインストールを説明します。
少しハードルは高いかもです..といいますのもメーリングリストのデータ形式と
その作成方法をまず理解していなくてはならないからです。

MHonARCの変換対象メールデータはメーリングリストUNIX標準の .mbxファイル
を対象にしています。Beckyなど、メーリングリストに特化したメーラーの
大半はUNIX標準のメールデータをエクスポートできますので、これらを利用しま
す。


***********************
MHonARC に関して、私の行った方法を以下解説します。


■Windows で使用する場合のインストール手順について述べます
解凍以外のインストールや設定などは、全てms-dosコマンドモードで
おこないます。この点にご注意ください。

まずダウンロードしたmhonarc2.2.0ファイルを
 mhonarc220.tgz にリネームして解凍します。
解凍は必ずサブディレクトリ付きでおこないます。

mhonarc2.0.2 フォルダーが出来上がるので、その中に移動します。

次にmhonarcをインストールするディレクトリを事前に作成しておきます。

c:\usr\mhonarc が良いでしょう。

c:\usr\mhonarc\bin
              \lib
              \doc

以上を事前に作成しておきます。<-ここが重要ポイント!!

次にms-dosモードからmhonarc2.2.0のカレントに
ドライブパスを移動して下記を実行します。

perl install.me 

perlの場所は usr\perl\bin を指定します。
その後は、先ほど作成したmhonarcの各パスを指定していきます。
以上でmhonarcのインストールは完成です。

mhonarc を実行するには perl のパスが通っていることと
mhonarc のパスが通っていることがポイントです。

autoexec.bat に以下のパスを追加記入しておきます
(autoexec.batの内容を修正変更場合は、必ずPCを再起動させてくださいね)
(namazuやkakasi,perlのインストール時も同様です)

REM ###### mhonarc Environment variable setting
PATH C:\usr\mhonarc\bin;%PATH%
SET path=C:\usr\mhonarc\lib;%PATH%

さて、ここまででMHonARCのインストール作業は完了しましたので
次はいよいよMHonARCを使用してメールデータをHTML化します。

データ作成の方法は、付きのような手順で行います。


C:\usr\mhonarc\bin にある mhonarc ファイルを
変換したいmbxの存在するフォルダーにコピーしておき ms-dosモードから

perl mhonarc -modtime 変換対象.mbx 
           ~~~~~~~~~~~~↑
                      mbxのファイル名を記述します ex: fyamap16.mbx

を実行します。
以上でmbxの存在するカレントにHTMLファイルが作成されますので
マウスで、適当なHTMLファイルをクリックしてwebブラウザで
見てください。前回解説したようにスレッド表示も見ることができます。

なお、ここまでは namazu は一切かかわっていません。
純粋にMHonARCの機能だけで動作させています。

[補足説明です]
-modtimeは発言の行われた日付でファイルが作成されるパラメータです。
これでいつの日の発言かが失われずにすみます。

perl mhonarc -modtime -outdirectory 変換対象.mbx 作成するドライブパス

上記でも変換させることができます。
詳細は MHonARCのドキュメントでパラメータ機能を見てください。

perl mhonarc -help >help.txt を実行するとリダイレクトでhelp.txtが
カレントに作成されますので、ご覧ください。