全文検索エンジンHyper Estraier導入

第十九回


さて,先日の続きである.研究室に論文PDFを閲覧できるWebサーバを設置したわけだが,その論文PDFは色々な学会ごとに分けられている.さらに,それぞれの学会のIndexページが存在し,そこから論文PDFへのリンクが張られているといった感じだ.これだと,自分が見たい論文がどの学会で何年に発表されたか分かっている場合は一本道で論文までたどり着ける.しかし,論文タイトルだけ分かっているとか,誰々が書いたってことだけは分かっているとか,「検索スコアリング」に関する論文が欲しいといった要求に答えることはなかなか難しい.


そこで,今回は大量の論文PDFから全文検索の機能を追加する.検索対象は各論文PDFファイルとして,全文検索エンジンにはHyper Estraierを利用した.これは,N-gram法を拡張したN・M-gram法を用いたindexingにより,もれのない全文検索を実現している.また,文書ドラフトという文書とインデックスの中間ファイルを読み取ることができるので,論文本文だけではなくタイトルや著者からも検索できるようになる.ちなみに,作者の平林幹雄氏は私と同じ2月11日生まれということで妙な親近感を覚えた(笑)すばらしいソフトを使わせていただいて多謝.

続きを読む

Hyper Estraier Rubyクラスライブラリ

第二十回


全文検索エンジンHyper Estraierをインストールしたわけだが,これをRubyから操作できるようにRubyクラスライブラリもインストールする.Rubyクラスライブラリには二つあり,「RubyNativeAPI」はRubyからHyper Estraierのデータベースを読んだり書き込んだりできるものだ.主に,文書の登録や検索を行うことができる.「RubyPureAPI」も同じくRubyからHyper Estraierを操作できるが,こちらはHyper EstraierP2P機能を操作するためのもので,主にノードサーバの管理やノードサーバへの文書の登録,各ノードからの文書の検索などが行える.

続きを読む