香 川 大 学 経 済 論 叢 第73巻 第3号 2000年12月 211-233
香川大学ウェブページ全文検索システム
中 村 邦 彦
I
は じ め に
香川大学情報処理センターのwww
サーバーが大学公式サーバーになった のが,1
9
9
6
年4
月であった。それから約1
年半を経過した1
9
9
8
年秋,学内のwww
サーバーの数も増加しているようなので,そろそろ学内ホームページの 検索サービスを始めたいと考えた。また,情報処理センターとしては学内にど れだけのサーバーがあり,どの程度のホームページがあるのか,ある程度把握 (2) しておく必要も感じていた。少々試行錯誤したが, Namazuを中心にした検索シ ステムができたので,1
9
9
8
年1
2
月末にこれを公開した。一応公開はしたもの の,インデックスの更新は気が向いたときに行うという程度で,十分にメンテ ナンスをしないでいた。 その後,2
0
0
0
年の春頃だったと思うが,いわゆるなまず本の著者,馬場肇氏 のホームページを見ていたところ,香川大学が Namazuの利用機関のひとつと して紹介されていることに気がついた。こうなったからには少しはまじめにメ ンテナンスをしないといけないと感じ, Namazuソフトウェアの更新を含め, 少々システムに手を入れ,併せてこのシステムの現状を文書として残しておく ことにした。 Namazuは現在,中小規模の日本語全文検索システムとしてはもっとも人気 (1) 筆者は香川大学公式www
サーバーの管理者であり,情報処理センター長でもある。 (2 ) 高木哲氏が開発した日本語全文検索ソフトウェアの名前である。 (3) http://www..kusastro.kyoto-u..ac.j p/~baba/wais/other-syst巴mhtml非free jp212 香川大学経済論叢 662 のあるソフトウェアであり,
1
9
9
8
年秋頃にはすでに高い評価を得ていたので, 検索エンジンとして Namazuを採用することに迷いはなかったが, Namazu 自身にはウェブページを収集する機能がない。ウェブページを収集するソフト ウェアをロボットまたはプリフェッチャーと呼ぶが,こちらの方は定番と言え るようなよいソフトウェアが公開されていないので,いくつか試した上で必要 な修正を加えて利用している。まずこれを第2節で紹介する。第3節では簡単 に Namazuの導入と設定を紹介する。第 4節ではこのシステムをヒューレツト ノfッカード社のUNIXマシンへ移植した例を紹介する。最後に第5節でこれま での利用状況を紹介し,その特徴と問題点などを検討する。I
I
ウ ェ プ ペ ー ジ の 収 集 2. 1 httpdown (4) 学内のウェブページを収集するために最初に試したのは httpdownであっ (5) た。これは Namazuの作者高林哲氏が, Namazuの説明書の中で紹介していた ことによる。プログラムは C++で記述しである。 Linuxへのインストールには 問題はなかったが,実際に使うには大きな問題があった。 まず自分のサイトで収集テストをした後,実際に学内のページを収集してみた ところ,多数のサーバーで長時間の接続待ちになってしまった。そのあげくに 接続できないというエラーになる。このようになるサーバーは決まって次のよ うな状況であった。 • pingに対する応答がない。 • httpの標準ポートである 80番ポートに接続を試みると,決まって約13分間 待たされたあげくにエラーになる。 • tracerouteで調べると,途中のルーターから先の応答がなくなるものの,な (4 ) くまがいまさあき氏 (kumagai@emuramech.tohoku.acjp)作成のウェブページを収 集するソフトウェア。 http:j jwwwmechatronics.mech.tohoku, ac.j pj~kumagaijbinsjkumajhttpdown 30" html
(5 ) 現在の説明書ではなく, namazu-1.30時代のもの。今でも次のURLで見ることができ る。 http: j jwwwinfomartorj.pjn-dbjworkjnamazu-13,0 8jdocjiajmanual.html
663 香川大学ウェプページ全文検索システム かなか終了しない。つまりエラーにはならない状態である。 $ /usr/sbin/traceroute 133.92110.128 traceroute to 13392110.128(13392110128), 30 hops max, 38 byte packets 133 92..13.1 (13392131) 1.076 ms 0..798 ms 0.864 ms 2 133..92.6.8 (1339268) 5.075 ms 3964 ms 3.844 ms 3 本** 4
*
*
*
5*
*
*
6*
*
*
以下続く 図1 接続に待たされるサーバーへのtracerout巴 -213 でたらめなI
P
アドレスではこうはならないので,この状況になるのは,かつ て存在したことのあるサーバーで,収集時点では存在していないか,稼動して いないサーバーであると推測される。httpdownは,収集すべきウェブページを ファイノレ単位に管理しており,サーバーごとに管理しているのではない。した がって未収集のページがあれば,それが現在接続できないサーバー上のページ かどうかをチェックすることなく取得を試みるので,これらのサーバー上のす べてのページについて1
3
分間待たされることになる。このようなページが学内 にどの程度あるのかわからないので,そのままでは収集がいつ終わるのか予想 が困難であった。そこで,適当に待ったところでサーバーに接続できなければ 強制的に打ち切るようにプログラムを修正することにした。待たされるのはソ ケットライブラリ connectの呼び出し部分である。プログラムはブロックモー ドでかかれているため, connect関数から制御が戻ってくるまで待たされるこ とになる。これを非ブロックモードに書き換えればスマートなのだが,そうな ると他のソケット関数呼び出しも非ブロックモードに書き換えなければならな くなって大変なので,ここは簡単にSIGALRM割り込みと sigsetjmpを使うこ とにした。つまり, connectを呼び出す前にタイマーを設定しておき,設定時刻 前に戻ってくればタイマーをリセットして処理を続ける。戻って来なければタ イマーによる割り込みをかけ,タイマーをリセットするとともに,connectを呼 び出す前の状態に復帰し, connectできなかったことにして処理を続けるので-214ー 香川大学経済論叢 664 ある。 非inc1ude<setjmp.h> 非inc1ude<signaLh> static sigjmp buf env; static void contimeout (int sig)
1
*
割り込み処理関数本/ siglongjmp (env, -1); if (sigsetjmp (env,SIGALRM)
= =0) {I
本環境保存または復元*
1
signal(SIGALRM
, contimeout);1
*
SIGALRM
のわりこみ処理関係を登録*
1
alarm (10);1
*
タイマーの設定*
1
else {1
*
ここへ来たら問題の処理が時間切れになったということ*
1
alarm (0);1
*
タイマーをリセット*
1
errno=
ETIMEDOUT;
1
*
エラーが起きたことにして呼び出し元へ復帰*
1
return ; 問題の処理をここで呼び出す alarm(O);1
*
時間内に終了したらタイマーをリセットして処理を続ける本/ 図2 タイマーにより強制終了させるプログラムの骨組み こうして何とか学内のウェブページを収集できるようにはなったが,他にも 問題があった。 httpdownは見つかったリンク先から順にダウンロードするよ うになっているため,アクセスが特定のサーバーに対して集中的に行われる傾 向が強い。サーバーの中には能力の低いものもあるようなので集中的なアクセ スは避けたい。そのためには1ファイルを取得するたびに休憩するという手が あるが,そうすると収集に時間がかかる。またhttpdownは,毎回すべてのウェ ブページをdownloadするようになっている。ファイルの日付を見て,それが新 しくなっていたときだけdownloadするようにしたい。そのためにWVIパ
Nの プロトコルである HTTPにはIf-Modified-Sinceというヘッダーが用意され ているのである。そこで次の候補に当たってみることにした。 1 1 1 1 1 1 寸 1 1 1665 香川大学ウェブページ全文検索システム
215-2..2 htdig
(6)
実はLinuxのDebianディストリビューションにはht:/ /digという,ウェブ ページの収集から,インデックスの作成,ウェブPからの検索までをやってくれ るフリーソフトウェアが存在する。ちょっと試してみたところ,なかなかよく できている。残念ながら日本語には対応していないのでそのままでは使えない が,ウェブページを収集するだけなら日本語も英語もないのでその部分を利用 することを考えた。 ht: / /digのページ収集部分のプログラム名はhtdigなの で,以下htdigという場合はその意味である。 htdigには次のような機能があった。 -取得するページのURLはサーバーごとに管理されており,接続できない サーノてーは以後そのウェブページを取得しに行かない。 ・一つのサーバーにアクセスが集中しないようにスケジュールしている0 .取得後に更新されていないページは再取得しない。 ・ロボット排除規格に準拠している。 長い接続待ちになるサーバーの問題はもちろんそのままだが, htdigは一つ のサ}パーについて1回待つだけなので,待てないほどの時間ではない。 htdig はウェブページを収集し,インデックスを作成して次のステージにそれを渡し ている。そのため収集したページをそのままの形で保存することはせず,わず かに先頭部分をテキストとして残すだけである。まずはこれを修正し,収集し たページをそのままディスクに保存するようにした。ht:/ /dig全体はC++で 記述されており,複数のプログラムとそれを構築するためのライブラリーから 構成されている。実際に欲しいのはhtdigだけであるが,面倒なので最初に全体 を構築した後,必要な修正を行い,htdigだけを再構築することにした。htdigは クラス Documentで,収集したウェブページを管理している。一方ウェブペー ジを実際に取得するのはクラス Retrieveである。取得したページをそのまま ( 6 ) http://wwwhtdigorg/
216 香川大学経済論叢 666 ディスクに保存するメンバー関数をRawWriteOとして,クラスDocumentに 追加した。そして,あるページを取得した直後にRawWrite
0
を呼び出すよう にクラス Retrieveを修正した。付随して,保存先のPATH
を設定ファイルで 指定できるようにも修正した。 最初に使ったNamazuL3では,検索結果にはファイノレの更新時刻は表示さ れなかったので,考慮しなかったが,Namazu2..0ではそれが表示されるように なったので,後に収集したファイルのタイムスタンプをオリジナルファイルの タイムスタンプと同じに設定するようにした。また,htdigの最初に使ったパー ジョンでは,デフォJレトではすべてのファイルを収集し, htdig,.confで収集し ないファイルの拡張子を指定するようになっていたが,こちらは収集するファ イノレはテキストファイルに限定しようとしていたので不便であった。そこで収 集するファイルの拡張子を指定するように修正した。つまり, htdigの設定ファ イノレhtdig,confの中で bad_extensionsとして収集しないファイノレの拡張子 を列挙するようになっていたものを修正して,収集するファイノレをvalid_ extensionsとして指定するようにした。ところが, htdig-3L5では, valid_ extendionsの指定が組み込まれたので,現在はこの修正は不要になった。 長い時間接続待ちになるサーバーの問題は1
サーバーにつき一回で済むよ うにはなったものの,現在では毎日収集することにしたのでhttpdownで行っ たのと同様の強制打ち切りの修正を追加した。待ち時聞は数秒でよいと思、って いたが,実際には反応の遅いサーバーがあるので現在は1
0
秒間待つようにして ある。 2.3 wget いくつか試した結果,現在はht:/ /digのウェブページ収集プログラムhtdig (7) を修正して使うことにしたのだが, httpdownとhtdig以外ではwgetもやや詳 (7) Hrvoje Niksic, Gordon Matzigkeitらが開発したウェブページ収集プログラム。 Debianディストリビューションのパッケージを利用した。最新版は次のところから入手 できる。 ftp://prep ai.mi.tedu/pub/gnu/wget/667 香川大学ウェブページ全文検索システム 217-しく調査したので簡単に紹介しておく。
wget
のよい点、としては次の点があげられる。 ・ページの最終更新日を取得しており,それ以後更新されていないものは再収 集しない。• r
o
b
o
t
s
.
t
x
t
に対応している。 一方,問題点としては次の点がある。 ・収集する範囲がうまく設定できない。wget
は,www
サーバーはすべてDNS
に登録されているものと仮定して いるらしく,収集範囲をドメイン名で指定する。したがってホスト名を比較す るときはFQDN
の右端から比較する。一方I
P
アドレスで収集範囲を指定する と,比較はアドレスの左端から行うことになるので,そのままでは収集する範 囲を指定することはできなかった。 ・ページ収集の順序は見つかったページの順に取得していくため,アクセスが 特定のサーバーに集中しやすい。 ・接続待ちで長く待たされる点は他のプログラムと同じである。 2.4 その他のロボットなど ここで紹介したもの以外にもロボットやプリフェッチャーと呼ばれるソフト ウェアがある。いくつかは試したが本格的なロボットは機能が多すぎて,却っ て収集したページをそのまま保存してくれるものは少ないようである。これか ら使うなら,w
w
g
e
t
a
l
l
かWWWcp
あたりがよいのではないかと考えている。 両者ともにP
e
r
l
で書かれているので,文字列の取り扱いが容易であり,修正も しやすいであろう。簡単にその特徴を紹介しておく。(
1
)
w
w
g
e
t
a
l
l
・ 吉 岡 恒 夫(
t
s
u
n
e
o
@
r
r
i
i
j
4
u
.
o
r
j
p
Q
W
F
0
0
1
3
3
@
n
i
f
t
y
.
n
e
j
p
)
作のプリフェッ チャー。 -ノンプロッキングモードで動作する。-218- 香川大学経済論叢 668
.
I
f
-Modified-Sinceヘッダーにより,更新されたページのみ取得することが 可能。 • URL : http:j jopenlahringgrjpjtsuneojsoftjwwgetalljwwgetalLhtml (2)WWW cp ・油谷龍志郎氏(ABRAYER Rewsirow)の作 .幅優先探索をする。・
I
f
-
Modified-Sinceヘッダーにより,更新されたページのみ取得することが可 能。 • URL: http:jjwww.fUij4u.orjpj~rewsirowjWWWcpjWWWcp htmlI
I
I
Namazuの導入と設定
Namazuをi386系 Linuxにインストールするのは簡単であるし,書籍や ウェブページでも紹介されているので,ここでは本システムに固有のことを中 心に簡単に説明する。Debianの場合はすでにディストリビューションの中に必 要なパッケージが含まれている。更にdselectというツールを使うと,同時に必 要なパッケージを教えてくれるので,一括してインストールできる。ただし, 最新安定版ディストリビューションである potatoに含まれているのは nam-(8) azu-L3.0であるので, 2..0以降のパージョンを使いたいときは配布元から取得 するする必要がある。 RedHatの場合もパッケージが用意されているが,デイ (9) ストリビューションには含まれていないので,取り寄せなければならない。本 システムでは,最初はパージョン1..3..0を使ったが, 2000年春から 2,,0..4を 使っている。Debianでapt-getを使って最新パージョンをインストーJレする場 合は,jetcjaptjsources..listの最後に ( 8) http:j jwwwnamazu..orgjdebianjdistsjpotatojmainjbinary-i386jま た はftp:jjftp namazu.orgjnamazujdebianjdistsjpotatojmainjbinary-i386j ( 9 ) http://www namazu..orgjredhatji386j669 香川大学ウェブページ全文検索システム -219ー deb ftp:jjftp..namazu..orgjnamazujdebianjpotato main を追加しておくことにより,インターネット経由で直接インストールすること も可能である。本システムの構成では,次のパッケージが必要になる。 namazu 2_204-Li386deb namazu2-index -tools_204-LalLdeb libnkf -per LL92-Ldeb kakasi-dic231-2..deb kakasi 2..3.1-2..deb lib
f
i
1
e-mmagic-perl_L06-LalLdeb libkakasi2 2..3..1-2deb libtext守kakasi-per LL 04-Li386deb perl-5.0はすでに導入されているものとしているが,その他pdfファイルも 検索対象にしたい場合はpdf形式のファイルをテキストに変換するフィノレター pdftotextが必要になる。 Debianではそれが含まれるパッケージxpdLO引90 -4..debとそのパッケージが必要とするライブラリーパッケージtllibLLO-2.. debが必要になる。 以上でNamazu自身の導入は一応できたことになる。設定ファイlレである mknmzrcを修正するまでもなく,インデックスを作成する jvarjlibjnamazuj indexに移って mknmz ドキュメントのおいてある PATH のようなコマンドからmknmzを実行すればインデックスが作成される。なお, 日本語のドキュメントの場合は,環境変数 LANG に ja~P..eucJP 等の日本語 ロケールを設定しておく必要がある。220- 香川大学経済論叢 動作確認は namazuキーワード とコマンドを入力して,検索結果がうまく表示されればよい0 .パフォーマンスの比較 670
Debianノfッケージのデフォルトの設定では modulej 1kfと kakasiが使わ
れる。
Namazuは日本語解析に kakasiまたは Chasenを使うことができる。文献 には kakasiの方が速いと書いてあるがどの程度違うのか,また,処理の高速化 のために独立した kakasiではなくモジュール版の kakasiが使われている。こ (10) れらの組み合わせを比較してみた。その結果を図に示す。 速い 遅い chasen, module_nkf 75 28 kakasi, module_nkf 28 98 module_kakasi, nkf隣 綴 霊 祭 器 滋kilitil25..84 module_kakasi, module_nkf O 10 20 30 40 50
ω
70 80 図 mknmzにおけるkakasichasenの選択とモジュール使用の効果 kakasiとchasenでは随分処理速度に差がある。 chasenは形態素解析を行っ ているので, kakasiに比べて生成されるキーワード数が 1割程度少なく,無意 味なキーワードが減少しているようである。使う側から見れば無意味なキー (10) この測定に使たのはPentiumPro 200MHz x 2, RAM 64MB, 9GB Ultra2SCSCハー ドディスクをもっマシンである。671 香川大学ウェブページ全文検索システム -221ー ワードがあろうがなかろうが,検索に使うキーワードがあればよいわけだから, 結局この程度の規模のシステムでは,chasenを使うメリットはそう大きくはな いであろう。それよりも kakasiであればすべてのインデックスを再構築する のに約3時間で済むが, chasenを使うとそれが9時間になる。するとインデッ クスの作成を夜中に初めた場合,朝になっても終わらないことになってしまう ので困る。 ウェブから検索できるようにするには
www
サーバーを起動しておく必要 がある。Debianの場合は namazu.cgiは/usr/lib/cgi-bin/にインストールされ るので,それが利用可能になるように設定する。 検索ページは最初のページだけはお知らせなども含めて別に作ったが,あと はほとんどNamazuに用意されたものを使用した。以下,実際に使ってみて気 の付いたことを2
つ述べる。 • Metaタグと Authorフィールド N amazu 2..0..4では通常のウェブページの検索結果は次のようになる。 1 N akamura's Office(スコア:20) 著者:不明 日イす:Sun, 30 Jul 2000 17:50:02 中村研究室香川大学ホームページ全文検索サービス 香川大学のインターネット利用 状況 学外に接続している回線の混み具合が5分間隔、で表示されます。授業のお知らせ (i mode対応)情報処理センターPCの 利 用 状 況 各P http://wwwec.kagawa-u..ac..jp/~nakamura/(2,087 bytes) 図4a Namazuによる検索結果の表示 図4a
のように2..0では著者フィールドが表示されるようになったが,学内 のほとんどのページは「不明」と表示されてしまう。せっかくだからどのよう に書けば著者フィールドが表示されるようになるのかをHTMLファイルの場 合について調べた。 ひとつはADDRESSタグ炉内に書かれた email アドレスである。-222ー 香川大学経済論叢 くADDRESS>nakamura@e
c
.
.kagawa-u..acjpく/ADDRESS> このように書いてある場合は次のように表示される。 1. Nakamura's office(スコア:20) 著者:nakamura@eckagawa-uacjp 日付:Sun, 30 Jul 2000 17:50:02 672 中村研究室 香川大学ホームページ全文検索サービス 香川大学のインターネット利用 状況 学外に接続している回線の混み具合が5分間隔で表示されます。授業のお知らせ(i mode対応)情報処理センターPCの 利 用 状 況 各P http://www.ec.kagawa-u.ac-jp/~nakamura/(2.087 bytes) 図4b Namazuによる検索結果の表示 この場合,次のうちのどの形式を使っても,表示は同じである。くADDRESS>中村邦彦nakamura@e
c
.
.
kagawa-uacjp</ ADDRESS>くADDRESS>中村邦彦 (nakamura@e
c
.
.
kagawa-u.ac
.
jp)</ADDRESS>もう一つはMETAタグ?を使った場合である。 くHEAD> くMETAName =“author" Content =“中村邦彦"> くTITLE>Nakamura's 0伍ceく/TITLE> く/HEAD> この場合は次のように,表示される。 1 Nakamura's0伍ce(スコア:20) 著者:中村邦彦 日fす:Sun, 30 Jul 2000 17:50:02 中村研究室香川大学ホームページ全文検索サービス 香川大学のインターネット利用 状況 学外に接続している回線の混み具合が5分間隔で表示されます。授業のお知らせ (i -mode対応)情報処理センターPCの 利 用 状 況 各P http:/ /wwwec.kagawa-u acjp/~nakamura/(2,087 bytes) 図4c Namazuによる検索結果の表示 METEタグで著者名を表示させるには, mknmzでインデックスを作成する ときにMETAタグオプションを指定し,更に設定ファイ 1レmknmzrcで authorフィー1レドを利用するように設定しなければならない。ところが,
673 香川大学ウェブページ全文検索システム 223 ADDRESSタグと METAタグの両方が指定されていると次のように表示さ れてしまう。 N akamura's0伍ce(スコア:20) 著者:nakamura@ec kagawa-u ac jp中村邦彦 日イ寸:Sun, 30 Jul 2000 17:50:02 中村研究室 香川大学ホームページ全文検索サービス 香川大学のインターネット利用 状況 学外に接続している回線の混み具合が5分間隔で表示されます。授業のお知らせ(i -mode対応)情報処理センターPCの 利 用 状 況 各P http:/ /www eckagawa-u.acjp/~nakamura/(2 ,087 bytes) 図4d Namazuによる検索結果の表示 そこでこのシステムでは,その処理をしているフィルターhtml..plを修正し て, META要素による authorが設定されている場合はそれだけを使うように 修正している。 -ファイル形式の判定の問題 Namazuはインデックスを作成すると き,あるファイJレの内容がどのような形式 の内容であるかをファイルの拡張子だけで 判定しているのではなく,実際の内容を見 て判断しており,その判断に File-MMagic というプログラムを使っている。ところが これが正しい HTMLファイノレを間違って Plain Textファイノレと判断してしまうこ とがあることに気が付いた。調べてみると く!DOCTYPE HTML < ! doctype html < ! DOCTYPE html <HEAD < head <TITLE < title <html <HTML 図 File-MMagicでHTML と判断されるファイJレ
File-MMagicの判断の根拠になっている magicファイル (Debianでは/usr/ share/misc/magic)には, HTMLファイルとはファイノレの先頭からオフセッ
トOで図5のうちのどれかで始まっているものとして定義されている。
実 際 に 判 断 を 間 違 わ れ た フ ァ イ ル を 見 る と 確 か に く!Doctype… … と か くHtml>になっていた。 HTMLの仕様では,タグは大文字小文字に関係がな
-224- 香川大学経済論叢 674 。1) いことになっているので,くHtml>でトもくhTml>でもかまわないはずだが, Nam-azuに間違われては困るので,タグは大文字か小文字に統ーした方がよい。
IV HP-UX
マシンへの移植
このシステムは現在,情報管理学科サーバーで運用している。これはたまた ま筆者がそのサーバーの管理をまかされているからできたことで,いささか本 来の学科サーバーの趣旨には沿わない面がある。そこでこれを情報処理ゼン ターのHP-UXマシンに移植することを試みた。この場合はソースファイルか らコンパイルしなければならない。まず,次のソースファイルを集める。 File-MMagic-L06_targz Text-Kakasi -L04.targz htdig_3
.
.
L
5.
.
t
ar山gz kakasL23..1tar..gz libtext -kakasi -perLl.04.
t
ar. gz namazu2_20A.
.
t
ar.gz nkCL92targz xpdCO“90.orig.tar..gz フリーのgccよりは, HPが開発したものがよいだ、ろうという単純な理由か ら「可能ならHP-UXに付属するCコンパイラーを使う」ことにして作業を始 めたのだが, htdigはC++で記述されていたので, C++コンパイラーが必要 になった。ところが,センターのHP-UXにはC++コンパイラーがなかった。 調べてみると最初からシステム仕様書に含まれていなかった。仕様書では GNUのg++でもよいことになっていたので,業者は経費節約のためにg++ を納品したようだ。そこで業者のインストーlレしたg++でコンパイルしたが (11) HTML 401の仕様書 3..2.1Elemntsには次のように記述しである Element names are always case-insensitive675 香川大学ウェブページ全文検索システム 225-基本的なライブラリーが揃つてなくてコンパイルできない状態だ、った。そこで HP-UXのフリーソフトアーカイブから,最新のgcc-2..95.. 2-sd-11.. 00.. depot を取り寄せてインストーノレした。これはうまく働いてくれた。htdigはもちろん 先に説明した修正を適用している。 その他のプログラムはCで書かれていたので, HP-UX付属のCコンパイ ラーでコンパイルした。テストしたところでは一応問題なく動いているように 見えたので,本物のデータでインデックスの作成を行ったところ,途中でOut of memoryのエラーになった。メモリーの使い方を見てみると,まだスワップ 領域がほとんど使われていなかった。マシンの設定に問題があるのではないか と納入業者である NECに問い合わせたところ, 1プロゼスあたりの最大デー タセグメントサイズを64MBに設定しているという回答であった。そこでこれ を2倍の 128MBに拡大して実行してみたが,まだoutof memoryになった。
L
i
nuxでは同じデータで使用メモリーは68MBであったので,コンパイラーが 悪いのではないかと考え, gccで再コンパイルしてからやり直したところ今度 は正常に終了した。最大使用メモリーは約110MB程度で収まっていた。 一方,処理速度はというと,L
i
nuxマシンより 2..3倍も時聞がかかっている。 moduleJ 1kfを使っていないとはいえ,かなり遅い。通常はページ収集に1時 間,インデックス作成に3時間程度かかっているので,これを HP-UXで実行 すると,全体で8時聞かかってしまうことになる。これでは深夜に始めて夜明 けまでには終わらないことになる。処理時間だけではなく,メモリーを大量に 消費することも問題である。結局このシステムを HP-UXで運用することは断 念した。V
現状と課題
この検索システムがどのように利用されているかを見てみる。まず,このシ ステムがウェブページを収集している学内のwww
サーバー数を表に示す。 ただし,ここでカウントされているのは,香川大学のトップレベルホームペー ジから,学内のリンクが存在するサーバーだけである。したがって,学外のサー226ー 香川大学経済論議 ノてーから直接リンクされていても,学内のサーバー からのリンクがないと,ここにはあがってこない。 なお,経済学部が以前ウェブサーバーとして利用し ていたアドレスではサーバーが移転したというメッ セージだけを表示するようになっているので,これ は実質的にウェブサーバーとは言えないとして除外 している。 情報処理センターへの申請書によると,現在ブア 部局 台数 センター 3 教育 8 法 4 経 済 6 農 4 工 10 教 養 1 図 書 館 4 事 務 2 言 十 42 676 イアウオーlレの外から
TCP8
0
番ポートへのアク 表1 サービス対象になっ セスを認、めているマシンは4
9
台となっている。ただ ているwww
サー し,ざっと調べたところ,すべてが稼動しているわ ノTーの数 けではなく,実際に稼動しており,かつ検索対象から漏れているホストは数台 程度と見ている。参考のために,2
0
0
0
年5
月1
5
日に行った調査では8
0
番のTCP
ポートを聞いているホストは全部で1
9
8
であったことを紹介しておく。最 近ではルーターやハブ,プリンターなどがウェブブラウザーで接続できるよう になってきているので,かなり大きな数字になっているが,こちらで把握して いるルーターとスイッチ,そのとき学生が使っていたとみられるページャーを 合わせると半数近くになるので,リンクのない学内専用サーバーが5
0
台程度は あると推測される。インデックスが作成されているファイルの総数は約1
6
,5
0
0
ページ,ファイ/レサイズの合計は約165MB
である。 次に,過去2
0
ヵ月間の検索件数の月別グラフを示す。ただし,このデータは2
0
0
0
/
2
/
2
1
5
4
:
:
0から
3
/
51
4
:
4
:
5までの記録が欠落している。この間,ログ
の書き込みエリアがなくなっていたことに気がつかなかったためである。また, ログにはテストのためのアクセス記録も含まれている。その他,停電や工事等 でシステムが利用できなかった時聞があるが,一切補正していないのでお断り しておく。 まず,全体の検索件数が少ないと感ずるが,これまでは月に数回しかデータ を更新していなかったことも影響しているかもしれない。この2年間ともに 6227-ー 香川大学ウェブページ全文検索システム 677 これは学期末試験勉強のため,授業担当 月7月の検索件数が多くなっている。 教官名,授業科目などの検索が増加したものと見られる。 1400 1200 1000 800 600 400 200 ∞ ¥ c g N k h ¥ C O O N 由 ¥ C C C N 出 ¥ C O O N 申 ¥ C C C N 的 ¥ C C C N N¥COON -[ ¥ C O O N N J [ ¥ 田町田同 H -[ ¥ A 山 岳 町 同 c J [ ¥ 由 自 由 ﹄ [ 品¥出品由﹂[ ∞ ¥ 岳 会 出 k h ¥ 町 田 町 一 [ 由¥自由品同 の¥昂品 A 山 ﹂ [ 叩¥品目白﹂[ 的 ¥ 由 A山 由 -[ N ¥ 町 出 町 一 [ 同¥品目白﹂[
。
図 B 月間検索回数の推移 ヲ 仁ー 学内からのアクセスだけでなく,学外からのアクセスも増加しているが, の時期に学外者の検索が増加する理由は考えにくいので, その割 本学の学生が自宅からアクセスしたものであろう。 これを には後期の学期末はアクセス数が伸びていないが, 表2 学 期 末1 日当たりの 検索回数 そのまま受け取ることはできない。 1999年はサービスを公 それに年末年始は休みがある し,2
0
0
0
年2
月はログを取り損なっている。実際,2
0
0
0
年 関して聞もない時期である。 2月のアクセス数を21で割って一日あたりのアクセス数とすれば, 6, 7月より したがって,学生が試験勉強やレポート作成にウェブを活用しょ も多くなる。 うとしていることは間違いないだろう。教え 学内 46% る側もそれに応えて適切な情報を提供するこ とが望まれる。 接続元の内訳 図7 全検索数の学内学外の比率を図7に示す。 数字としては学外からの利用の方が多くなっ228 香川大学経済論叢 678 ているが,月別の利用件数からもわかるように,学外からの利用であっても本 学学生の利用が含まれているようであるから,全体としては学内者の利用の方 が多いのではないだろうか。 次によく検索されるキーワードを見てみる。これまでに検索に使われたキー ワードをすべて取り出し,そのキーワードが使われた回数を数えた。一度に複 数のキーワードで検索された場合はそれぞれ単独に使われた場合と同様に数え た。その結果,使われた全キーワードは
4
,4
8
0
,検索回数の総計(検索に使われ た総計)は1
2
,8
2
5
となった。表3
によく使われるキーワードベスト1
0
0
を示す。 表中,人名となっているのは,それが学内の人間の姓名,姓,名,メーノレアド レスと推測される場合である。個人名であるので無断で公表することを差し控 ( 12) えたものである。 次はキーワードを分類して,カテゴリー別に集計したのであるが,4
,4
8
0
個の キーワード全部を分類する元気がなかったので,ベスト1
0
0
だけについて行っ た。図8にその結果を示す。それによるとやはり学内の人名がもっとも多く, 大学情報,授業と続いているのは順当なところであろう。ここで大学情報と言っ ているのは,大学が文書あるいは掲示板で公開しているような情報とし,授業 は教官が自分の授業の内容に関して公表するようなものとした。したがって, 圏 学 内 人 名 関 大 学 情 報 │ 関 授 業 圏 サ ー ク ル │闇コンピュータ 国 時 事 問 題 口 そ の 他 29% 図 B 検索に使われるキーワードの種類 (12) 香川というキーワードをどう扱うか迷ったが,香川大学,香川県等の意味合いで使われ ることが多いだろうと半断し,公表した。6
7
9
香川大学ウェブページ全文検索システム 229-附;キーワードj
回数│順位;キーワードj
回数│順位j
キ}ワードj
回数i
順位j
キーワードi
回数 1 1 111acj
!
?
り
7:伊
丹 j~~j 竺
ケ41 叫応用統計解析\,~~J
2
:
学生:
1
2
6
1
2
7
:
プログラム :3
6
1
5
3
:
大学 :2
4
1
7
1
:
非常勤英語講師 :2
0
Iu
大学医,i,~~~l??L~奏楽目
:
3
6
1
竺
(
人
予
",l,~~J~~,i 全予 '''''J~?J
4
:
人名:
1
0
3
1
3
0
:
人名 :3
5
1
5
5
:
人名 :2
3
1
8
1
:
マルチメディアリT7;;- :1
9
1 5:人名 ; 似州山│同3況山
同16
か:サ一クル :9
叩3
1
凶3
2
乞:
2
初0
0
∞
o
:
3
2
引1
5
臼5
:
経済 :2
3
引1
8
幻1
:
人名 :川1
9
l
7
川
:
ma
抗Cω
ω
叫山│同叫
3
人
五
;弘弘州“
}ゐ5
副1
5
臼5
:
白
函
=
紹
介
;己刻
2お引
3引I~i:i 竺時報処一宇
:
1
竺
R
引
8
か:ソブトテニス8
邸3
1
凶3
3
かl香川大学 :2
9
引1
5
臼5
:
↑情育報システム:
2
幻3
1
同8
1
:法学 :司1
9
8 配:I学部i
山1
0
:
人名 :8
剖0
1
凶3
6
か:人名:
2
幻7
1
同6
1
:
吹次奏楽1 :2
2
引1
8
幻7
:
人名 :1
8
n
i
ホ一j,
入
:->1 :元
副l
ぶ
詰
義
主
一 "
"
"
'
r
z
7
'
1
同6
1
己
:
正
古
:
22一 1~匝8忌記
5計比7引i 人名一
;
'
i
8
'
1
1
2
:
政治経済学 :7
0
1
3
6
:
人的資源管理論 :2
7
1
6
1
:
統計 :2
2
1
8
7
:
人名 :1
8
1
1
3
:
教育毛主
i
"
6
'
S
¥
3
{
A
:
宅
一i
2
6
Iム
i
a
l
-
ム
i
i -
i
j
i
l
l
7
;
宗
宗
主
r
i
8
'
I
1
4
:
農学部 :6
7
1
3
9
:
人名 :2
6
1
6
5
:
人名 :2
1
1
8
7
:
弓道 :1
8
1
5
:
人名1
仰9
:
?Ivr州'
r
"
"
T
Z
6
T
6
S
1
人名r
'
Z
i
'
r
S
7
'
:
近代経済史1
'
i
8
'
I
1
6
:
ゼミ :6
1
1
3
9
:
写真 :2
6
1
6
5
:
人名 :2
1
1
8
7
:
心理学 :1
8
百 人 名1
州3
9
:
数学r
'
z
6
'
1
6
S
1
休 講r
'
z
i
'
1
ぷ
ぁ
"
"
"
"
'
-
;
-
i
7
'
1
1
8
:
人名 :5
6
1
3
9
:
統計学 :2
6
1
6
5
:
大学祭 :2
1
1
9
5
:
人名 :1
7
1
9
:
豊島:
"
4
8
1
3
9
1
法 :2
6
1
7
1
:
a
:
2
0
1
9
5
:
人 名r
i
7
'
I
2
0
:
香)11 :4
7
1
4
6
:
a
:
2
5
1
7
1
:
人名 :2
0
1
9
5
:
人名 :1
7
山
入
名
-
-
-
-
-
-
-
-
-
-
-
_
.
必
│
4
-
h
a
g
a
-
-
1
2
5
│
7
1
j
l
a
w
j
2
0
1
9
5
1
助 教 授1
1
'
7
'
1
2
2
:
環 境 :4
5
1
4
6
:
人名 :2
5
1
7
1
:
m
a
s
s
y
a
t
t
a
c
k
:
2
0
1
9
5
:
時事問題 :1
7
2
3
i
人名-.---_.州6
:
ー人名 ーr
-
z
5
l
i
i
1
人主r
'
z
o
'
j
'
9
5
1
寮i
1
'
7
'
I
2
3
:
人名 :4
4
1
4
6
:
プログラム言語論 :2
5
1
7
1
:
人名 :2
0
1
9
5
:
2
0
0
0
:
1
7
勾教育
j
山6
i&I鮮部
r
'
z
5
T
i
i
1
人主:
山
5
i
人 名川
7
'
1
2
6
:
就 職 :3
8
1
4
6
:
情報科学 :2
5
1
7
1
:
マッキントyシュ :2
0
1
9
5
:
アルバイト :1
7
表3
よく使われるキーワードベスト1
0
0
-230ー 香川大学経済論叢 680 休講というキーワードは大学情報の中に含めである。今後ウェプページを作成 するときはこの表を参考にして欲しい。例えばオープンキャンパスというキー ワードでの検索が18回あるが,このキーワードでは目的のページにはヒットし ない。そのページは大学説明会として掲載されていて,オープンキャンパスと いう言葉はどこにも使われていないからである。ちなみに「大学説明会」で検 索されたのは3回だけだ、った。次に現システムの持つ問題点について検討する0 .収集するファイルの指定 現在はファイJレの拡張子を見て,ファイルを収集するかしないかを判断して いる。単純なテキストファイルやHTMLファイルに予想外の拡張子が付いて いたりすると収集できない。比digは収集するかしないかを指定する際に,単純 な文字列比較よって判断しており,正規表現による指定ができない。そのため 収集する範囲を正確に指定することが難しい。例えば拡張子が .cgiやexeであ れば,これは毎回内容が変わると思われるので収集しない。ところが図書館の サーノfーには次のようなURLが頻繁に使われている。
Ww2AnnlLexe? Language
=
eng&
Menu=
wwwmnu12.. html&
Top-Menuニ top..html & SubMenu = bottom12..html現状ではこの長い文字列はファイルの拡張子が..htmlであると判断されて収 集されてしまう。図書館のサーバーの場合はこのような形式になっていても, 静的なページが多いので,現在はそのままにしている。 ・現在,この検索システムは情報管理学科のサーバーを利用しているが,本来 は情報処理センターでやるべきことである。先に説明したようにセンターの主 力インターネットサーバーである HP-UXマシンは, mknmzの処理速度が遅 い上に,インテJレ系PCサーバー上のLinuxに十比べて2倍近いメモリーを消費 するので,移行できなかった。近いうちに情報処理センターのPCサーバに移転 することを検討している。 ・現在,毎日深夜に新しく追加または更新されたページを収集し,インデック
681 香川大学ウェフ9ページ全文検索システム -231 スを更新している。しかし,
Namazu
は処理を高速化するために,いったん登 録したキーワードは削除しないようになっている。また,現在の収集方法では, 元のサーバーから消去されたファイルのインデックスはそのまま残ってしま う。そこで,毎週月曜日の深夜には学内ウェブページを全て収集し直している。 したがって,月曜日の深夜に停止しているサーバーのページは,収集されない ことになる。ウェア、サーバーはやはり2
4
時間運転をしていただくようにお願い したい0 ・学内には,もう存在しなくなった古いサーバーへのリンクを抱えたまま,長 い間更新されていないページが少なからずあるように見える。これが第2節で 述べた問題を引き起こしている。 ・ウェア、サーバーへのリンクはホスト名で記述して欲しい。かつて学内では,DNS
に登録されているサーバーでさえ,わざわざI
P
アドレスでリンクされて いることが多かった。1
9
9
8
年春にマルチメディアネットワークが敷設され,す べての公的サーバーが新ネットワークに移ったとき,I
P
アドレスで書かれてい たリンクはほとんどが切れてしまったはずだ。DNS
に名前が登録されていな いサーバーについてはI
P
アドレスでリンクするしかないが,登録されている なら,その名前を使って欲しい。a
p
a
c
h
e
にはバーチャルホストというひとつの サーノてーを複数のサーバーのように見せかける機能がある。 htdigでその機能 に対応させると,同じI
P
アドレスであっても,呼び出すときの名前が異なって おれば,それぞれが異なるバーチャルマシンとして認識されるようになる。現 状では同じページが異なるバーチャルホストのページと解釈されないように, ノ寸ーチャノレホストには対応しない設定にせざるを得ない。 ・パス名・ファイノレ名に日本語文字を使っているページがある。多分シフトJ
I
S
コードをそのまま使っているのであろうが,これは止めるべきである。世の中 のマシンがすべてシフトJ
I
S
コードを使っている訳ではないことを考慮して 欲しいものである。 .HTMLの記述が間違っていたり,タグの対応が正確でないページがあり, ページの解析やキーワードの取り出しがうまくいかないことがある。232ー 香川大学経済論叢 682
• i
-
m
o
d
e
やe
z
-
w
e
b
などの携帯電話によるアクセスが増加していると考えら れるが,学内にはまだそれらに対応したページが少ないので,携帯電話用の検 索システムを検討するのはまだ早いと考えている。いずれ携帯電話用の検索 ページを用意しなければならないであろう。 ・ロボット排除規格h
t
d
i
g
は,r
o
b
o
t
s
“t
x
t
には対応しているが,META
タグのROBOTS
記述に は対応していない。したがって,次のように指定されていてもページは収集す るし,リンクもたどってしまう。く
META NAME
=
“ROBOTS" CONTENT =
“NOINDEX,
NOFOL-LOW">
幸いなことに,namazu
はインデックスを作成するときにNOINDEX
には 対応しているので,収集はしてもインデックスには反映されないということで ページ作成者には了承をお願いしている。V
I
む す び
以上,学内のウェブページを対象にした全文検索システムを紹介した。現状 ではまだ利用頻度が高いと言えるところまでには至っていないが,今後ウェブ コンテンツが増加・充実して行くに伴ってその利用も増加していくものと期待 している。利用者の期待を裏切らないようにシステムの改良に努めていきたい。 なお,情報処理センターの資料を参照するに当たっては,瀬野芳孝氏,曽根計 俊氏に,HP-UX
のメモリー問題については四国日本電気ソフトウェア鮒高松683 香川│大学ウェブページ全文検索システム -233-支屈の中沢美弥子氏にお世話になった。記して感謝の意を表する。 参 考 文 献 [1] 馬場 肇『日本語全文検索システムの構築と活用J,ソフトパンク, 1998年9月24日 [ 2 ] 学術情報センター編,山本毅雄他著『全文検索技術と応用],丸善, 1998年11月 [ 3 ] 原田昌紀著『サーチエンジン徹底活用術.],オーム社, 1997年12月 [ 4 ] 西村めぐみ著『オープンソースソフトウェアによる全文検索・データベースWebの作り 方』ソシム, 2000年9月 1日 [ 5 ] 全文検索システム協議会『平成 10年度活動報告』 http://wwwasahi-netor.j p/~zc7t-urb/dbtokyo99/Db99htm [6 ] 高木哲 'Namazuのホームページ.Jhttp://www.namazuorg/ [ 7 ] Iht:/ /digのホームページ1http:wwwhtdigorg/ [8] HTML 401の 仕 様 書 英 語 版http://wwww3..org/TR/1999/REC-htm1401 19991224/ 日本語訳 http://wwwasahi-net.or.jp/~sd5a-ucd/ rec-htm140j /