全文検索エンジンとして有名な Hyper Estraier を調べた。
Hyper Estraier を選んだのは、Namazu に不満があるからだ。それは、Unicode を扱えない、ということである。Faure の é も、Dvořak の ř も扱えないのが残念だからだ。 Hyper Estraier なら扱える。もう一つの不満は、Namazu が長い間最新版が更新されないということなのだが、これは Hyper Estraier も同様である。 本当は、私のホームページの程度の小規模な WEB ページを扱えるぐらいで設置が簡単なシステムがいいのだが、私の力ではなかなか見つけられなかった。
まず、Hyper Estraier が WSL2 Ubuntu 22.04 にインストールできるかどうかを調べた。
(Hyper Estraier の)イントロダクション(dbmx.net) には次の注意書きがある。
Hyper Estraierは、以下のライブラリを利用しています。予めそれらをインストールしておいてください。
- libiconv : 文字コード変換。バージョン1.9.1以降(glibcにも同梱)。
- zlib : 可逆データ圧縮。バージョン1.2.1以降。
- QDBM : 組み込み用データベース。バージョン1.8.75以降。
libiconv と zlib は(たぶん)大丈夫だ。QDBM はいくつかの場所にある。 QDBM: Quick Database Manager(dbmx.net) から入手できる。 sourceforge にある QDBM (https://sourceforge.net/projects/qdbm/) はバージョン 1.8.77 なのでこちらは使わないように注意すること。tar.gz をダウンロードし、解凍したディレクトリで下記を行う。
$ ./configure --enable-zlib
正常に終わったようだ。ビルドしてみる。
$ make
いくつか警告は出るがコンパイルできた。次にテストをしてみる。
$ make check (中略) .make: *** [Makefile:311: check] Segmentation fault (コアダンプしました)
QDBM は大丈夫なのだろうか。不安になってきた。それでもインストールしてみる。
$ sudo make install
(中略)
#================================================================
# Thanks for using QDBM.
#================================================================
Hyper Estraier のバージョンは 1.4.13. である。
$ ./configure
正常に終わったようだ。ビルドしてみる。
$ make #================================================================ # Ready to install. #================================================================
テストはどうか。
$ make check (中略) make: *** [Makefile:276: check] Segmentation fault (コアダンプしました)
やはり QDBM のテストで core dump が出たのは失敗だったのだろう。だから同じことがおきたのだ。
こんなページがあったので残しておく。
Oralce Linux8上でHyper Estraier/QDBMがコアダンプし動作しない (blog.osakana.net)
次のページもリンクを張っておく。
Debian 11 インストール・メモ(real-apple.sakura.ne.jp)
結局、QDBM はコンパイルせずに、Debian 11 インストール・メモのとおり、deb パッケージをインストールした。その結果、QDBM のコアダンプはなくなり、 また Hyper Estraier のコアダンプもなくなった。
上記イントロダクションに沿って、テストをできる環境を整える必要がある。読んでいくと、このようにある。
これで準備はOKです。Webブラウザで、「http://www.estraier.ad.jp/cgi-bin/estseek.cgi」にアクセスしてみてください。
ここではたと気づいた。私は WSL2 上でウェブサーバーを立てる方法を知らない。 Webブラウザで、「http://www.estraier.ad.jp/cgi-bin/estseek.cgi」にPython でプログラムを書けば動くのかもしれない。どこかでそんな記事を見た気がする。 しかし、それでいいのだろうか。少し考えて、Windows 11 で使ったことのある XAMPP を使うことを考えた。XAMPP のページを見てダウンロードした。
$ sudo ./xampp-linux-x64-8.2.12-0-installer.run
すると画面にインストール状況が反映される。私は WSL2 は CUI でしか動かしたことがなかったので、グラフィックスが出てきたのには驚いた。
さて無事にインストールができて、launch するか、と尋ねられたので Yes とすると画面が表示された。画面には次の3つのタブ
がある。デフォルトでは最初のタブが選ばれ表示されている。この画面には、次の 4 つのボタンがある。
ところが、どのボタンをクリックしても反応しない。困った。
仕方がないので、GUI ではなく、CUI でやってみる。
$sudo /opt/lampp/lampp start Starting XAMPP for Linux 8.2.12-0... XAMPP: Starting Apache...already running. XAMPP: Starting MySQL...already running. XAMPP: Starting ProFTPD...already running.
ここで Windows 11 からブラウザを立ち上げ、 URL に http://localhost/ と入れてみると、自動的に http://localhost/dashboard/ にページが推移して、 Welcome to XAMPP の画面が出てくる。
さて、この画面を、テストしたい htdocs に割り当てるにはどうしたらいいのだろうか。少し考えよう。
まりんきょ学問所> コンピュータの部屋> 全文検索システム Hyper Estraier