CSVファイルを使って全文検索できるようにしました

源氏物語の世界 再編集版で提供している情報をCSV形式に変換し、これを使って全文検索できるようにしたので、ここで紹介します。
全文検索プログラムは以下の2種類があります。ただし、どちらもInternet Explorer限定です。あしからず。
名称リンク説明
簡易検索ページ Web上で直ちに実行
(viewText.html)

本文・現代語訳・与謝野晶子訳に対する簡単な検索機能を持っています。
左のリンクをクリックすると、その検索ページに移動し、直ちに検索できるようになります。
ただし、ブラウザにはInternet Explorerをデスクトップモードで互換機能を有効にしてご利用ください。
詳細はこちら
全文検索プログラム ダウンロード
(csv.zip)
強力な検索機能を持つ全文検索プログラムです。マイクロソフトから無償提供されているJet/ACEデータベースエンジンを使って実現しています。
左のリンクからダウンロードし、任意のフォルダに解凍したのち、「SearchGenji」フォルダ内にある「SearchGenji.hta」をダブルクリックして実行してください。
この「SearchGenji」フォルダには、すべてのCSVファイルも含まれています。
詳細はこちら

 


CSV形式の再編集版について

源氏物語の世界 再編集版で提供している情報をCSV形式に変換してみました。

CSV形式にすると、いろいろなプログラムで読み込んでデータを処理することが出来るようになります。例えば、以下のようなことができるようになります。

変換したCSVファイルと、それを使ったプログラムには、以下のものがあります。
これらのCSVファイルのダウンロードには全文検索プログラムのダウンロードをご利用ください。全文検索プログラムとすべてのCSVファイルを一括してダウンロードできます。

