【悩み】
・全文検索ソフトウェアのFessをUbuntuにインストールしたい。
・Fessの起動方法や停止方法を知りたい。
・試しにローカルファイルに対して全文検索をしてみたい。
こういった「悩み」に答えます。
【本記事の内容】
① Fessとは?:Javaベースの全文検索ソフトウェア
② インストール要件と準備
➂ FessをUbuntuにインストール
④ 運用方法(起動・停止・状態確認)
⑤ ローカルファイルを全文検索するまでの使い方
本記事を熟読したことで、1時間以内で下の動画のように「Fessでローカルファイルを全文検索」できるようになりました。
記事の前半では「Fessのインストール要件」や「インストール手順」を解説します。
記事の後半では「起動・停止・状態確認方法」から「ローカルファイルの全文検索までの流れ」を紹介します。
この記事を読み終えることで、「Ubuntu上にFessをインストールし使い始められる」状態になります。
ちなみに、上記以外のOSにFessをインストールしたい場合、以下の記事をご覧ください。
>> 【Windows向け】Fessのインストール方法を要件から解説
>> 【Linux向け】Fessのインストール方法を要件から解説
Fessとは?:Javaベースの全文検索ソフトウェア
Fessとは、Javeで開発された無料で使える全文検索ソフトウェアです。
さらに詳しく「特徴」「導入事例」「日本語対応可否」などを知りたい方には、以下の記事がオススメです。
>> 【入門編】Fessとは?全文検索システムを5分で作れるOSS!
インストール要件と準備
「インストール要件と準備」に関してご紹介します。
【ご紹介事項】
・Fessのインストール要件
・Javaのインストール
以降で、上記項目に関して解説します。
Fessのインストール要件
インストール要件に関しては、以下の記事「Fessのインストール要件」の箇所をご覧ください。は、以下となります。
>> 【Windows向け】Fessのインストール方法を要件から解説
Javaのインストール
まずは、Ubuntu上にJavaをインストールしましょう。
apt-get installコマンドで簡単にJavaをUbuntuにインストールできます。
JavaをUbuntuにインストールするために、端末を起動し、以下のコマンドを実行してください。
今回は、Java 17をインストールしたいため、「openjdk-17-jdk」を指定しています。ちなみに、「openjdk-8-jdk」を指定することでJava8をUbuntuにインストールできます。
$ sudo apt-get install openjdk-17-jdk
UbuntuにJavaをインストールされたかを確認するために、以下のコマンドを実行しましょう。
$ java -version
openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu120.04)
OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu120.04, mixed mode, sharing)
コマンド実行後、「openjdk version “バージョン名”」が表示された場合、「正常にUbuntuにJavaをインストールできた」と判断できます。
UbuntuでFessを使う要件として、「Java導入済み」があります。Javaは、apt-getコマンドで導入できます。
以降で、Ubuntu上にFessをインストールする方法を説明しますね。
FessをUbuntuにインストール
「FessをUbuntuにインストール」に関してご紹介します。
【ご紹介事項】
手順1:ElasticSearchのインストール
手順2:ElasticSearchのプラグインやモジュールをインストール
手順3:ElasticSearchの設定ファイルを編集
手順4:FessをUbuntuにインストール
以降で、上記項目に関して解説します。
ちなみに、Fessの全文検索機能は、OSSである「ElasticSearch」を用いて開発されています。Fessのアーキテクチャーに関しては、以下の公式サイトをご覧ください。
ElasticSearchのインストール
まずは、UbuntuにインストールするFessに対応したElasticSearchのバージョンを確認します。そのために、Webブラウザで以下のサイトを開きましょう。
>> Fessに対応するElasticSearchのバージョンを確認(公式サイト)
今回は、Fess 14.4.0をUbuntuにインストールしたいため、Elasticsearch 8.4.1を選ぶべきと判断できます。(下図の赤枠)
次に、ElasticSearchのパッケージをダウンロードします。そのために、端末上で以下のコマンドを実行してください。
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
続いて、ダウンロードしたパッケージをパッケージ管理システムで使えるようにするために、以下のコマンドを実行します。
$ echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
次に、パッケージ管理システム(apt-getコマンド)経由で、ElasticSearchをインストールしましょう。「apt -get install elasticsearch=バージョン名」とすることで、指定したバージョンのElasticsearchをインストールできます。
$ sudo apt-get update && sudo apt-get install elasticsearch=8.4.1
最後に、UbuntuにElasticsearchがインストールされたことを確認しましょう。そのために、以下のコマンドを実行してください。
$ sudo systemctl daemon-reload
$ sudo /usr/share/elasticsearch/bin/elasticsearch --version
Version: 8.4.1, Build: deb/2bd229c8e56650b42e40992322a76e7914258f0c/2022-08-26T12:11:43.232597118Z, JVM: 18.0.2
コマンド実行後、「Version」が表示された場合、「正常にElasticsearchをUbuntuにインストールできた」と判断できます。
ElasticSearchのプラグインやモジュールをインストール
UbuntuでFessをインストールするためには、以下のプラグインとモジュールをElasticsearchへの導入が必要です。
・プラグイン:analysis-extension/analysis-fess/minhash
・モジュール:elasticsearch-configsync
プラグインの導入には、以下のコマンドを順番に端末上で実行します。コマンド内の「8.4.1.0」は、インストールしたElasticsearchのバージョンを指定します。
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:8.4.1.0
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:8.4.1.0
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:8.4.1.0
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list
analysis-extension
analysis-fess
minhash
コマンド実行後、「analysis-extension/analysis-fess/minhash」が表示された場合、「正常にプラグインを導入できた」と判断できます。
次に、モジュールを導入するために、以下のコマンドを順番に端末上で実行しましょう。コマンド内の「8.4.1.0」は、インストールしたElasticsearchのバージョンを指定します。
$ wget https://repo.maven.apache.org/maven2/org/codelibs/elasticsearch-configsync/8.4.1.0/ela
sticsearch-configsync-8.4.1.0.zip
$ sudo mkdir -p /usr/share/elasticsearch/modules/configsync
sudo unzip -d /usr/share/elasticsearch/modules/configsync ./elasticsearch-configsync-8.4.1.0.zip
$ ls /usr/share/elasticsearch/modules/configsync/
commons-codec-1.15.jar elasticsearch-configsync-8.4.1.0.jar plugin-descriptor.properties plugin-security.policy
コマンド実行後、「elasticsearch-configsync-8.4.1.0.jar」などが表示された場合、「正常にモジュールを導入できた」と判断できます。
ElasticSearchの設定ファイルを編集
FessでElasticsearchを使うためには、以下の設定値を変更します。
・xpack.security.enabled:falseに設定(セキュリティを無効化)
・configsync.config_path:/var/lib/elasticsearch/configと設定
上記を設定するために、「/etc/elasticsearch/elasticsearch.yml」をviなどで開き編集してください。
$ sudo cat /etc/elasticsearch/elasticsearch.yml | grep 'xpack.security.enabled'
xpack.security.enabled: false
$ sudo cat /etc/elasticsearch/elasticsearch.yml | grep 'configsync.config_path'
configsync.config_path: /var/lib/elasticsearch/config
以上のようにしてElasticsearchのインストールと設定をすることで、ようやくUbuntuにFessをインストールできます。
FessをUbuntuにインストール
まずは、Ubuntu用のFessのパッケージをダウンロードします。そのために、以下のコマンドを実行しましょう。コマンド内の「14.4.0」は、インストールしたいFessのバージョンを指定します。
$ wget https://github.com/codelibs/fess/releases/download/fess-14.4.0/fess-14.4.0.deb
続いて、ダウンロードしたFessのパッケージを用いて、FessをUbuntuにインストールしましょう。そのために、以下のコマンドを実行してください。
$ sudo dpkg -i fess-14.4.0.deb
Selecting previously unselected package fess.
(Reading database ... 277661 files and directories currently installed.)
Preparing to unpack fess-14.4.0.deb ...
Creating fess group... OK
Creating fess user... OK
Unpacking fess (14.4.0) ...
Setting up fess (14.4.0) ...
Processing triggers for systemd (245.4-4ubuntu3.15) ...
コマンド実行後、「Processing triggers for systemd (245.4-4ubuntu3.15)」が表示された場合、「正常にUbuntuにFessをインストールできた」と判断できます。
Elasticsearchのインストールとセットアップを経て、UbuntuにFessをインストールできました。以降で、Fessの起動や停止方法に関して説明しますね。
運用方法(起動・停止・状態確認)
「運用方法(起動・停止・状態確認)」に関してご紹介します。
【ご紹介事項】
・起動方法
・停止方法
・状態確認方法
以降で、上記項目に関して解説します。
起動方法
Ubuntu上でFessを起動したい場合、以下のsystemctlコマンドを順番に実行します。Elasticsearchを起動してからFessを起動する必要があります。
$ sudo systemctl start elasticsearch.service
$ sudo systemctl start fess.service
停止方法
Ubuntu上でFessを停止したい場合、以下のsystemctlコマンドを順番に実行します。
$ sudo systemctl stop fess.service
$ sudo systemctl stop elasticsearch.service
状態確認方法
Ubuntu上でFessが起動しているかどうかを確認したい場合、以下のsystemctlコマンドを実行します。
$ sudo systemctl status fess.service
● fess.service - Fess
Loaded: loaded (/lib/systemd/system/fess.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2022-11-13 22:30:35 UTC; 5s ago
Docs: http://fess.codelibs.org/
Main PID: 720071 (java)
Tasks: 19 (limit: 4525)
Memory: 315.4M
CGroup: /system.slice/fess.service
└─720071 /bin/java -Xms512m -Xmx512m -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=32m -Djava.awt>
Nov 13 22:30:35 ubuntu-dev systemd[1]: Started Fess.
コマンド実行後、「Active: active」が表示された場合、「Fessが起動中」と判断できます。
Fessはsystemctlコマンドで簡単に起動できます。
以降で、手元にあるフォルダに対して全文検索をする方法を説明しますね。
ローカルファイルを全文検索するまでの使い方
「ローカルファイルを全文検索するまでの使い方」に関しては、以下の記事をご覧ください。Fessの管理画面にログインから全文検索までを解説しています。
>> 【Windows向け】Fessのインストール方法を要件から解説
【まとめ】Fessのインストール方法を要件から解説【Ubuntu向け】
いかがでしたでしょうか?
上記で紹介した「Javaのインストール」「ElasticSeach、Fessの順でインストール」「クロール設定」を順番に実施していくだけで、Ubuntu上のローカルファイルに対してFessで全文検索ができるようになります。
最後にもう一度内容を確認しましょう。
【おさらい】
・インストール要件:JavaまたはDockerがインストール済みであること
・Ubuntu用のパッケージをダウンロードしFessをインストール
・Fessの管理画面にログインしクローラーの設定が必要
本ブログでは、「業務の時短化に繋がるIT技術」や「クラウドやOSSの学び方」などを発信しています。定期的に更新していますので、ぜひブックマークをよろしくお願いいたします。
コメント