Fess
「5 分で簡単に構築可能な全文検索サーバー」です。
GitHub - codelibs/fess: Fess is very powerful and easily deployable Enterprise Search Server.
Ubuntu 16.04 LTS にてインストールする
Fess を Ubuntu 16.04 LTS にインストールする方法を記します。ここで、以下の条件でインストールします。
- Fess は zip版 ではなく deb版 を入れる
- Elasticsearch は外部のもの(内蔵ではない)を用いる
具体的な手順
以下、ひとつひとつ順を追って説明します。
1. Java をインストールする
まず Java を以下のように入れます。すでにインストールしてあるならば飛ばしてください。JRE(Java Runtime Environment)で十分です。またバージョンは 9 でも大丈夫だと思います。default-jre
でも大丈夫でしょう。
$ sudo apt-get install openjdk-8-jre
2. Elasticsearch をインストールする
次に Elasticsearch を入れましょう。以下のページからたどって deb ファイルをダウンロードします。
Download Elasticsearch | Elastic
しかしここで注意です。後述する「プラグイン」が対応しているバージョンをインストールしないといけません。2017年10月13日現在では、最新版は 5.6.3 ですが、プラグインの対応の都合上、5.6.1 を利用します。
過去のバージョンをダウンロードするためには上記のダウンロードページ内の「past releases」というリンクをたどります*1。そうすると過去のバージョンを含めた一覧のページに飛びますので、ここで「Elasticsearch 5.6.1」のリンクをクリックします。飛んだ先のページにダウンロード種別の一覧が記載されているので、「DEB」をクリックすることで https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.deb
をダウンロードすることができます。
ダウンロードできたならば dpkg -i
でインストールするだけです。
$ sudo dpkg -i elasticsearch-5.6.1.deb
3. Fess をインストールする
Fess をインストールします。zip版 と deb版 があり、どちらでもよいのですが、deb版 のインストールの記事が見当たらなかったので、deb版 をインストールします。
まず GitHub の releases のページに行きます。そしてダウンロードしたいバージョンのうち、拡張子が .deb
のものをダウンロードします。今回は 11.4.1
を落としたいと思いますので以下のようにすれば OK です。
$ wget https://github.com/codelibs/fess/releases/download/fess-11.4.1/fess-11.4.1.deb
.deb
が落とせたならば dpkg -i
でインストールをします。
$ sudo dpkg -i fess-11.4.1.deb
4. Elasticsearch の設定ファイルに追記する
インストールマニュアルにもあるように、/etc/elasticsearch/elasticsearch.yml
に以下の表記を追加します。
configsync.config_path: /var/lib/elasticsearch/config
elasticsearch.yml
はインストール直後はすべてコメントで埋まっているので、最終行に上記の内容をコピペしてあげればいいでしょう。
5. Elasticsearch のプラグインをインストールする
やはりインストールマニュアルにあるように、次に Elasticsearch のプラグインをインストールします。
ここで「2.」のバージョンの問題が出てきます。下記のインストールコマンドの末尾にバージョン番号が付与されていることがわかると思いますが、Elasticsearch と プラグイン のバージョンを合致させなければいけません。そして、プラグインのバージョンは、必ずしも Elasticsearch の最新版に追従しているわけではありません。
したがって、この記事では Elasticsearch の 5.6.1 をインストールし、プラグインも 5.6.1 に対応したものをインストールします。
以下のコマンドを実行していきましょう。
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:5.6.1 $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-ja:5.6.1 $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-synonym:5.6.1 $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-configsync:5.6.1 $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:5.6.1 $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-langfield:5.6.1 $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:5.6.1 $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-kuromoji-neologd:5.6.1
最後の elasticsearch-analysis-kuromoji-neologd
は Kuromoji
の、いわゆるNEologd 辞書です。こちらを入れておいて損はないと思いますので、入れておきます。
6. Fess の設定ファイルを修正する
/usr/share/fess/bin/fess.in.sh
に Fess の設定ファイルがありますのでこれを修正しましょう。インストールマニュアルには fess-<version>/bin/fess.in.shを変更します
とありますが、これは誤りですね。
Elasticsearch を有効にするために、以下の部分のコメントを外します。
# ES_HTTP_URL=http://localhost:9200 # ES_TRANSPORT_URL=localhost:9300 # FESS_DICTIONARY_PATH=/var/lib/elasticsearch/config/
他にも、ポート番号を 8080
から変更できたりもしますが、ここでは触れません。
7. Elasticsearch を起動する
ここまで来たならばもうすぐです。まず Elasticsearch を起動しましょう。
$ sudo service elasticsearch start
起動できたならば、http://localhost:9200
にアクセスしてみます。JSON が返ってくれば正しく起動できています。
8. Fess を起動する
そして、Fess を起動します。
$ sudo service fess start
さあ、http://localhost:8080
にアクセスしてみましょう。以下のような画面*2が出ればインストール完了です!
補足
インストール後に細かい各種設定を行いますが、基本的にWebインターフェイスですし、マニュアルを見ながら設定していけばよいでしょう。2016年 の Qiita の Advent Calender も参考になります。
なお、ロゴ画像は /usr/share/fess/app/images
の画像をいじればよいです*3。favicon は /usr/share/fess/app
にあります。
<title>
タグの中身を変更したい場合には、/usr/share/fess/app/WEB-INF/classes/fess_label_ja.properties
を編集します。日本語は Unicode で書かれていますので、変換ページなどを利用するのがいいでしょう。
Fess は開発が活発で、柔軟な設定もでき、そして何よりすぐに建てられるのが魅力的です。Solr や Groonga では大げさすぎる、という場合には真っ先に選択肢に入ると思います。