分類項目 ファイル名 データ形式・プログラム概要 備考
CSVファイル 本文text.csv 帖,章,段,行,"内容" 再編集プログラム
によって、機械的に
作成されるファイル
です。
日本語訳version.csv 帖,章,段,行,"内容"
ローマ字版romaji.csv 帖,章,段,行,"内容"
("内容"の中にダブルクォート(")やコンマ(,)がある場合、
これらはそれぞれ「"」「,」に変換されています。)
注釈notes.csv 帖,章,段,行,注釈番号,状態,"見出し","注釈"
出典source.csv 帖,章,段,行,出典番号,"見出し","引用文","出典"
校訂revice.csv帖,章,段,行,校訂番号,"見出し","校訂"
目次mokuji.csv種別,帖,章,段,"タイトル"
目次(英語)mokujiEnglish.csv種別,帖,章,段,"タイトル"
帖一覧books.csv帖,"タイトル"
章一覧chapters.csv帖,章,"タイトル"
段一覧paragraphs.csv帖,章,段,"タイトル"
挿絵sashie.csv帖,章,段,行,"ファイル名"
和歌waka.csv帖,章,段,行_上の句,行_下の句
登場人物person.csv帖,登場人物,読み,呼称,備考
著作権copyright.csv帖,種別,"著作権"
與謝野晶子訳yosano.csv帖,章,段,行,"内容"
プログラム 簡易検索ページviewText.html本文・現代語訳・与謝野晶子訳のCSVファイルを読むための
プログラムで、簡単な検索機能付きです。
インストール不要で簡単に使えます。
 
全文検索プログラムsearchGenji.htaJet/ACEデータベースエンジンを使った全文検索プログラムです。
本文、現代語訳、與謝野晶子訳の他に、注釈、出典、校訂、
和歌なども検索できます。
全文検索プログラムの
インストール用ツール
VersionCheck.wsf前提プログラムのバージョンチェック 全文検索プログラムのインストール作業で使用するツールです。
mkGenji.mdb.byDAO.wsf
mkGenji.mdb.byAccess2000.wsf
全文検索用データベース作成ツール
呼称登場個所
調査用ツール
PersonReference.wsf呼称登場個所調査結果のうち、PersonReference.csv、ReferredPersonAs.csv、ReferredPerson.csvの3つのファイルを自動生成するツールです。
このツールの実行後に全文検索用データベース作成ツールを実行すると、このツールの実行結果もデータベースに格納されます。
 


簡易検索ページ

上の一覧表で示したCSVファイルのうち、本文・現代語訳・与謝野晶子訳のCSVファイルを検索するための簡易検索ページ(viewText.html)を作りました。
このページはHTMLとJスクリプトで書かれており、Internet Explorer 5.01以降がインストールされていれば実行できます。

検索結果の一例を以下に示します。
ちなみに、この検索にかかった時間は数秒でした。 (cerelon 1060MHz メモリ384MBのマシンで実行した場合)


源氏物語の世界 再編集版 全文検索プログラム

Jet/ACEデータベースエンジンを使った全文検索プログラム(SearchGenji.hta)も作ってみました。下のボタンを押してダウンロードし、任意のフォルダに解凍したのち、「SearchGenji」フォルダ内にある「SearchGenji.hta」をダブルクリックして実行してください。

全文検索プログラムとCSVファイルの一括ダウンロード:

CSVファイル全体を条件検索する簡単なものですが、データベースエンジンを使っているので、SQLを使って強力な検索が出来ます。
反面、検索時間は簡易検索に比べると多少長くなります。

下図は、上の簡易検索ページの画面例と同じ条件で検索してみたものです。
本文で検索した結果に対して、現代語訳や與謝野晶子訳、ローマ字版を結合して対照表示されます。もちろん、現代語訳や與謝野晶子訳、ローマ字版などを検索することもでき、その場合も、このように、4者対照表示されます。

  • 検索が終わると、検索ボタンの右には、検索に使用したSQLと検索結果行数が表示されます。
  • 検索結果中で指定された語句に一致する部分は黄色で表示されます。この例にはありませんが、同じ語句が現代語訳や与謝野晶子訳にも現れる場合、これらの役の中の語句も黄色で表示されます。
  • 検索結果の左端の帖番号、章番号、段番号、行番号は、それぞれ、細目次ページの帖見出し、章単位ページの章見出し、段単位ページの段見出し、段単位ページの対応する行、へのリンクになっています。また、帖番号、章番号、段番号の上でマウスカーソルをとめると、帖名、章名、段落名がツールチップで表示されます。

検索対象で「本文(注釈付)」を選ぶと、本文と現代語訳の間に注釈も対称表示されます。他に、「本文(出典付)」「本文(校訂付)」「本文(登場人物付)」もあります。


  • 検索対象で「本文(注釈付)」を選ぶと、本文で検索した結果の各行に対して、注釈が付加されていれば、その注釈を本文と現代語訳の間に表示します。
  • 似た機能に検索対象で「注釈」を選んだ場合があります。この場合は、注釈を検索した結果に対して、関連する本文や現代語訳などを結合したものです。
  • なお、検索対象で「注釈」を選んだ場合、検索対象に「注釈見出し」は含まれません。注釈を検索する場合は、「注釈」と「注釈見出し」を区別して検索する必要があります。
  • 付加された注釈の見出しと同じ語句が、本文や現代語訳などに現れると、その部分を薄い黄色で表示します。ただし、薄い黄色で表示されるのは、注釈見出しと完全に一致するもの(状態=1のもの)だけとなります。HTML版で本文と注釈が正しくリンクされるものであっても、完全には一致しないもの(状態=3のもの)は、全文検索プログラムではマークされずに残ってしまいます。

画面例をもう一つ紹介しましょう。

検索対象には、本文、現代語訳、與謝野晶子訳、ローマ字版の他に、注釈、出典、校訂、登場人物、和歌なども指定できます。そして、指定した検索対象によって、検索結果の列の並びも変わってきます。次の画面例は、出典で検索した場合の例です。

この結果、本文、注釈、出典、校訂、登場人物、和歌、現代語訳、与謝野晶子訳、ローマ字版などのさまざまなデータを、このプログラムで検索できるようになりました。

最後に、検索対象に指定できる項目を以下に示します。

検索対象 キー項目 使用クエリ 検索結果項目の並び
本文(注釈付) 本文 本文注釈付検索クエリ 帖,章,段,行,注釈番号,状態,本文,注釈見出し,注釈,現代語訳,與謝野晶子訳,ローマ字版
本文(出典付) 本文 本文出典付検索クエリ 帖,章,段,行,出典番号,本文,出典見出し,出典引用文,出典,現代語訳,與謝野晶子訳,ローマ字版
本文(校訂付) 本文 本文校訂付検索クエリ 帖,章,段,行,校訂番号,本文,校訂見出し,校訂,現代語訳,與謝野晶子訳,ローマ字版
本文 本文 本文検索クエリ 帖,章,段,行,本文,現代語訳,與謝野晶子訳,ローマ字版
現代語訳 現代語訳 現代語訳検索クエリ 帖,章,段,行,本文,現代語訳,與謝野晶子訳,ローマ字版
與謝野晶子訳 與謝野晶子訳 與謝野晶子訳検索クエリ 帖,章,段,行,本文,現代語訳,與謝野晶子訳,ローマ字版
ローマ字版 ローマ字版 ローマ字版検索クエリ 帖,章,段,行,本文,現代語訳,與謝野晶子訳,ローマ字版
注釈見出し 注釈見出し 注釈検索クエリ 帖,章,段,行,注釈番号,状態,本文,注釈見出し,注釈,現代語訳,與謝野晶子訳,ローマ字版
注釈 注釈 注釈検索クエリ 帖,章,段,行,注釈番号,状態,本文,注釈見出し,注釈,現代語訳,與謝野晶子訳,ローマ字版
注釈状態 注釈状態 注釈検索クエリ 帖,章,段,行,注釈番号,状態,本文,注釈見出し,注釈,現代語訳,與謝野晶子訳,ローマ字版
出典見出し 出典見出し 出典検索クエリ 帖,章,段,行,出典番号,本文,出典見出し,出典引用文,出典,現代語訳,與謝野晶子訳,ローマ字版
出典(引用文) 出典(引用文) 出典検索クエリ 帖,章,段,行,出典番号,本文,出典見出し,出典引用文,出典,現代語訳,與謝野晶子訳,ローマ字版
出典(文献) 出典(文献) 出典検索クエリ 帖,章,段,行,出典番号,本文,出典見出し,出典引用文,出典,現代語訳,與謝野晶子訳,ローマ字版
校訂見出し 校訂見出し 校訂検索クエリ 帖,章,段,行,校訂番号,本文,校訂見出し,校訂,現代語訳,與謝野晶子訳,ローマ字版
校訂 校訂 校訂検索クエリ 帖,章,段,行,校訂番号,本文,校訂見出し,校訂,現代語訳,與謝野晶子訳,ローマ字版
和歌 本文 和歌一覧注釈付クエリ 帖,章,段,行,注釈番号,本文,注釈,現代語訳,ローマ字版

Access 2003のセキュリティの警告

全文検索用データベースファイル(Genji.mdb)をAccess 2003などで開こうとすると、以下のようなセキュリティの警告が表示されることがあります。

「詳細」ボタンをクリックしてヘルプを読んでみると、「マクロ、Visual Basic for Applications (VBA) コード、ActiveX コントロールを含むフォームやレポート、アクション クエリ、データ定義クエリ、パススルー クエリ、または更新クエリが検出された場合に、警告が表示されます。」とのことです。このファイルには、このどれも含まれていませんので、このメッセージが出てくること自体が不可解ですが、問題はありませんので、そのまま、「開く」ボタンをクリックして先に進んでください。

なお、この警告が表示されないように設定変更するには、Access 2003の「マクロのセキュリティレベル」を「低」に設定する必要があるようです。 その方法は、「詳細」ボタンをクリックしてヘルプに記載されています。参考のため、そのヘルプの主要部分のハードコピーを以下に示します。


前提プログラムのインストール方法

この全文検索プログラムは、Internet Explorerなど、いくつかのプログラムを必要とします。 これらのプログラムはマイクロソフトから無償で配布されているので、以下の方法でインストールしてください。

1.前提条件

前提プログラム 備考
Internet Exploror(IE)6.0SP1以降
Windows XP以降にはIE 6.0以降が標準でインストールされています。
Microsoft Data Access Component(MDAC)2.7以降、
または、
Windows Data Access Component(WDAC)
MDAC Windows XPにはMDAC 2.7〜2.8が標準でインストールされています。
WDAC Windows Vista/7/8/8.1にはWDACが標準でインストールされています。
Microsoft Jet 4.0 データベース エンジン(Jet DBエンジン)、
または、
Microsoft Access データベース エンジン(ACE DBエンジン)
Jet DBエンジン Windows XPにはJet 4.0 SP8が標準でインストールされています。
Windows Vista以降は標準ではインストールされていない場合がありますが、Microsoft Access 2003をインストールすると一緒にインストールされます。
インストールされていない場合で、Accessの無いMicrosoft Office 2003をインストール済みの場合は、Microsoftのダウンロードサイトで無償配布されている「Jet 4.0 SP8」をダウンロード&インストールしてご利用ください。
ACE DBエンジン 標準ではインストールされていませんが、Microsoft Access 2007以降をインストールすると一緒にインストールされます。
インストールされていない場合は、Microsoftのダウンロードサイトで無償配布されている「Microsoft Access データベース エンジン」をダウンロード&インストールしてご利用ください。
ただし、32bit版と64bit版がありますが、Accessの無いMicrosoft Officeをインストール済みの場合は、Officeと同じ版をインストールする必要があります。
例えば、64bit版のWindowsに32bit版のOfficeをインストール済みの場合は、データベース エンジンも32bit版をインストールする必要があります。
また、Officeの代わりに無償のWord Viewer/Excel Viewer/Powerpoint Viewerをインストール済みの場合も、32bit版をインストールする必要があります。

2.前提プログラムのバージョンの確認方法

前提プログラムのバージョンを確認するプログラムを作りました。SerachGenjiフォルダの中に入っているVersionCheck.batを実行すると、その実行結果によって、バージョンを確認できます。

実行結果 判定
正常に終了し、以下のような画面を表示する。
すでに、前提プログラムはインストールされています。
「DAO.DBEngineオブジェクトを作成できません」というエラーになる。 データベース エンジンがインストールされていません。
Microsoftのダウンロードサイトからダウンロード&インストールしてください。

 



以上