はじめに
手持ちの書籍を随分とPDF化したが、全く読む機会がない。実物として手元にあるのであれば、パラパラとめくることができる。PCの中に入っているとPDFファイルを開くのが面倒で放置されてしまう。これはどうにかしなければ行けないと考え、全文検索サーバを導入することとした。
どのアプリケーションを使うか
ネット上では、あまり情報量が多くない。不人気なのかな。Namazu、Fessやら使われているのをみかける。偶然、Groongaを見つけた。どのアプリーケーションを使うにしろ、インストールしやすいのがよい。ひとまずGroongaを使う方針で準備をすすめる。
インストール
~$ sudo apt install software-properties-common パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 software-properties-common はすでに最新バージョン (0.96.24.32.5) です。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 23 個。
universeリポジトリを有効にする作業らしい
~$ sudo add-apt-repository -y universe 'universe'のコンポーネントはすべてのソースで有効になっています。
有効になってんじゃん。
非公式のリポジトリを追加する儀式
~$ sudo add-apt-repository -y ppa:groonga/ppa ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease 取得:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] ヒット:3 http://storage.googleapis.com/bazel-apt stable InRelease 取得:4 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] 無視:5 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease ヒット:6 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 Release 取得:8 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB] ヒット:9 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic InRelease 取得:10 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic InRelease [21.3 kB] 取得:11 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main i386 Packages [4,060 B] 取得:12 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 Packages [4,048 B] 取得:13 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main Translation-en [2,008 B] 278 kB を 3秒 で取得しました (104 kB/s) パッケージリストを読み込んでいます... 完了
パッケージリストを最新化
~$ sudo apt update ヒット:1 http://storage.googleapis.com/bazel-apt stable InRelease ヒット:2 http://jp.archive.ubuntu.com/ubuntu bionic InRelease 取得:3 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] 取得:4 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] 無視:5 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease ヒット:6 http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 Release ヒット:8 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic InRelease 取得:9 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB] ヒット:10 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic InRelease 247 kB を 2秒 で取得しました (131 kB/s) パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 アップグレードできるパッケージが 23 個あります。表示するには 'apt list --upgradable' を実行してください。
そしてついにインストールする。
~$ sudo apt install groonga パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: groonga-bin groonga-doc groonga-plugin-suggest libgroonga0 libjs-underscore libmsgpackc2 libnorm1 libpgm-5.2-0 libzmq5 以下のパッケージが新たにインストールされます: groonga groonga-bin groonga-doc groonga-plugin-suggest libgroonga0 libjs-underscore libmsgpackc2 libnorm1 libpgm-5.2-0 libzmq5 アップグレード: 0 個、新規インストール: 10 個、削除: 0 個、保留: 23 個。 3,617 kB のアーカイブを取得する必要があります。 この操作後に追加で 26.0 MB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libmsgpackc2 amd64 2.1.5-1 [14.3 kB] 取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libnorm1 amd64 1.5r6+dfsg1-6 [224 kB] 取得:3 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libpgm-5.2-0 amd64 5.2.122~dfsg-2 [157 kB] 取得:4 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libzmq5 amd64 4.2.5-1 [220 kB] 取得:5 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 libjs-underscore all 1.8.3~dfsg-1 [59.9 kB] 取得:6 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 libgroonga0 amd64 8.0.8-2~bionic1 [1,637 kB] 取得:7 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga-bin amd64 8.0.8-2~bionic1 [256 kB] 取得:8 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga-plugin-suggest amd64 8.0.8-2~bionic1 [77.4 kB] 取得:9 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga-doc all 8.0.8-2~bionic1 [964 kB] 取得:10 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga amd64 8.0.8-2~bionic1 [7,896 B] 3,617 kB を 7秒 で取得しました (523 kB/s) 以前に未選択のパッケージ libmsgpackc2:amd64 を選択しています。 (データベースを読み込んでいます ... 現在 188364 個のファイルとディレクトリがインストールされています。) .../0-libmsgpackc2_2.1.5-1_amd64.deb を展開する準備をしています ... libmsgpackc2:amd64 (2.1.5-1) を展開しています... 以前に未選択のパッケージ libgroonga0:amd64 を選択しています。 .../1-libgroonga0_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... libgroonga0:amd64 (8.0.8-2~bionic1) を展開しています... 以前に未選択のパッケージ groonga-bin を選択しています。 .../2-groonga-bin_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... groonga-bin (8.0.8-2~bionic1) を展開しています... 以前に未選択のパッケージ libnorm1:amd64 を選択しています。 .../3-libnorm1_1.5r6+dfsg1-6_amd64.deb を展開する準備をしています ... libnorm1:amd64 (1.5r6+dfsg1-6) を展開しています... 以前に未選択のパッケージ libpgm-5.2-0:amd64 を選択しています。 .../4-libpgm-5.2-0_5.2.122~dfsg-2_amd64.deb を展開する準備をしています ... libpgm-5.2-0:amd64 (5.2.122~dfsg-2) を展開しています... 以前に未選択のパッケージ libzmq5:amd64 を選択しています。 .../5-libzmq5_4.2.5-1_amd64.deb を展開する準備をしています ... libzmq5:amd64 (4.2.5-1) を展開しています... 以前に未選択のパッケージ groonga-plugin-suggest を選択しています。 .../6-groonga-plugin-suggest_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... groonga-plugin-suggest (8.0.8-2~bionic1) を展開しています... 以前に未選択のパッケージ libjs-underscore を選択しています。 .../7-libjs-underscore_1.8.3~dfsg-1_all.deb を展開する準備をしています ... libjs-underscore (1.8.3~dfsg-1) を展開しています... 以前に未選択のパッケージ groonga-doc を選択しています。 .../8-groonga-doc_8.0.8-2~bionic1_all.deb を展開する準備をしています ... groonga-doc (8.0.8-2~bionic1) を展開しています... 以前に未選択のパッケージ groonga を選択しています。 .../9-groonga_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... groonga (8.0.8-2~bionic1) を展開しています... libpgm-5.2-0:amd64 (5.2.122~dfsg-2) を設定しています ... libjs-underscore (1.8.3~dfsg-1) を設定しています ... libnorm1:amd64 (1.5r6+dfsg1-6) を設定しています ... libc-bin (2.27-3ubuntu1) のトリガを処理しています ... groonga-doc (8.0.8-2~bionic1) を設定しています ... libmsgpackc2:amd64 (2.1.5-1) を設定しています ... libgroonga0:amd64 (8.0.8-2~bionic1) を設定しています ... libzmq5:amd64 (4.2.5-1) を設定しています ... groonga-bin (8.0.8-2~bionic1) を設定しています ... groonga-plugin-suggest (8.0.8-2~bionic1) を設定しています ... groonga (8.0.8-2~bionic1) を設定しています ... libc-bin (2.27-3ubuntu1) のトリガを処理しています ... パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: groonga-bin groonga-doc groonga-plugin-suggest libgroonga0 libjs-underscore libmsgpackc2 libnorm1 libpgm-5.2-0 libzmq5 以下のパッケージが新たにインストールされます: groonga groonga-bin groonga-doc groonga-plugin-suggest libgroonga0 libjs-underscore libmsgpackc2 libnorm1 libpgm-5.2-0 libzmq5 アップグレード: 0 個、新規インストール: 10 個、削除: 0 個、保留: 23 個。 3,617 kB のアーカイブを取得する必要があります。 この操作後に追加で 26.0 MB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libmsgpackc2 amd64 2.1.5-1 [14.3 kB] 取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libnorm1 amd64 1.5r6+dfsg1-6 [224 kB] 取得:3 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libpgm-5.2-0 amd64 5.2.122~dfsg-2 [157 kB] 取得:4 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libzmq5 amd64 4.2.5-1 [220 kB] 取得:5 http://jp.archive.ubuntu.com/ubuntu bionic/main amd64 libjs-underscore all 1.8.3~dfsg-1 [59.9 kB] 取得:6 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 libgroonga0 amd64 8.0.8-2~bionic1 [1,637 kB] 取得:7 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga-bin amd64 8.0.8-2~bionic1 [256 kB] 取得:8 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga-plugin-suggest amd64 8.0.8-2~bionic1 [77.4 kB] 取得:9 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga-doc all 8.0.8-2~bionic1 [964 kB] 取得:10 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga amd64 8.0.8-2~bionic1 [7,896 B] 3,617 kB を 7秒 で取得しました (523 kB/s) 以前に未選択のパッケージ libmsgpackc2:amd64 を選択しています。 (データベースを読み込んでいます ... 現在 188364 個のファイルとディレクトリがインストールされています。) .../0-libmsgpackc2_2.1.5-1_amd64.deb を展開する準備をしています ... libmsgpackc2:amd64 (2.1.5-1) を展開しています... 以前に未選択のパッケージ libgroonga0:amd64 を選択しています。 .../1-libgroonga0_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... libgroonga0:amd64 (8.0.8-2~bionic1) を展開しています... 以前に未選択のパッケージ groonga-bin を選択しています。 .../2-groonga-bin_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... groonga-bin (8.0.8-2~bionic1) を展開しています... 以前に未選択のパッケージ libnorm1:amd64 を選択しています。 .../3-libnorm1_1.5r6+dfsg1-6_amd64.deb を展開する準備をしています ... libnorm1:amd64 (1.5r6+dfsg1-6) を展開しています... 以前に未選択のパッケージ libpgm-5.2-0:amd64 を選択しています。 .../4-libpgm-5.2-0_5.2.122~dfsg-2_amd64.deb を展開する準備をしています ... libpgm-5.2-0:amd64 (5.2.122~dfsg-2) を展開しています... 以前に未選択のパッケージ libzmq5:amd64 を選択しています。 .../5-libzmq5_4.2.5-1_amd64.deb を展開する準備をしています ... libzmq5:amd64 (4.2.5-1) を展開しています... 以前に未選択のパッケージ groonga-plugin-suggest を選択しています。 .../6-groonga-plugin-suggest_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... groonga-plugin-suggest (8.0.8-2~bionic1) を展開しています... 以前に未選択のパッケージ libjs-underscore を選択しています。 .../7-libjs-underscore_1.8.3~dfsg-1_all.deb を展開する準備をしています ... libjs-underscore (1.8.3~dfsg-1) を展開しています... 以前に未選択のパッケージ groonga-doc を選択しています。 .../8-groonga-doc_8.0.8-2~bionic1_all.deb を展開する準備をしています ... groonga-doc (8.0.8-2~bionic1) を展開しています... 以前に未選択のパッケージ groonga を選択しています。 .../9-groonga_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... groonga (8.0.8-2~bionic1) を展開しています... libpgm-5.2-0:amd64 (5.2.122~dfsg-2) を設定しています ... libjs-underscore (1.8.3~dfsg-1) を設定しています ... libnorm1:amd64 (1.5r6+dfsg1-6) を設定しています ... libc-bin (2.27-3ubuntu1) のトリガを処理しています ... groonga-doc (8.0.8-2~bionic1) を設定しています ... libmsgpackc2:amd64 (2.1.5-1) を設定しています ... libgroonga0:amd64 (8.0.8-2~bionic1) を設定しています ... libzmq5:amd64 (4.2.5-1) を設定しています ... groonga-bin (8.0.8-2~bionic1) を設定しています ... groonga-plugin-suggest (8.0.8-2~bionic1) を設定しています ... groonga (8.0.8-2~bionic1) を設定しています ... libc-bin (2.27-3ubuntu1) のトリガを処理しています ...
また、やれることしては、
- サーバー用途のためのHTTPサーバパッケージをインストール
- トークナイザーとしてMeCabをインストール
- トークンフィルターとしてTokenFilterStemをインストール
- MySQL五感のノーマライザーをGroongaのプラグインとして提供するパッケージをインストール
各々がどういう意味があるのか全く理解しておらず、後回しにする。
と思ったが、以下によると
http://groonga.org/ja/docs/characteristic.html#inverted-index-and-tokenizer
MeCabスゲエと書いてあるので、MeCabパッケージはインストールしておこう。
~$ sudo apt install groonga-tokenizer-mecab パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: libmecab2 mecab-naist-jdic mecab-naist-jdic-eucjp mecab-utils 以下のパッケージが新たにインストールされます: groonga-tokenizer-mecab libmecab2 mecab-naist-jdic mecab-naist-jdic-eucjp mecab-utils アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 23 個。 18.3 MB のアーカイブを取得する必要があります。 この操作後に追加で 154 MB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 libmecab2 amd64 0.996-5 [257 kB] 取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 mecab-utils amd64 0.996-5 [4,856 B] 取得:3 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 mecab-naist-jdic-eucjp all 0.6.3.b-20111013-8 [18.0 MB] 取得:4 http://ppa.launchpad.net/groonga/ppa/ubuntu bionic/main amd64 groonga-tokenizer-mecab amd64 8.0.8-2~bionic1 [35.1 kB] 取得:5 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 mecab-naist-jdic all 0.6.3.b-20111013-8 [3,164 B] 18.3 MB を 4秒 で取得しました (4,681 kB/s) 以前に未選択のパッケージ libmecab2:amd64 を選択しています。 (データベースを読み込んでいます ... 現在 189202 個のファイルとディレクトリがインストールされています。) .../libmecab2_0.996-5_amd64.deb を展開する準備をしています ... libmecab2:amd64 (0.996-5) を展開しています... 以前に未選択のパッケージ mecab-utils を選択しています。 .../mecab-utils_0.996-5_amd64.deb を展開する準備をしています ... mecab-utils (0.996-5) を展開しています... 以前に未選択のパッケージ mecab-naist-jdic-eucjp を選択しています。 .../mecab-naist-jdic-eucjp_0.6.3.b-20111013-8_all.deb を展開する準備をしています ... mecab-naist-jdic-eucjp (0.6.3.b-20111013-8) を展開しています... 以前に未選択のパッケージ mecab-naist-jdic を選択しています。 .../mecab-naist-jdic_0.6.3.b-20111013-8_all.deb を展開する準備をしています ... mecab-naist-jdic (0.6.3.b-20111013-8) を展開しています... 以前に未選択のパッケージ groonga-tokenizer-mecab を選択しています。 .../groonga-tokenizer-mecab_8.0.8-2~bionic1_amd64.deb を展開する準備をしています ... groonga-tokenizer-mecab (8.0.8-2~bionic1) を展開しています... libmecab2:amd64 (0.996-5) を設定しています ... libc-bin (2.27-3ubuntu1) のトリガを処理しています ... mecab-utils (0.996-5) を設定しています ... mecab-naist-jdic-eucjp (0.6.3.b-20111013-8) を設定しています ... Now generating naist-jdic data for Mecab. This may take a while... reading /usr/share/mecab/dic/naist-jdic-eucjp/unk.def ... 40 emitting double-array: 100% |###########################################| /usr/share/mecab/dic/naist-jdic-eucjp/model.def is not found. skipped. reading /usr/share/mecab/dic/naist-jdic-eucjp/naist-jdic.csv ... 485863 emitting double-array: 100% |###########################################| reading /usr/share/mecab/dic/naist-jdic-eucjp/matrix.def ... 1396x1396 emitting matrix : 100% |###########################################| done! Check /var/lib/mecab/dic/naist-jdic-eucjp directory. update-alternatives: /var/lib/mecab/dic/debian (mecab-dictionary) を提供するために自動モードで /var/lib/mecab/dic/naist-jdic-eucjp を使います mecab-naist-jdic (0.6.3.b-20111013-8) を設定しています ... Now generating naist-jdic data for Mecab. This may take a while... reading /usr/share/mecab/dic/naist-jdic-eucjp/unk.def ... 40 emitting double-array: 100% |###########################################| /usr/share/mecab/dic/naist-jdic-eucjp/model.def is not found. skipped. reading /usr/share/mecab/dic/naist-jdic-eucjp/naist-jdic.csv ... 485863 emitting double-array: 100% |###########################################| reading /usr/share/mecab/dic/naist-jdic-eucjp/matrix.def ... 1396x1396 emitting matrix : 100% |###########################################| done! Check /var/lib/mecab/dic/naist-jdic directory. update-alternatives: /var/lib/mecab/dic/debian (mecab-dictionary) を提供するために自動モードで /var/lib/mecab/dic/naist-jdic を使います groonga-tokenizer-mecab (8.0.8-2~bionic1) を設定しています ...
ほんで、、、どうするんだ、、、メンドクサイ