オープンソース全文検索サーバーの「Fess」をCentOS7にインストールします。
PDFやWordファイル、Excelなどのオフィス系のファイルの中身などをindex化して検索を行うことができます。
また、外部のサイトの検索なども定期的に行うことができ、クローリングしたサイト情報を保存しておくこともできます。
ファイルの検索ではローカルのファイルはもちろん、SMB接続などのファイルサーバへの接続やActiveDirectoryへの接続も行えます。
非常に機能が豊富な仕組みですので様々な用途での利用が行えます。
尚、今回インストールを実施したサーバはCentOS7.6です。
インストール時の注意点ではyumでJavaのインストール(java-1.8.0-openjdk-devel)を行うとJavaのバージョンんが古くエラーが発生する点となります。
Javaのインストール
Javaのインストールを行います。
今回インストールの「fess-13.1.0」では「openjdk-11.0.2」を利用します。
それでは「alternatives」コマンドを利用してのインストールを行います。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# cd /tmp # wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz # tar xzvf openjdk-11.0.2_linux-x64_bin.tar.gz # mv jdk-11.0.2 /opt/ # alternatives --install /usr/bin/java java /opt/jdk-11.0.2/bin/java 1 # alternatives --install /usr/bin/jar jar /opt/jdk-11.0.2/bin/jar 1 # alternatives --install /usr/bin/javac javac /opt/jdk-11.0.2/bin/javac 1 # java -version openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2+9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode) |
最後にあるバージョン確認で、OpenJDKの11.0.2がインストールされたのが確認できます。
Elasticsearchのインストール
FessではElasticsearchを利用してドキュメントのインデックスを作成するので以下の手順でインストールを行います。
1 2 3 4 5 6 7 |
# yum -y install perl-Digest-SHA # wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-x86_64.rpm # wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-x86_64.rpm.sha512 # shasum -a 512 -c elasticsearch-7.1.0-x86_64.rpm.sha512 # rpm --install elasticsearch-7.1.0-x86_64.rpm |
また、Fessで必要なプラグインを以下でインストールしてます。
1 2 3 4 5 6 7 |
# /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.1.0 # /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:7.1.0 # /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-configsync:7.1.0 # /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:7.1.0 # /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.1.0 |
また、設定ファイルに以下の行を追加します。
1 2 3 4 5 6 |
# vi /etc/elasticsearch/elasticsearch.yml --------------------------- 以下を追加 configsync.config_path: /var/lib/elasticsearch/config --------------------------- |
最後に起動の設定を行います。
1 2 3 4 5 |
# systemctl daemon-reload # systemctl enable elasticsearch.service # systemctl start elasticsearch.service |
Fessのインストール
Fessのインストールは以下の手順で行います。
1 2 3 4 |
# wget https://github.com/codelibs/fess/releases/download/fess-13.1.0/fess-13.1.0.rpm # rpm --install fess-13.1.0.rpm |
また、起動の設定を以下で行います。
1 2 3 4 5 |
# systemctl daemon-reload # systemctl enable fess.service # systemctl start fess.service |
「systemctl status fess.service」などで起動の状態を確認します。
RPMでのインストールではJavaのバージョンなどでうまく起動しないことがあります。
画面での確認
Fessを起動すると8080のポートでHTTPでの接続が行えます。
外部からの接続の時には8080ポートを開けておく必要があります。
接続すると以下の画面となります。
上にある「ログイン」 から管理画面にアクセスが可能です。
初期でのパスワードは「admin / admin」になります。
管理画面にログインして様々な設定を行うことができます。
サジェストなどの登録もこちらから行えます。
このブログは株式会社CoLabMixによる技術ブログです。
GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。
Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。
開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。