I I ‑ 2 ‑ 2
小 口 雅 史 編 「 日 本 古 代 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス 」
(法政大学国際日本学研究所データサービス内)の~造について
小 口 雅 史
1、 は じ め に
現在、「木簡庫」での検 索 結 果 表 示の下部に、 「研 究 文 献 情 報 」 と い うボタ ンがあり 、 当 該 木 簡 を 研 究 対 象 と し て 取 り 上 げ て い る 研 究 文 献 一 覧 を 表 示 す る 仕 組 み に なっている。 現 時 点 で は そ の 引 用 元 は 、 筆 者 が 編 集 お よ び 公 開 責 任 を 負って い る 「 日 本 古 代 史 関 係 研 究 文献目録データベース」 (I)(法政大学国際日本学研究所データサービス〈通称、電子図書館〉(2)内) と 国 立 情 報 額 研 究 所 公 開 の CiNiiArticlesの2カ 所 で あ る。
木 簡 庫 で 法 政 大 学 国 際 日 本 学 研 究 所 公 開 デ ー タ を 利 用 す る た め に 、 「独 立 行 政 法 人 国 立 文 化 財 機 構 奈 良 文 化 財 研 究 所 と 法 政 大 学 国 際 日 本 学 研 究 所 と の 学 術 交 流 ・ 協 力 に 関 す る 基 本協定書」 (3)が 、 松 村 恵 司 奈 文 研 所 長 と 私 と の 間 で2016年10月 に 締 結 さ れ 、 正 式 運 用 が 始 まり現在に至っている。
本 稿 で は 、 木 簡 庫 で 利 用 し て い た だ い て い る も の を は じ め と し て 、 国 際 日 本 学 研 究 所 が 公 開 し て い る デ ー タ ベ ー ス の 構 造 に つ い て 簡 単 に 紹 介 さ せ て い た だ こ うと思う。
2、 法 政 大 学 国 際 日 本 学 研 究 所 公 開 デ ー タ ベ ー ス の 概 要
法 政 大 学 国 際 日 本 学 研 究 所 デ ー タ サ ー ビ ス に お い て は 、 その設 置 以 来 様 々 な デ ー タ を 公 開 し て き て い る が 、 基 本 的 に は そ れ ら は 研 究 所 内 に 設 置 さ れ た 専 用のWindows Serverによ って 運 用 さ れ て い る。
この Server上 に は 、 国 際 日 本 学 研 究 所 の ス タ ッ フ が 独 自 に 設 置 し た 、 全 文 検 索 シ ス テ ム Namazu、 お よ び FileMaker社 製 の FileMakerServerなどがあり、 のち に PHPによ って プ ロ グ ラ ミ ン グ さ れ た 在 欧 H本 仏 教 美 術 デ ー タ ベ ー ス JBAEも 搭 載 さ れ た 。 そ れ ぞ れ の シ ス
(1) http://aterui.i.hosei.ac.jp/ oguchi/kodai/index.htm (2) http://hijas.hosei.ac.jp/ database‑services‑top
(3)本データベースをめ ぐっ ては、同様の協定を国立歴史民俗博物館(館長:久留島浩)とも結ん でいる。「国立歴史民俗博物館と法政大学国際日本学研究所との学術交流・協力に関する基本協定 書」 2016年7月。
テ ム の 相 性 の 問 題 が 生 じ る よ う に な り 、 現 在 で は Windows Serverを2台に分けて、 トラ ブ ル を 回 避 し て い る が 、 将 来 的 に は シ ス テ ム を 再 検 討 し 、 サ ー バ ー を 1台 に ま と め る 方 向 で進んでいる。
そ う し た デ ー タ ベ ー ス の な か で 、 文 字 の み で 構 成 さ れ て い る 研 究 文 献 目 録 を 扱 っ て い る のが全文検索システム Namazuである。Namazuと は 、 手 軽 に 使 え る こ と を 第 一 に 目 指 し
た日本語全文検索システムで、 CGI と し て 動 作 さ せ る こ と に よ り 小 中 規 模 の W W W全 文 検 索 シ ス テ ム を 構 築 す る こ と が 比 較 的 容 易 に で き る 叫 国 際 日 本 学 研 究 所 で は 、 WEB上で 自 由 に キ ー ワ ー ド を 入 力 し て 検 索 が 出 来 る と い う こ の 柔 軟 性 を 生 か し 、 ど の フ ィ ー ル ド に 検 索 対 象 語 句 が あ っ て も 、 そ れ を 明 示 し た 形 で 結 果 を 表 示 で き る 、 「 蝦 夷 ( エ ミ シ ・ エ ビ ス・エゾ)を中心とした東北〜北方史関係研究文献目録データベース(稿)」(通称は・古代 北 方 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス ) を ま ず 公 開 し た 。 デ ー タ ベ ー ス に は 必 ず フ ィ ー ル ド 分 け が つ き も の で 、 原 則 と し て 一 つ の デ ー タ を 定 義 に し た がって い く つ か の フ ィ ー ル ド に 分 け る こ と が 要 請 さ れ る 。 し か し そ の こ と は 、 自 分 が 探 し て い る 研 究 論 文 を 見 つ け る 際 に 障 害 と な る こ と が あ る 。 国 際 日 本 学 研 究 所 で 公 開 し て い る 研 究 文 献 目 録 デ ー タ ベ ー ス で は 、 著 者 ・ 論 文 名 ・ 掲 載 誌 ・ 刊 行 年 月 ・ 再 録 書 な ど の フ ィ ー ル ド に 区 切 ら れ て い る が 、 通 常 の 検 索 シ ス テ ム で は 、 全 て の フ ィ ー ル ド に 対 し て い ち い ち 検 索 語 旬 を 打 ち 込 ん で 、 繰 り 返 し チ ェ ッ ク を 続 け る こ と に な る 。 も ち ろ ん マ ク ロ 的 な も の を そ の 都 度 組 め ば こ う し た 作 業 を 自 動 化 す る こ と も で き る が 、 一 般 ユ ー ザ ー に は そ れ は 易 し い 仕 組 み で は な い 。 Namazuを 用 い て デ ー タ ベ ー ス を 構 築 す れ ば 、 ど の フ ィ ー ル ド に 自 分 の 探 し て い る キ ー ワ ー ド が 含 ま れ よ う と も 、 一 度 の 操 作 で そ れ を す べ て チ ェ ッ ク で き る よ う に な っ て い る 。 こ れ に よ っ て 、 初 心 者 で あ っ て も デ ー タ ベ ー ス の 操 作 性 は 飛 躍 的 に 高 ま る 。 さ ら に こ の 研 究 文 献 目 録 デ ー タ ベ ー ス で 特 徴 的 な こ と は 、 通 常 文 献 目 録 デ ー タ ベ ー ス で 必 要 と さ れ る 、 上 記 の 著 者 ・ 論 文 名 ・ 掲 載 誌 ・ 刊 行 年 月 ・ 再 録 書 と い っ た フ ィ ー ル ド の 他 に 、 対 象 地 域 と い う フ ィ ー ル ド を 設 定 し て 、 北 方 史 の 中 で と く に ど の 地 域 を 扱 っ た も の で あ る か を 明 示 す る よ う に し た こ と が あ げ ら れ る 。 ー ロ に 北 方 史 と い っ て も 各 論 文 の 視 点 は 様 々 で 、 ま た 逆 に 検 索 す る 側 で も 北 方 史 の 中 で 特 定 地 域 を 集 中 的 に 検 索 し た い と い う 要 望 は 強 い 。 そ う し た 要 望 に 何 と か 応え られるものになった。
国 際 日 本 学 研 究 所 で は 、 こ の Namazuを 用 い て 、 中 世 北 方 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス 、 ア イ ヌ 史 関 係 研 究 文 献 目 録 デ ー タベース、 北 方 史 関 係 考 古学研 究 文 献 デ ー タ ベ ー ス の 蓄 積 作 業 を 継 続 中 で あ り 、 ま た さ ら に 研 究 者 の 利 便 性 を 高 め る た め に 、 そ れ ら を 横 断 的
(1)詳しくはhttp://www.namazu.org/参照
に 検 索 で き る 仕 組 み も 準 備 さ れ つ つ あ る 。
実 は こ れ ら の デ ー タ ベ ー ス の い く つ か は 、 20万 件 を 超 え る 巨 大 な 「 日 本 古 代 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス 」 か ら 一 括 処 理 で 目 的 別 に 抽 出 し た も の で あ る。当 時 の デ ー タ 処 理 能 力 に 合 わ せ た こ と も あ る が 、 他 に も い く つ か の 理 由 が あ っ て 、 大 も と の 「 日 本 古 代 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス 」 は 関 係 者 の み の 内 部 公 開 に と ど め て い る 。 た だ し 木 簡 庫 で の 利 用 に 当 た っ て は 、 す べ て の デ ー タ の 参 照 を 許 可 し て い る。公 開 を 控 え て い る一 つ の 大 き な 理 由 は Namazuの 検 索 シ ス テ ム で あ る Kakashiの 語 句 の 切 り 分 け に 際 し て の 最 適 化 の 問 題 が 未 解 決 で あ る か ら で あ る 。 学 界 か ら 強 い 公 開 要 望 が 寄 せ ら れ て い る が 、 い ま し ば し 時 間 を い た だ き た い と こ ろ で あ る 。 そ も そ も こ の 規 模 の デ ー タ ベ ー ス に な る と 、 私 が 個 人 的 に 維 持 す る の は す で に 限 界 を 超 え て い る と も 言 わ れ て 久 し い が (1)、 い ず れ し か る べ き 国 家 機 関 に こ れ ま で の デ ー タ を 預 け る こ と も や ぶ さ か で は な い と 考 え て い る 。
一方、 FileMakerServerについては、 Windows版 で も Mac版 で も 完 全 に 同 ー フ ァ イ ル を 扱 う こ と で き る ス タ ン ド ア ロ ン 版 の FileMakerで 基 礎 デ ー タ を 入 力 し 、 そ れ を FileMakerServerが 標 準 で 備 え る 簡 易 Web公 開 機 能 を 用 い て 公 開 し た 。 こ れ も 大 変 柔 軟 性 が あ り 、 か つ Namazuで は 不 可 能 な 画 像 付 デ ー タ も 処 理 で き る の で 、 'Digital Library"で は フ ィ ー ル ド が 固 定 さ れ て い て 処 理 で き な い 画 像 付 デ ー タ ベ ー ス を こ れ で 公 開 す る こ と に し て き た 。 現 時 点 で は 具 体 的 に は 、 国 際 日 本 学 に 深 く 関 係 す る 「 在 ベ ル リ ン ・ 吐 魯 番 文 書 関 係 デ ー タ ベ ー ス 」 な ど を こ れ で 処 理 し て い る (2)。こ れ は ベ ル リ ン の 国 立 図 書 館 そ の 他 に 架蔵されている、 ト ル フ ァ ン 出 土 の 漢 文 世 俗 文 書 を 整 理 し て 全 文 テ キ ス ト ・ 画 像 付 で 公 開 し よ う と す る も の で あ る。こ れ は 日 本 古 代 史 と も 深 い 関 係 を 持 ち 、 国 際 的 な 協 力 に よ っ て 成 り 立 っ た も の で 、 国 際 日 本 学 の モ デ ル ケ ー ス と し て 公 開 に 踏 み 切 っ た 経 緯 が あ る 。
また PHPに よ っ て プ ロ グ ラ ミ ン グ さ れ た JBAEに つ い て は 、 拙 稿 が 別 途 用 意 さ れ て い る の で 、 詳 細 は そ れ を 参 照 さ れ た い(3)0
(1)現実問題として私の校務負担の増加に応じて、残念なことに更新頻度は大幅に下落している。
「木簡庫」にもご迷惑をおかけしている次第である。
(2)詳細は拙稿「在ベルリン吐魯番漢文文書とその電子化ーその現状と課題・展望ー」『漢字文献情 報処理研究』 6、2005年。田口昌弘・小口雅史「『在ベルリン吐魯番出土漢文世俗文書総合目録』の その後ーFileMakerによるDatabaseのWeb公開の一例として一」 『漢字文献情報処理研究』 8、200 7年、他参照。
(3)小口雅史「在欧美術館・博物館所蔵の日本仏教美術を訪ねて( 1)ーフィンランド・ヨエンス 一美術館の巻ー」『法政史学』 87、2017年。
3、Namasuに よ る 具 体 的 な プ ロ グ ラ ム 内 容 1) 作 業 の 目 的 と 使 用 し た ソ フ ト ウ ェ ア に つ い て
こ こ で は す で に 一 般 公 開 さ れ て いる「蝦夷(エミ シ・エビス ・エゾ)」を中心とした東北
〜 北 方 史 関 係 研 究 文 献 目 録 データベース(稿)、通称「古代北方史関係研究文献目録データ ベ ー ス 」 を 全 文 検 索 シ ス テ ム Namazuを 使 用 し て ウ ェ ブ 上 で 処 理 し た 過 程 を 紹 介 し た い 。 木簡庫で利用している、 一般 に は 未 公 開 の 「 日 本 古 代 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス 」
も シ ス テ ム 上 は 全 く 同 じ 構 造 で 処 理 さ れ て い る 。
また 2)で 述 べ る よ う に 、 デ ー タ 処 理 に 当 た っ て は 、 ス ク リ プ ト 言 語 Perlを 補 助 的 に 使 用 し た 。 な お こ の デ ー タ ベ ー ス ( 以 下 「 論 文 DB」と表記)の公開に当たっては、 INBUDS
( イ ン ド 学 仏 教 学 論 文 デ ー タ ベ ー ス 叫 の シ ス テ ム を 参 考 に し て い る 。 同 シ ス テ ム の 構 築 に
当 た っ た 師 茂 樹 氏 に 、 こ の 場 を 借 り て 謝 意 を 表 し た い(2)0 a 作 業 の 対 象 と し た 論 文DBの 性 質
論文D Bの特徴は以下の通りである。
・ 管 理 工 学 研 究 所 の 日 本 語 デ ー タ ベ ー ス ソ フ ト 「桐 V 9」(当時)によって 作 成 さ れ た。
•ただし公開用にデータを抜き出した時点では実質的にはリレーショナルデータベースと
し て の 機 能 は 使 用 さ れ て お ら ず 、 カ ー ド 型 デ ー タ ベ ー ス と し て 扱 う こ と が 可 能 な 形 式 と な っている。
・ 入 力 さ れ て い る 項 目 は 21項 目 以 上。
•項目内での区切り記号は I • I • IIの 3種類。 通 常は 1(全角)・ 1(半角)が使用される。 半 角 区 切 り は デ ー タ が 数 字 で あ る 項 目 内 で 使 用 さ れ て い る 。 IIは 大 区 切 り で 、 必 要 の あ る 場合のみ、
I •
Iに 加 え て 使 用 さ れ ている。・ 使 用 さ れ て い る 文 字 コ ー ド は JISベー ス で 独 自 外 字 と メ ー カ ー 外 字 (IBM外 字や Windows外 字 と 呼 ば れ る も の ) も 使 用 し て い る。外 字 を 使 用 し た 場 合 は デ ー タの 「漢字注 記 」 の 項 に 、 今 昔 文 字 鏡 番 号 が &M型式で記入されている。
b 全 文 検 索 シ ス テ ム Namazu13)について
全文検 索 シ ス テ ム Namazuは 、 も と も と 高 林 哲 氏 に よ っ て 開 発 さ れ 、 version2.0か ら は
(1) http://www.inbuds.net/
(2)法政大学国際日本学研究所において、当時、プログラミ ングの具体的作業に従事したのは田口 昌弘氏である。なお、本章の記述は、「ワーキングプロジェクト「成果と情報化の活用」」『日本学の 総合的研究』(法政大学国際日本学研究所、 2007年)をベースにしている。
(3) http://www.namazu.org/project.html.ja
Namazu Projectによっ て 共 同 開 発 さ れ て い る 日 本 語 全 文 検 索 シ ス テ ム で あ る 。 特 徴 は 以 下 のようなものである。
•高速な検索が可能。
•実行できる複合検索の種類が豊富。
・検索結果表示のカスタマイズ性が高い。
・多くのプラッ トフォームに対応。
・フリーウェアである。
C ス ク リ プ ト 言 語 Perlについて
ス ク リ プ ト 言 語 Perlは ラ リ ー ・ ウ ォ ー ル 氏 に よ っ て 開 発 さ れ た イ ン タ プ リ タ 方 式 の プ ログラミ ング言語。しばしばウェ ブ 上 で 動 作 す る CGIの 作 成 に 使 用 さ れ る 。 ま た Namazu の動作にも必要とされる。
2)作 業 の 流 れ に つ い て
作 業 内 容 は 以 下 の 4つの段階に分けられる。
(1) NamazuとPerl(とそれらを補助する)ソフトウェアをサーバーにインストールする。 次 に デ ー タ を 置 く た め の フ ォ ル ダ を 設 定 し 、 あ わ せ て ウ ェ ブ 上 で 公 開 す る た め の フ ォ ル ダ
を 作 成 す る 。 → 3)
(2)作 成 さ れ て い る 論 文 DBの デ ー タ は そ の ま ま の 形 で は Namazuで扱えないため、 Perl に よ っ て 適 切 な 形 式 に 変 換 す る 。 → 4)
(3) Namazuの 動 作 に 必 要 な 設 定 を 行 う 。 → 5)
(4) Namazuでの 検 索 結 果 を ウェ ブ 上 で 公 開 す る た め の 形 式 に Perlによって加工する。
→ 6)
3) ソ フ ト ウ ェ ア の イ ン ス ト ー ル と 各 種 フ ォ ル ダ の 作 成
作 業 に 必 要 な ソ フ ト ウ ェ ア は ateruiサ ー バ ー のCド ラ イ ブ に イ ン ス ト ー ル し 、 デ ー タ フ ォ ル ダ と ウ ェ ブ 公 開 用 の フ ォ ル ダ はFドライブに置くことにした。
a ど の サ ー バ ー を 使 用 す る か
マ イ ク ロ ソ フ ト 社 の Windows2000 Server(当時)で運用している ateruiサ ー バ ー を 使 用した。
Namazuも Perlも 多 く の プ ラ ッ ト フ ォ ー ム に 対 応 し て お り 、 扱 う デ ー タ も テ キ ス ト 形 式 で あ る の で 、 使 用 す る サ ー バ ー の OS に つ い て は 特 に 制 限 が な い 。 よ っ て 実 務 担 当 者 が 作 業 に 慣 れ て い る マ イ ク ロ ソ フ ・社の Windows系 列 の サ ー バ ー を 選 択 し た 。 サ ー バ ー 室
を 管 理 し て い る SEに よ れ ば 、 今 回 の 用 途 に は ateruiサ ー バ ー が 適 し て い る と の こ と で あ った。
b ソ フ ト ウ ェ ア の イ ン ス ト ー ル
PerlをCドライブの perlフォルダにインストール。
Kakasi (Namazuの動作に必要。後述)を C ドライブの kakasiフォルダにインストール。
Namazuを C ドライブの Namazuフォルダにイジストール。
シ ス テ ム 置 か れ て い る C ド ラ イ ブ は も と も と 4ギ ガ バ イ ト し か な く 空 き 容 量 に 乏 し か っ た。ソ フ ト ウ ェ アのイ ン ス ト ー ル は 避 け た かった の だ が 、 こ れ 以 外 の 場 所 で は 挙 動 に 問 題 が 生 じ る 可 能 性 が あ り 、 上 記 の よ う に し た。
イ ン ス ト ー ル に 使 用 し た パ ッ ケ ー ジ は そ れ ぞ れ 、 Perl: ActivePerl‑5.6.1.635‑MSWin32‑
・x86.msi、kakasi: kakasi‑2.3.4.zip、Namazu: nmz2014beta.exe。Perlは 安 定 し て い る 5.6.1 系の最新版(当時)を、 kakasiは最新版(当時)を、 Namazuは ベ ー タ 版 で は あ る が セ キ ュ リ テ ィ 関 連の バ グ フ ィ ッ ク ス が な さ れ た 最 新 公 開 版 ( 当 時 ) を 用 い た 。
C デ ー タ フ ォ ル ダ の 作 成
Fドライ ブに oguchi̲localとい う フ ォ ル ダ を 設 定 し 、 さ ら に 下 位 に ezo̲dbとい うフォ ル ダ を 作 成 し て 、 今 回 の 論 文 DB関 連 の フ ァ イ ル を 置 く こ と に し た。
oguchi̲local
L—-ezo_db ・ ・・・・・ ・ ・ ・ ・・・ ・ ・ ・ ezo̲db.bat
トーbackup……(設定ファイルのバックアップ)
トー data………(1000件ごとにフォルダ分けしたデータ)
トー namazu・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ mknmzrc ・ mknmz.log ・ mknmz̲err.log
トーindex……… (mknmz.exeで作成した索引、 namazu.exe. cgiが使 用する)
L ̲ template…… (mknmz.exeで 参 照 す る テンプレート)
L ̲ tool ・・ ・ ・・ ・・ ・・ ・ ・・ ・ ・ ・・ ・・・ ・ ・ jcode.pl ・ pre.pl
L ̲ installed…(インストールしたソフトウェアのオリジナル)
図44データフォルダ配置
ezo̲dbフォルダの下位には、 dataフォルダ(データを 1000件 ご と に フ ォ ル ダ 分 け し て 置く ). namazuフ ォ ル ダ (Namazuの設定ファイル等を置く). toolフォルダ(データ加 工 用に Perlで作成するスクリプト等を置く). backupフ ォ ル ダ ( 上 記 関 連 フ ァ イ ル の バ ッ ク ァップを入れる)を設置した。
他にEド ラ イ ブ も 空 き 容 量 が 多 か っ た が 、 既 に イ ン ス ト ー ル さ れ て い る ソ フ ト ウ ェ ア か ら判断すると C ド ラ イ ブ の 補 完 的 な 役 割 を す る ド ラ イ ブ と し て ソ フ ト ウ ェ ア を イ ン ス トー ル す る た め の 場 所 と 位 置 づ け ら れ て い る よ う で あ っ た 。 よ っ て デ ー タ フ ォ ル ダ の 設 定 場 所 候補から除外した。
d ウ ェ プ 公 開 用 フ ォ ル ダ の 設 定
Fドライブに oguchiと い う フ ォ ル ダ を 設 置 し 、 こ れ を 国 際 日 本 学 研 究 所 の ウ ェ ブ サ イ トの 置 か れ て い る mediacenterフォルダ の 下 位 に 仮 想 デ ィ レ ク ト リ と し て OSの IIS(イ ン ターネッ トイ ンフォメーションサービス)を使用して設定した。
さらに oguchiフ ォ ル ダ の 下 位 に Namazuの 検 索 エ ン ジ ン 部 分 で あ る Namazu.cgi.exeや 検 索 結 果 を 加 工 し て 表 示 す る Perlの ス ク リ プ ト を 置 く た め の searchと い う フ ォ ル ダ を 作 成した。
oguchiフ ォ ル ダ に は HTMLや 画 像 フ ァ イ ル 等 の 静 的 コ ン テ ン ツ を 配 置 す る こ と と し 、 IISの 設 定 は 読 み 取 り ・ログアクセスの み を 許可 し 、 ス ク リ プ ト等 の 実 行 ア ク セ ス 権 は 無
ヽ~
oguchi ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ index.htm ・ about.htm
L—ーナー images ・・・···…•・・・・・・・・・・・・・・(画像ファイル) renraku.gif など
L ‑ search ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・.namazurc ・ namazu.cgi.exe ・ result.cgi 図45‑1 ウェブ公開用フォルダの配置
aterui ‑ ‑ ‑mediacenter ‑ ‑ ‑ CGI‑BIN
ト ー―‑ ‑ ‑ ‑center
卜
‑ ‑ ‑ ‑ ‑ ‑lmages
L ̲ ̲ ̲ ̲ ̲ < oguchi >
トー―
‑<images>L ‑ ‑ ‑
<
search >図45‑2 IISで設定したサーバー上でのウェブ公開用フォルダの配置 (<>は今回作成したもの)
しとした。 searchフ ォ ル ダ に は CGI等 の 動 的 コ ン テ ン ツ を 配 置 す る た め 、 IISの 設 定 は ロ グ ア ク セ ス の み 可 と し 、 ス ク リ プ ト 及 び 実 行 可 能 フ ァ イ ル に 実 行 ア ク セ ス 権 を 許 可 し た 。 ま た 同 フ ォ ル ダ に つ い ての み 、 拡 張 子 cgiの フ ァ イ ル を 動 作 可 能 と す る た め Perlのダイ ナ ミ ッ ク リ ン ク ラ イ ブ ラ リ (C:¥Perl¥bin¥perlis.dll)を関連付け、 Namazuの 検 索 結 果 を 加 工 す る た め に 必 要 な GETメソッドの動作を許可した。
e ウ ェ プ 公 開 用 HTMLの 準 備
論 文 DB公開のトップペー ジ と な る index.htmと、論文 DBの 凡 例 で あ る about.htmを 作 成 し た 。 と も に 図 45‑1のように配置した。
・ index.htmの作成
index.htmか ら は 、 最 新 情 報 ( リ ン ク 先 未 作 成 ) ・ 古 代 北 方 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス に つ い て (about.htm)・ オ ン ラ イ ン 検 索 (namazu.cgi.exe)・ 法 政 大 学 国 際 日 本 学 研 究 所 ホ ー ム ペ ー ジ ヘ (http://www.hosei.ac.jp/2lcoe/nihon/)へのリンクを張った。
ま た 連 絡 先 メ ー ル ア ド レ ス を 画 像 で 掲 載 し た 。 5) a参照。
<
index.htm>
(!DOCTYPE HTML PUBLIC "‑//W3C//DTD HTML 4.01 Transitional/JEN"〉 (HTML lang="ja"〉
<HEAD〉
(TITLE〉Result(/TITLE〉
(META http‑equiv="Content‑Type" content="text/html; charset=EUC‑JP"〉 (LINK rel="stylesheet" href="../ezo̲db.css" type="text/css")
(/HEAD〉 (BODY〉
<H1〉古代北 方 史 関 係 研 究文 献 目 録 デ ー タ ベ ー ス</Hl〉
<P〉正式名称 :「蝦夷(エミシ ・ エ ビ ス ・ エ ゾ ) 」 を 中 心 と し た 東 北 〜 北 方 史 関 係 研 究文 献 目 録 データベース (稿)</P〉
<HR〉
<P〉
<LI〉最新情報
(LI)(A href="./about.htm"〉古代 北 方 史 関 係 研 究 文 献 目 録 デ ー タベースについてくIA〉
<LI〉くAhref="./search/namazu.cgi.exe"〉オンライン検索 (テスト中) </A〉
<LI〉<A href="http://www.hosei.ac.jp/21coe/nihon/">法政大学国 際 日 本 学 研 究 所 ホ ー ムペー ジ</A〉
<IP〉
︐
<HR〉
(ADDRESS〉くIMG src="./images/renraku.gif'') (/ADDRESS〉 (/BODY〉
(/HTML〉 -(ここまで)—
・ about.htmの作成
about.htmに は 論 文 DBの 凡 例 を 記 述 し 、 さ ら に index.htmに戻るリンクを張った。
<
about.htm>
<!DOCTYPE HTML PUBLIC "‑//W3C//DTD HTML 4.01 Transitional/JEN"〉
<HTML lang="ja"〉
<HEAD〉
<TITLE〉Result<JTITLE〉
(META http‑equiv="Content‑Type" content="text/html; charset=EUC‑JP"〉 (LINK rel="stylesheet" href=".. /ezo̲db.css" type="text/css")
(/HEAD〉
<BODY〉
<H1〉古代 北 方 史 関 係 研 究 文 献 目 録 デ ー タベース</Hl〉
<P〉正式名称:「蝦 夷 ( エ ミ シ ・ エ ビ ス ・ エ ゾ ) 」 を 中 心 と し た 東 北 〜 北 方 史 関 係 研 究 文 献目録データベース(稿)</P〉
<HR〉
<H2〉凡例</H2〉
<OL〉
<LI〉 こ の デ ー タ ベ ー ス は 「 蝦 夷 」 に 関 す る研 究 文 献 を 対 象 と し た もの で あ る 。 そ の 「 蝦 夷 」 と 呼 ば れ た 人 々 が 生 活 し て い た 舞 台 で あ る 東 北 以 北 の 地 域 に 関 す る 研 究 文 献 を 集 成 す ることを目的としている。
<LI〉「蝦夷」と呼 ば れ た 人 々 の中 で も と くに「エ ゾ 」 と 呼 ば れ た 人 々 と 密 接 に 関 わる ア イ ヌ 文 化 、 ま た そ の ア イ ヌ 文 化 の 形 成 に 影 響 を 与 え た 擦 文 文 化 ・ オ ホ ー ツ ク 文 化 に 関 す る 研 究 文 献 も 対 象 と し た 。 ア イ ヌ 文化 を め ぐ る 諸 論 考 に つ い て は 、 その前史と関わるもの、
あ る い は 北 方 世 界 の 一 つ の 特 徴 で あ る 交 易 な い し 物 の 移 動 を め ぐ る 論 考 を 主 体 と し て い る 。 そ の た め ア イ ヌ 史 全 般 の 研 究 文 献 目 録 と は な っ て い な い 。 擦 文 文化 期 に さ か の ぼ る と さ れ て い る ア イ ヌ 語 地 名 に つ い て は 採 録 の 対 象 と し た 。
<LI〉 文献 に 「 蝦 夷 」 と 呼 ば れ た 人 々 が 登 場 し 活 躍 す る 前 後の時代についても、 上記 2.
と 同 じ く 北 方 世 界 に お け る 交 流 の 問 題 を あ っ かっ た 論 考 は採 録 し て い る。
<LI〉 上 記 の 目 的 を 達 成 す る た め 、 文 献 分 野 に 限 ら ず 考 古 学 分 野 の 諸 研 究 に つ い て も 対 象 と し て い る が 、 現 時 点 で は 考 古 学 分 野 に つ い て は 網 羅 し 切 れ て い な い 。 ま た 発 掘 調 査 報 告 書 に つ い て は 原 則 と し て 対 象 と し な か っ た が 、 発 掘 調 査 報 告 書 に 含 ま れ る 考 察 的 な 部 分 に つ い て は 一 部 採 用 し た 。 と く に 後 に 著 者 個 人 の 論 文 集 に 収 録 さ れ た 場 合 に は 優 先 的 に 採 録した。
<LI〉 自 治 体 史 に つ い て は 原則 と し て 採 録 し て い な い。 た だ し 上 記 3.と同 じ く 後 に 論 文 集 に 収 録 さ れ た 場 合 な ど に つ い て は 配 慮 し て 一 部 採 録 し て い る 。
<LI〉 辞 典 類 に つ い て は 長 文 の も の 、 筆 者 の 見 解 が 端 的 に 要 約 さ れ て い る も の を中心に 採 録 し た 。 啓 蒙 書 に つ い て は 一 応 対 象 と し て い る が 、 一 部 掲 載 を 省 略 し た も の が あ る 。
<LI〉 以 上 の 原 則 に 従 っ て 、 小 口 雅 史 編 『 日 本 古 代 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス 』
(テキストファイル版)から分類記号 D7• D8を 基 準 に 抄 出 し 、 さ ら に や は り 小 口 が 作 成 を 担 当 し て い る 青 森 市 史 編 纂 の た め の 北 方 史 関 係 文 献 デ ー タ ベ ー ス を 参 照 し た 上 で 、 あ ら た め て さ ら に 増 補 を 加 え た 。 な お 論 文 名 欄 に 「 一 」 と あ る も の は 、 そ の 書 籍 に 含 ま れ る 論 文 中 、 当 デ ー タ ベ ー ス に 採 録 す べ き も の が す べ て 既 刊 で あ る こ と を 示 し て い る 。
<LI〉データ項目のうち、「参照 No.」 は 再 録 書 の 、 本 デ ー タ ベ ー ス に お け る 通 し 番 号 上 の 位 置 を 示 す 。 ま た 「 既 成 目 録 」 は 従 来 こ の 分 野 で利 用 さ れて き た デ ー タ No.5448、12682 の 両 目 録 に 掲 載 さ れ て い る こ と を 示 し 、 前 者 を T、 後 者 を Kで 表 し て い る 。 た だ し そ の 目 録 の デ ー タ を 補 正 し た 場 合 に は そ れ ぞ れ t、Kで表している。
<LI〉 デ ー タ に つ い て は で き る だ け 原 典 と 照 合 す る よ う に つ と め た が 、 一部 現 物 に あ た
れ な か っ た も の が あ る 。 そ れ ら に つ い て は と り あ え ず 本 デ ー タ ベ ー ス に も 収 録 さ れ て い る い く つ か の 先 行 文 献 目 録 に 依 存 し た 。 今 後 現 物 と の 照 合 に 努 力 し て い き た い 。
<LI〉 デ ー タ の な か に は 論 文 等 の 書 か れ た 時 代 の 認 識 を 反 映 し て 差別 的 な 表 現 が と られ て い る も の が あ る が 、 デ ー タ ベ ー ス と し て の 性 格 上 そ の ま ま 残 し て い る 。 も ち ろ ん 本 デ ー タ ベ ー ス は そ う し た 認 識 を 許 容 す る 立 場 に た つ も の で は な い 。
<LI〉 こ れ だ け の 規 模 に な る と 脱 漏 ・ 正 誤 な ど は 避 け ら れ ない 。 ま た と く に 各地 域 で 刊 行 さ れ て い る 雑 誌 類 に つ い て は 一 般 に 入 手 が 困 難 で あ り 、 貴 重 な 論 考 が 多 数 脱 落 し て い る
ものと推測 さ れ る 。 利 用 者 各 位 か らの積極的 な 情 報 提 供 を 期 待 し て い る。
<IOL〉
<P〉 <A href="../oguchi/index.htm")【トップに戻る】</A〉</P〉
<HR〉
<ADDRESS〉くIMGsrc="./images/renraku.gif''〉く/ADDRESS〉
<!BODY〉
(/HTML〉
-(ここまで)—-一
4)論 文DBの 加 工
元 デ ー タ を Namazuで 扱 う た め に 論 文 デ ー タ 1件ず つ( =1レコードごと)に切り離し、
さ ら に 検 索 対 象 と す る 部 分 と 検 索 対 象 に し な い 部 分 を 別 フ ァ イ ル と し た。これ ら の フ ァ イ ルは 1000レ コ ー ド ご と に フ ォル ダ 分け して 作成 した 。
a 桐 か ら の デ ー タ 出 力
ま ず 桐 か ら デ ー タ を カ ン マ 区 切 り の csv形 式 で テ キ ス ト フ ァ イ ル と し て 出 力 す る 。 た だ し 出 力 は 桐 に 登 録 し た 自 動 操 作 に よ り 、 論 文 DB に 入 力 さ れ て い る デ ー タ 項 目 の 内 で 公 開 す る 項 目 の み と す る 。 こ の 工 程 は 小 口 の 手 に よ る も の で 作 業 者 田 口 氏 は 関 与 し て い ない。
CSVフ ァ イ ル に 出 力 さ れ る 項 目 は 以 下 の 21項 目 。 各 項 目 の 頭 に つ い て い る の は 出 力 さ れ る 順 番 で あ る ([O]か ら 始 ま っ て い る の は 後 の 作 業 で の 都 合 に よ る ) 。 各 項 目 の 後 の 説 明 は 作 業 者 が 作 業 用 に 付 し た 説 明 で 、 必 ず し も デ ー タ 入 力 者 の 意 図 と 合 致 す る と は 限 ら な い 。
[OJ No.:データの通し番号
[l]執筆 者 [2]論文名 [3]掲 載 誌 等
[4]巻号: [3]の巻号 [5]特集: [3]の特集
[6]編・著: [3]の 編 ・ 著 者
表4 、データ項目一覧
[7]別誌名等: [3]所収の叢書名など [8]刊 行 年 月 : [3]の 刊 行 年 月
[9]出版社: [3]の 出 版 社
[10]備 考 : デ ー タ 全 体 につ い て の 備 考
[11]キ ー ワ ー ド : 論 文 内 容 の キ ー ワード(題名と重複するものは採っていない)
[12]史料 : 論 文 内 で 扱 っ て い る 史 料 [13]参照 No.:[14]の[O]
[14]所 収 ・ 再 録 書 名
[15]改題・改稿: [14]の 際 の 改 題 ・ 改 稿
(16]漢 字 注 記 : デ ー タ 全 体 の 漢 字 表 記 に つ い て の 注 記 (17]ふりがな: [1]の ふ り が な
(18]既 成 目 録 : 既 存 目 録 で の 収 録 状 況 (19]対象 地 域 :論文 内 で 扱 っ て い る地域
(20]版 本 デ ー タ No控 : 小 口 雅 史 ・ 畠山恵美 子 ・ 中 野 栄 夫 編 「 北 方 史 関 係 文 献 目 録
(稿)」『法政大学国際日本学研究所研究報告』第 4集 、 法 政 大 学 国 際 日 本 学 研 究所、 2004年3月 で の 番 号
b デ ー タ の 切 り 離 し
そ も そ も Namazuは 多 数 の フ ァ イ ル に 対 し て あ ら か じ め 語 彙 索 引 を 作 成 し て お き 、 そ の 索 引 に 対 し て 全 文 検 索 を 行 う ソ フ ト ウ ェ ア で あ る 。 し た が っ て 本 来 、 今 回 の よ う な 多 数 の レ コ ー ド か ら な る 単ーフ ァ イ ル の DBに 対 し て 使 用 す る も の で は な い 。 さ ら に [O]や
[4]な ど の 項 目 は 検 索 対 象 と し て も 意 味 が な い。
そ こ で csvフ ァ イ ル を 1レ コ ー ド ご と に 切 り 離 し 、 さ ら に 検 索 対 象 と す る 部 分 と し な い 部 分 ( 下 記 ) を 別 フ ァ イ ル と す る 。 結 果 と し て レ コ ー ド 件 数 の 倍 の フ ァ イ ル が 生 成 さ れ る が 、 こ れ を す べ て 同 一 フ ォ ル ダ に 置 い た 場 合 、 そ の フ ォ ル ダ を 操 作 す る 際 の OS の 挙 動 が 非 常 に 緩 慢 も し く は 不 安 定 に な る た め 、 1000レ コ ー ド ご と に フ ォ ル ダ を 作 成 し て 配 置 す る ( よ っ て 各 フ ォ ル ダ に は 原 則 と し て 2000のファイルが置かれる)。
表5 検索対象にする項目としない項目 く 検 索 対 象 に す る >
[1]執筆者,[ 2]論文名,[ 3]掲載誌等,[ 5]特集,[ 7]別誌名等,[ 9]出版社,[ 10]備考,
[11]キーワード,[12]史料,[14]所 収 ・ 再 録書名,[15]改題・改稿,[18]既成目録,
[19]対 象 地 域
く 検 索 対 象 に し な い >
[O] No., [4]巻号,[6]編・著,[8]刊行年月,[13]参照 No.,[16]漢字注記,[17]ふりがな,
[20]版 本 デ ー タ No控
※ [17]に つ い て は 、 同 一 の 読 み の 別 人 物 で あ る 場 合 に 区 別 が さ れ て い な い た め 、 検 索対象から外すことにした。
C デ ー タ を 切 り 離 す た め の ス ク リ プ ト 作 成
前 節 で 述 べ た 加 工 を 行 う た め に 検 索 前 処 理 用 の Perlの ス ク リ プ ト pre.plを作成した。
あ わ せ て 日 本 語 コ ー ド 変 換 を 行 う jcode.plも toolフ ォ ル ダ に 置 い た 。 な お jcode.pl*9は歌 代 和 正 氏 に よ っ て 作 成 さ れ た Perlのライブラリで、 JISベ ー ス の 日 本 語 コ ー ド の 相 互 変 換
をするために広く使 用 さ れ ているものである。
d pre. plの詳細
<pre.pl>
01: #!/usr/local/bin/per 1 02:
03: # pre.pl v0.942 04:
05: $dat̲folder = "F:/oguchi̲local/ezo̲db/data" ; 06: require "jcode.pl" ;
07:
08: while ($line=く〉){ 09: chomp;
10: $line = &jcode::euc ($line, "", "z") 11: $line =‑s!¥│/
I
lg;12: @dat = split (/,!, $line) 13:
14: $folder= int (@dat [O] / 1000) ; 15: $folder̲03d = sprintf ("%03d",$folder) 16: $file= @dat [O] % 1000 ;
17: $file̲03d = sprintf ("%03d",$file) 18:
19: if (!‑d "$dat̲folder/$folder̲03d") { 20: mkdir "$dat̲folder/$folder̲03d" ; } 21:
22: if ("$folder̲03d‑$file̲03d" ne "000‑000") {
23: $write̲url = "$dat̲folder/$folder̲03d/$folder̲03d‑$file̲03d.htm" ; 24:
25: @outl = (@dat [1],@dat [2],@dat [3],@dat [5],@dat [7],@dat [9],@dat [10],@dat [11] ,@dat [12],@dat [14],@dat [15],@dat [18],@dat [19])
26: $outljoin = join (",", @outl) 27: open (OUTl, ") $write̲url") 28: print OUTl $outljoin ;
29: close (OUTl) 30:
31: @out2 = (@dat [O],@dat [4],@dat [6],@dat [8],@dat [13],@dat [16],@dat [17],@dat [20])
32: $out2join = join (",", @out2) ; 33: open (OUT2,〉" $write̲url.dat") 34: print OUT2 $out2join ; 35: close (OUT2);
36: } 37: } 38: 39: exit;
---(ここまで)—.--
5) Namazuの設定
Namazuの シ ス テ ム は 2つ の プ ロ グ ラ ム か ら 構 成 さ れ る 。 あ ら か じ め 全 文 検 索 の 対 象 と す る 文 書 の イ ン デ ッ ク ス フ ァ イ ル を 作 成 し て お く た め の プ ロ グ ラ ム mknmz.exeと 、 そ の イ ン デ ッ ク ス を 利 用 し て 検 索 を 行 う プ ロ グ ラ ム namazu.exeである。
a mknmzで 使 用 す る テ ン プ レ ー ト フ ァ イ ル の カ ス タ マ イ ズ
mknmzは 指 定 さ れ た テ ン プ レ ー ト に 基 づ き イ ン デ ッ ク ス フ ァ イ ル を 生 成 す る 。
こ の イ ン デ ッ ク ス フ ァ イ ル に は 、 厳 密 な 意 味 で の イ ン デ ッ ク ス ( = 索 引 ) 以 外 に も 、 namazuで の 検 索 結 果 と 共 に 表 示 さ れ る HTMLのヘッダやフッタをも含む。
カ ス タ マ イ ズ す る べ き フ テ ィ ル は 「NMZ.????.ja」 (.jaは 日 本 語 表 示 用 ) と い う フ ァ イ ル 名の 6フ ァ イ ル で あ る 。 こ れ ら を カ ス タ マ イ ズ 後 に 図44の templateフォルダに配置する。
表6 日 本 語 表 示 用 の Namazuテ ン プ レ ー ト 一 覧
NMZ.result.nomal.ja : namazuでの 検 索 結 果 を 表 示 す る た め の テ ン プ レ ー ト
NMZ.result.short.ja : namazuで の 検 索 結 果 を 表 示 す る た め の 簡 略 版 の テ ン プ レ ー ト NMZ.head.ja : namazuで の 検 索 結 果 と 共 に 表 示 さ れ る htmlの ヘ ッ ダ の テ ン プ レ ー ト NMZ.foot.ja : namazuでの 検 索 結 果 と 共 に 表 示 さ れ る htmlの フ ッ タ の テ ン プ レ ー ト NMZ.body.ja : namazuの 検 索 画 面 に あ る 「 検 索 方 法 」 と い う リ ン ク か ら 表 示 さ れ る 検
索 方 法 例 の テ ン プ レ ー ト
NMZ.tips.ja : namazuでの 検 索 で 該 当 す る デー タ が 無い 場 合 に 表 示 さ れ る 画面のテン プレート
・ NMZ.result.nomal.ja ・ NMZ.result.short.jaの カ ス タ マ イ ズ
NMZ.result.nomal.jaから は 、 検 索 で ヒ ッ ト し た フ ァ イ ル の 「 著 者 ・日付」行を削除した。 こ れ は 今 回 扱 う デ ー タ が 、 ワ ー プ ロ 文 書 や PDFな ど の よ う な 、 こ れ ら の 項 目 を そ れ 自 体 の う ち に 保 有 し て い る タ イ プ の デ ー タ で は な い か ら で あ る。インデ ッ ク ス 作 成 の 対 象 と す る の は csvを 切 り 離 し て 生 成 さ れ る テ キ ス ト フ ァ イ ル の た め 、 「 著 者 」 は 全 て 「 不 明 」 と 表 示 さ れ 「 日 付 」 は 全 て 切 り 離 し た 日 時 と な っ て し ま う 。 NMZ.result.short.jaに つ い て は手を加えていない。
<
NMZ.result.nomal.jaーオリ ジナル>< dt〉${namazu::counter}. < strong〉<a href="${uri}"〉${title}</a〉</strong〉 (スコア:
${namazu::score})
<dd〉くstrong〉著者</strong〉:
<
em〉${author}(/em〉<dd>
<
strong〉日付</strong〉:<
em〉${date}(/em〉<dd〉${summary}
<dd〉くahref=" $ { uri}"〉${uri}(/a〉 (${size}bytes) (br〉<br>
---(ここまで)—
<
NMZ.result.nomal.jaーカスタマイ ズ後>< dt〉${namazu::counter}. < strong〉<a href="${uri}"〉${title}</a〉</strong〉 (スコア:
$ { namazu:: score})
<dd〉${summary}
<dd〉くahref="${uri}"〉${uri}<la〉 (${size}bytes) <br)<br〉 -(ここまで)—-一
・ NMZ.head.jaの カ ス タ マ イ ズ
見 出 し と し て 論 文 DBの名称を挿入した。
イ ン デ ッ ク ス 化 さ れ て い る 文 書 の 数 ・ 登 録 さ れ て い る キ ー ワ ー ド の 数 ・ イ ン デ ッ ク ス の 最 終 更 新 日 を 表 す 行 を 6) の ス ク リ プ ト か ら 取 得 で き る よ う な 位 置 に 改 行 コ ー ド を 挿 入 し
た。
デ フ ォ ル ト の ソ ー ト 順 を 発表 年度(昇順)にした。こ れ は 指 示 に よ る。 データベース のトップページ ヘ 戻 る リンク を 追 加 し た。
<
NMZ.head.jaーオリ ジナ ル : 関 係 箇 所のみ><hl〉Namazuによる 全 文 検 索 シ ス テ ム</h1〉
< P
〉現在、 <!‑‑FILE‑‑〉0<!‑‑FILE‑‑〉 の 文 書 がイン デ ッ ク ス化され、
<!‑‑KEY‑‑〉0<!‑‑KEY‑‑〉個の キ ー ワー ド が登録され て い ま す。
<Ip〉
<p)
<strong〉イン デ ッ ク ス の最終更新日 :<!—-DATE--> date <!‑‑DATE ‑‑)</strong〉
<Ip)
<p)
<strong〉ソー ト:</strong〉 (select name="sort")
(option selected value="score"〉スコア (option value="date:late"〉日付(新しい順) (option value="date:early">日付(古い順)
< option val ue="field: subj ect:ascending"〉題名(昇順)
(option value="field:subject:descending">題名 (降順)
(option value="field:from:ascending">著者 (昇順)
(option value="field:from:descending">著者 (降順)
(option value="field:size:ascending">サイ ズ (昇順) (option value="field:size:descending">サイズ (降順)
(option value="field:uri:ascending") URI(昇順)
(option value="field:uri:descending") URI(降順)
(/select〉
</p〉
-(ここまで)—-一
<
NMZ.head.jaー カ ス タ マ イ ズ 後 :関係箇所の み ><H1〉古 代 北 方 史 関 係 研 究 文 献 目 録 デ ー タベース</H1〉
<P〉正式名称: 「蝦夷(エミ シ ・エビス ・エゾ) 」ーを 中 心 と し た 東 北 〜 北 方 史 関 係 研 究 文 献 目録データベース(稿) </P〉
<HR〉
<P〉くSTRONG〉Namazuによ る全文検 索システム</STRONG〉くIP〉
<P〉 現在、
(!‑‑FILE‑‑〉0(!‑‑FILE‑‑〉 の文書がイ ンデックス化され、
(!‑‑KEY‑‑〉0(!‑‑KEY‑‑〉
個のキ ー ワ ー ド が 登 録 さ れ ています。
</P〉
<P〉
(STRONG>インデックスの最終更新日:
(!‑‑DATE‑‑〉date(!‑‑DATE‑‑〉 (/STRONG〉
</P〉
<P〉 <A href="../index.htm"〉【トップに戻る】 </A〉くIP>
<p〉
(strong〉ソート:</strong〉 (select name="sort") (option value="score">スコア
< option val ue="field: subj ect:ascending"〉題名(昇順)
< option val ue="field: subj ect:descending">題名(降順)
(option selected value="field:uri:ascending">発表年度(昇順)
(option value="field:uri:descending">発表年度(降順)
(/select〉
</p>
-(ここまで)—
・ NMZ.foot.jaの カ ス タ マ イ ズ
連 絡 先 と し て 表 示 さ れ る メ ー ル ア ド レ ス の 表 示 と リ ン ク を 、 無 用 な spamを 避 け る た め
に 削 除 。 代 わ り に 連 絡 先 メ ー ル ア ド レ ス を 表 示 す る 画 像 フ ァ イ ル を 挿 入 し た 。
使 用 し ている Namazuの バ ー ジ ョ ン を 表 す 行 を 6) のスク リプ トか ら 取 得 でき る よ うな 位 置 に 、 改 行 コ ー ド を 挿 入 し た 。
<
NMZ.foot.jaーオリ ジ ナ ル ><hr〉
< P
〉こ の 全 文 検 索 シ ス テ ム は
<strong〉くahref="http://www.namazu.org/"〉Namazu<la〉 <!‑‑VERSION‑‑〉v<!‑‑VERSION‑‑)
<!strong〉
に よ っ て 構 築 さ れ て い ま す 。
<Ip〉
<address〉
<!‑‑ADDRESS‑‑〉
(a href="mailto:[email protected]"〉[email protected](/a〉 (!‑‑ADDRESS‑‑〉
(/address〉
</body〉
</html〉
---(ここまで)—-一
<
NMZ.foot.jaーカ ス タ マ イ ズ 後 ><hr〉
<p〉
こ の 全 文 検 索 シ ス テ ム は
(strong〉くahref="http://www.namazu.org/"〉Namazu(/a〉 (!‑‑VERSION‑‑〉v(!‑‑VERSION‑‑〉
(/strong〉
に よ っ て 構 築 さ れ て い ま す 。
</p〉 (address〉
(!‑‑ADDRESS‑‑〉<!‑‑ADDRESS‑‑〉
(/address〉
(IMG src="./images/renraku.gif''〉
</body〉 (/html〉
---(ここまで)—
・ NMZ.body.ja ・ NMZ.tips.jaの カ ス タ マ イ ズ
NMZ.body.jaにつ い ては 、 論 文 DBと 関 連 す る 検 索 例 を 小 口 が 用 意 し て 入 れ 替 え た。「フ ィ ー ル ド 指 定 の 検 索 」 は 今 回 使 用 し て い な い の で 説 明 を コ メ ン ト ア ウ ト し た 。
NMZ.tips.jaにつ いて も 同 様 に 検 索 例 を 用 意 す る 予 定 で ある が 、 現時 点 で は 変 更 を 加 え ていない。
<
NMZ.body.jaー カ ス タ マ イ ズ 後 : 検 索 例 関 連 の 行の み 抜き 出 し><H3)<A name="query‑term"〉単 一 単 語 検 索</A〉</H3〉
<P class="example"〉蝦 夷</P〉
<H3〉くAname="query‑and")AND検 索</A></H3〉
<P class="example"〉多賀 城 and胆 沢 城</P〉
<H3〉くAname=̲"query‑or"〉OR検 索</A〉</H3〉
<P class="example"〉徳丹 城 or志 波 城</P〉
<H3)<A name="query‑not") NOT検 索</A〉</H3〉
<P class="example"〉末期 古 墳 not陸 奥 国</P〉
<H3〉くAname="query・grouping">グル ー プ 化</A〉</H3〉
<P class="example"〉( 蕨 手 刀 or馬 具 ) and岩 手 not青 森</P〉
<H3〉くAname="query‑phrase"〉 フ レ イ ズ 検 索</A〉く/H3〉
<P class="example"〉(征夷将軍}</P〉
<H3)<A name="query‑substring"〉部 分 一 致 検 索</A〉</H3〉
<DT〉前 方 一 致 検 索<DD〉<codeclass="example">出羽*</code)(<code〉出 羽</code〉 か ら始 ま る 単 語 を 含 む 文 書 を 検 索 )
<DT〉中 間 一 致 検 索<DD)<code class="example"〉*国府*</code)(<code〉国府</code〉 を 内 包 す る 単 語 を 含 む 文 書 を 検 索 )
<DT〉後方 一 致 検 索<DD〉<codeclass="example"〉*柵</code〉(<code>柵</code〉 で 終 わ る単 語 を 含 む 文 書 を 検 索 )
<H3〉くAname="query‑regex"〉 正 規 表 現 検 索</A〉く/H3〉
<P class="example">/妙法?蓮[華花]経/くIP〉 ---(ここまで)—-一
b mknmzの 動 作 オ ブ シ ョ ン の 設 定
mknmzの 動 作の 設 定 は 、 設 定 フ ァ イ ル mknmzrcと コ マ ン ド ラ イ ン オ プ シ ョ ン で行う。 カ ス タ マ イ ズ し た mknmzrcは図44の namazuフ ォ ル ダ に 配 置 し た 。
・ mknmzrcの カ ス タ マ イ ズ
カ ス タ マ イ ズ し た の は 以 下 の 3箇所である。
#$ADDRESS='[email protected]'; → $ADDRESS=";
こ れ は 作 成 さ れ る イ ン デ ッ ク ス フ ァ イ ル に 含 ま れ る 連 絡 先 メ ー ル ア ド レ ス の 設 定 で あ る。 5) a参照。
$DENY̲FILE = ".dat";を追加
こ れ は イ ン デ ッ ク ス フ ァ イ ル 作 成 の 対 象 か ら 除 外 す る フ ァ イ ル の 指 定 で あ る 。 4) dの 33,,...., 35行 で 述 べ た 拡 張 子 datの フ ァ イ ル を 指 定 し た 。 デ フ ォ ル ト の ま ま で も 除 外 さ れ る が 、 念 の た め 指 定 し て お く 。
$TEMP LA TED IR = "F: ¥oguchi̲local¥ezo̲ db¥namazu¥tem plate";を追加。 図44参照。
・ mknmzの コ マ ン ド ラ イ ン オ プ シ ョ ン
作 成 す る イ ン デ ッ ク ス フ ァ イ ル の 対 象 を 図44の dataフォルダとする。
‑0オ プ シ ョ ン で 、 作 成 す る イ ン デ ッ ク ス フ ァ イ ル の 置 き 場 所 を 図44の indexフ ォ ル ダ
(あらかじめ作成しておく)に指定する。
‑Tオ プ シ ョ ン で 、 使用 するテン プ レ ー トフ ァイ ル を 図44の templateフ ォ ルダ の も の と 指定する。
‑fオ プ シ ョ ン で 、 読 み 込 む mknmzrcの 位 置 を 図 44の も の と 指 定 す る 。
イ ン デ ッ ク ス フ ァ イ ル の 作 成 結 果 と 作 成 エ ラ ー の 結 果 を 図44の namazuフ ォ ル ダ に そ れ ぞ れ mknmz.log・ mknmz_err.log とい う名称で出力するように指定 (1〉 • 2〉)。
カ レ ン ト フ ォ ル ダ を F:¥oguchi̲local¥ezo̲dbと し た 場 合 、 コ マ ン ド ラ イ ン で 以 上 の オ プ シ ョ ン を記 述 す る と 次のようになる。
mknmz.¥data ‑0.¥namazu¥index ‑T.¥namazu¥template ‑f.¥namazu¥mknmzrc 1)
.¥namazu¥mknmz.log 2〉.¥namazu¥mknmz̲err.log
C イ ン デ ッ ク ス フ ァ イ ル 作 成 ま で の 作 業 の 自 動 化
バ ッ チ フ ァ イ ル ezo̲db.batを作成し、 ezo̲dbフォルダに配置した。
4) aの デ ー タ を ド ラ ッ グ & ド ロ ッ プ す る と 4) dの ス ク リ プ ト pre.plと5) bのコ マ ン ド ラ イ ン オ プ シ ョ ン を 付 加 し た mknmzを一括して実行する。
・ ezo̲db.batの 詳 細
<
ezo̲db.bat>
1: @echo off 2: F:
3: cd F:¥oguchi̲local¥ezo̲db¥tool 4: perl pre.pl %1
5: cd..
6: mknmz .¥data ‑0.¥namazu¥index ‑T.¥namazu¥template ‑f.¥namazu¥mknmzrc 1) .¥namazu¥mknmz.log 2〉.¥namazu¥mknmz̲err.log
7: gcnmz ‑b.¥namazu¥index
-(ここまで)—-一
d
n a m a z u . c g i . e x e
の 設 定使 用 す る の が namazu.exeで あ れ ば 、 設 定 は namazurcや コ マ ン ド ラ イ ン オ プ シ ョ ン で 行 う 。 し か し 今 回 使 用 す る の は ウ ェ ブ 上 で cgiと し て 動 作 さ せ る た め の namazu.cg1.exe で あ る の で 、 設 定 は 同 じ フ ォ ル ダ に 置 く .namazurc(namazurcの 名 前 を 変 え て 作 成 ) で 行
う。
・.namazurcの カ ス タ マ イ ズ し た の は 以 下 の 4箇所。
カ ス タ マ イ ズ し た の は 以 下 の 4箇所である。
Index F:¥oguchi̲local¥ezo̲db¥namazu¥index
検 索 対 象 に す る イ ン デ ッ ク ス フ ァ イ ル を 指 定 し た 。 図44参照。
Replace/F¥ I /oguchi̲local/ezo̲db/data/¥d¥d¥d/
http://ateruiふhosei.ac.jp/oguchi/search/result.cgi?
ateruiのFド ラ イ ブ の デ ー タ を ウ ェ ブ 上 で 表 示 さ せ る た め の 設 定 。 図44の デ ー タ フ ォ ル ダ を 図 45‑2の ateruiサ ー バ ー 上 か ら 読 み 込 め る よ う に 設 定 。 「result.cgi?」 と は 、 検 索 で
ヒ ッ ト し た フ ァ イ ル 名 を 6) の result.cgiに 渡 す た め の 仕 組 み で あ る。 Langja̲JP. eucJP
表 示 す る 日 本 語 コ ー ド を シ フ ト JISから EUCに 変 更 し た。 EmphasisTags "(strong class=¥"keyword¥"〉" "</strong〉"
検索でヒ ット し た キ ー ワ ー ド を 強 調表 示 す る設 定。もともとコメ ント ア ウ ト し て い たの を有効にした。
※以下の 行 の コ メ ン ト ア ウ ト を 外 して し ま う と、 カ ス タ マ イ ズ し たテンプレートより もこ ち ら が 優 先 さ れ て しまう の で 、 変 更 を加えてはならない。
# Template C:¥namazu¥share¥namazu¥template
6)検 索 結 果 の 加 工 表 示
表5の よ う に一つの レ コ ー ド は二つのファ イ ル に 分 け ら れ て い る。よって検 索 し て ヒ ッ ト し た デ ー タ に つ い て 結 合 を 行 う 必 要 が あ る 。 さ ら に そ れ を HTML形 式 で 出 力 し て ウ ェ ブ ブ ラ ウ ザ で表 示さ せ る 仕 組 み が 必要 と な る 。 そ こでその た め の ス ク リプト result.cgi を Perlで 作 成 し 図45‑1の フ ォ ル ダに配置した。
a result.cgiの詳細
<
result.cgi>
001: #!/usr/local/bin/per 1 002:
003: # result̲0944.cgi 004: .
005: $nmzcgi = "namazu.cgi.exe"
0 0 6: $nmzcgiop
"&whence=O&max=20&result=normal&sort=field:uri:ascending" ; 007: $nmzheadja = "F:/oguchi̲local/ezo̲db/namazu/index/NMZ.head.ja" ;
008: $nmzfootja = "F:/oguchiぷlocal/ezo̲db/namazu/index/NMZ.foot.ja"; 009: $resultcgi = "result.cgi" ;
010:
011: $buffer= $ENV{'QUERY̲STRING'} ; 012: $buffer =‑s/query=// ;
=
013: @folder= split (/./,$buffer) ;
014: $read̲url = "F:/oguchi̲local/ezo̲db/data/@folder [O] /$buffer" ; # aterui 015:
016: open (INPUTO,"($nmzheadja") 017: while ($line0 = (INPUTO〉) 018: chomp $1ine0 ;
019: push @nmzhead, (grep (/(!‑‑FILE ‑‑)/,$line0)) 020: push @nmzhead, (grep (/(!‑‑KEY‑‑〉/,$line0)) 021: push @nmzhead, (grep (/(!‑‑DATE ‑‑)/,$line0)) 022: }
023: close (INPUTO)
024: $nmzhead [O] = s/(!‑‑FILE ‑‑)//g; 025: $nmzhead [1] = s/(!‑‑KEY‑‑〉Ilg; 026: $nmzhead [2] = sl(!‑‑DATE‑‑〉Ilg; 027: open (INPUT1,"($read̲url")
028: $linel = (INPUTl〉 029: chomp;
030: @inputl = split (/,l,$linel) 031: close (INPUTl) ;
032: open (INPUT2,"($read̲url.dat") 033: $line2 = (INPUT2)
034: chomp;
035: @input2 = split (/,l,$line2) 036: close (INPUT2) ;
037: open (INPUT9,"($nmzfootja") 038: while ($line9 = (INPUT9〉) { 039: chomp $line9 ;
040: push @nmzfoot, (grep (/(!‑‑VERSION ‑‑)l,$line9)) 041: }
042: close (INPUT9)
043: $nmzfoot [O] = sl(!‑‑VERSION‑‑〉Ilg;
044:
045: print "Content‑type: text/html¥n¥n" ;
046: print "<!DOCTYPE HTML PUBLIC ¥"‑//W3C//DTD HTML 4.01 Transitional/IE買 "〉¥n¥n"
047: print "<HTML lang=¥"ja¥"〉¥n";
048: print "<HEAD〉¥n";
049: print "<TITLE〉Result<ITITLE〉¥n";
050: print "<META http‑equiv=¥"Content‑Type¥" content=¥"text/html; charset=EUC‑JP¥"〉¥n";
051: print "<LINK rel=¥"stylesheet¥" href=¥"../result.css¥" type=¥"text/css¥"〉¥n";
052: print "<!HEAD〉¥n¥n";
053: print "<BODY〉¥n";
054: print "<Hl〉古 代 北 方 史 関 係 研 究 文 献 目 録 デ ー タ ベ ー ス</Hl〉¥n";
055: print "<P〉正式名称:「蝦夷(エミ シ ・ エ ビ ス ・ エ ゾ ) 」 を 中 心 と し た 東 北 〜 北 方 史 関 係 研 究文 献 目 録 デ ー タ ベ ー ス (稿)</P〉¥n";
056: print "<HR)¥n" ;
057: print "<P)<STRONG〉Namazuによる 全 文 検 索 シ ステム</STRONG〉</P〉¥n";
058: print "<P〉現在、$nmzhead[O]の 文 書 が イ ン デ ッ ク ス 化 さ れ 、 $nmzhead[1]個 の キ ー ワ ードが登録されています。 </P〉¥n";
059: print "<P〉くSTRONG>インデックスの最終更新日:$nmzhead[2] <tSTRONG〉</P〉¥n";
060: print "<HR〉¥n"; 061: print "<P〉¥n";
062: print "<FORM method=¥"GET¥" action=¥"$nmzcgi¥"〉¥n";
063: print "<STRONG〉検索 式:</STRONG)¥n";
064: print "<INPUT type=¥"text¥" name=¥"query¥" size=¥"40¥"〉¥n";
065: print "<INPUT type=¥"submit¥" value=¥"Search!¥")¥n";
066: print "<INPUT type=¥"hidden¥" name=¥"whence¥" value=¥"0¥"〉¥n";
067: print"<!‑‑<input type=¥"hidden¥" name=¥"idxname¥" value=¥"foobar¥"〉。">¥n";
068: print "<A href=¥"$nmzcgi¥")[検索方法]<IA〉¥n";
069: print "<tP〉¥n"; 070: print "<P〉¥n";
071: print "<STRONG>表 示件 数</:STRONG〉¥n";
072: print "<SELECT name=¥"max¥"〉¥n";
073: print "<OPTION value=¥"10¥"〉10¥n";
074: print "<OPTION selected value=¥"20¥"〉20¥n";
075: print "<OPTION value=¥"30¥"〉30¥n";
076: print "<OPTION value=¥"50¥"〉50¥n";
077: print "<OPTION value=¥"100¥")100/¥n";
078: print "</SELECT〉¥n";
079: print "<STRONG〉表示形式:</STRONG〉¥n";
080: print "<SELECT name=¥"result¥"〉¥n";
081: print "<OPTION selected value=¥"normal¥"〉標準¥n";
082: print "<OPTION value=¥"short¥">簡潔¥n";
083: print "</SELECT〉¥n";
084: print "<STRONG〉ソート:</STRONG)¥n";
085: print "<SELECT name=¥"sort¥"〉¥n";
086: print "<OPTION value=¥"score¥"〉スコア¥n";
087: print "< OPTION value=¥"field:subject:ascending¥"〉題名(昇順)¥n";
088: print "< OPTION value=¥"field:subject:descending¥"〉題名 (降順)¥n";
089: print "<OPTION selected value=¥"field:uri:ascending¥"〉発表年度(昇順)¥n";
090: print "<OPTION value=¥"field:uri:descending¥"〉発表年度(降順)¥n";
091: print "</SELECT〉¥n";
092: print "<IP〉¥n";
093: print "<!FORM〉¥n";
094: print "No.@input2 [O] " ;
095: print "<P〉執筆者: "; $word= @inputl [O] ; &link̲word;
096: if (@input2 [6] == 1111) { print 1 1 (@input2 [6]) 11; } #(ふりがな)
097: print 11</P〉¥n<H3〉論文名: @inputl [ 1] <JH3〉¥nll;
098: print 11<TABLE width=¥11100%¥11 border=¥112¥11 summary=¥"検索結果: No.@input2[O] ¥11)
¥n<TBODY〉¥nll;
099: print 11<TR〉";print 11<TH width=¥1115%¥">掲 載 誌 等<TD〉 " ; $word = @inputl [2]
&link̲word ; print 11</TR〉¥nll;
100: print 11<TR〉";print 11<TH width=¥1115%¥">巻 号<TD〉 @input2 [1] <JTR〉¥nll; 101: print 11<TR〉";print 11<TH width=¥1115%¥">刊行年月<TD〉 @input2 [3] <JTR〉¥nll; 102: print 11<TR〉";print 11<TH width=¥"15%¥"〉編 ・ 著<TD〉 @input2 [2] <JTR)¥n11 ; 103: print 11<TR〉";print "<TH width=¥"15%¥"〉出 版 社<TD〉 @inputl [5] <JTR)¥n11 ;
104: print "(TR〉";print "(TH width=¥"15%¥"〉特 集<TD〉 " ; $word = @inputl [3]
&link̲ word ; print "(/TR〉¥n";
105: print "(TR〉";print "(TH width=¥"15%¥"〉別 誌 名等<TD〉 " ; $word = @inputl [4]
&link̲word; print "(/TR〉¥n";
106: print "(TR〉";print"〈THwidth=¥"15%¥"〉所 収 ・ 再 録書名<TD〉 " ; $word = @inputl [9] ; &link̲word; print "(/TR〉¥n";
107: print "(TR〉";print "(TH width=¥"15%¥"〉改題 ・改稿<TD〉 @inputl [10] (/TR〉¥n";
108: print "(TR〉";print "(TH width=¥"15%¥"〉参照 No.(TD〉 " ; $num = @input2 [ 4]
&link̲num; print "(/TR〉¥n";
109: print "(TR〉";print "(TH width=¥"15%¥"〉備考<TD〉 " ; $word = @inputl [6]
&link̲word; print "(/TR〉¥n";
110: print "(TR〉";print "(TH width=¥"15%¥"〉キーワー ド<TD〉 " ; $word = @inputl [7]
&link̲word; print "(/TR〉¥n";
111: print "(TR〉";print "(TH width=¥"15%¥"〉史料<TD〉 ;" $word = @inputl [8]
&link̲word; print "(/TR〉¥n";
112: print"〈TR〉";print "(TH width=¥"15%¥"〉対 象 地 域<TD〉 " ; $word = @inputl [12]
&link̲word; print "(/TR〉¥n";
113: print "(TR〉";print "(TH width=¥"15%¥">既成目録<TD〉 ;" $word = @inputl [11]
&link̲word; print "(/TR〉¥n";
114: print "(TR〉";print "(TH width=¥"15%¥"〉版本データNo控 <TD〉 @input2 [7] (/TR〉¥n"
115: print"〈TR)"; print "<TH width=¥"15%¥"〉漢字注記<TD〉 @input2 [5] <tTR〉¥n";
116: print "<ITBODY〉¥n<tTABLE〉¥n";
117: print "<P〉 <A href=¥"../index.htm¥"〉(ト ップに戻る】</A〉く/P)¥n";
118: print "<HR)¥n";
119: print "<P〉¥n";
120: print"この 全 文 検 索 シ ス テ ム は くSTRONG〉<a href=¥"http://www.namazu.org/¥"〉 Namazu<tA〉$nmzfoot[O] <tSTRONG〉¥n"によって構築されています。" ;
121: print "<IP〉¥n";
122: print "<ADDRESS)<IM G src=¥"./images/renraku.gif¥"〉く/ADDRESS〉"; 123: print "<IBODY)¥n" ;
124: print "</HTML〉¥n";
125:
126: sub link̲ word {
121: $word = s/
I I ; I I I I
lg ; 128: @word = split (/ I /,$word) 129: @linkw = () ;130: foreach $i (@word) { 131: $str = $i ;
132: $str = s/ ([ A¥w]) /'%'.unpack ("H2",$1) leg; 133: $str = tr/ /+/ ;
134: if ($i ne "
I I " ) {
push @linkw,"<A href = ¥"$nmzcgi?query=$str$nmzcgiop¥"〉$i<IA〉"; } 135: else { push @linkw,$i ; }136: }
137: $linkwjoin =join("
I
",@linkw) 138: $linkwjoin = s/I I I I / I I
/g; 139: print "$linkwjoin" ;140: } 141:
142: sub link̲num {
143: $num = s /
I I / I I I I
/g ; 144: @num = split (/I
/,$num) 145: @linkn = () ;146: foreach $i (@num) { 14 7: $folder = int ($i / 1000)
148: $folder03d = sprintf ("%03d",$folder) 149: $file= $i % 1000 ;
150: $file03d = sprintf ("%03d",$file)
151: push @linkn,"<A href = ¥"$resultcgi?query=$folder03d‑$file03d.htm¥"〉$i<JA〉"; 152: $linknjoin =join("
I
",@linkn)153: $linknjoin = sf
I I I I
II I
lg ; 154: }155: print "$linknjoin" ; 156: }
157:
158: exit ;
‑‑‑(ここまで)___
7)補 助 的 バ ッ チ フ ァ イ ル の 作 成
ezo̲db̲backup.batを作成し、図44の toolフ ォ ル ダ に 配 置 し た 。 ダ ブ ル ク リ ッ ク す れ ば 、 図44の backupフ ォ ル ダ に 今 ま で 述 べ て き た 各 種 設 定 フ ァ イ ル の バ ッ ク ア ッ プ を 取 る よ う に な っ て い る。
<
ezo̲db̲backup.bat>
@echo off F:
cd F:¥oguchi̲local¥ezo̲db¥backup copy.. ¥namazu¥template¥*.ja copy.. ¥namazu¥mknmzrc copy.. ¥namazu¥*.log copy.. ¥tool¥pre.pl copy.. ¥tool¥*.bat copy.. ¥ezo̲db.bat copy.. ¥.. ¥*.bat
copy.. ¥.. ¥.. ¥oguchi¥search¥.namazurc copy.. ¥.. ¥.. ¥oguchi¥search¥result.cgi copy.. ¥.. ¥.. ¥oguchi¥*.htm
---(ここまで)—-一
また、その逆の動作をする、 ezo̲db̲resore.batも 同 じ フ ォ ル ダ に 作 成 し て 配 置 し た 。
<
ezo̲db̲resore.bat>
@echo off F:
cd F:¥oguchi̲local¥ezo̲db¥backup copy *.ja.. ¥namazu¥template copy mknmzrc.. ¥namazu