Windows環境での構築方法

【連載】

簡単導入! OSS全文検索サーバFess入門

【第10回】Windows環境での構築方法

[2019/02/28 08:00]菅谷 信介 ブックマーク ブックマーク

  • 業務アプリケーション

業務アプリケーション

FessではZIP/RPM/DEBの3種類のパッケージを提供しています。

RPM/DEBパッケージはそれぞれRedHatとUbuntu向けのパッケージであり、それらに対応する標準のElasticsearchのRPM/DEBパッケージをインストールして利用します。ZIPパッケージはOS問わず、簡単に利用でき、Elasticsearchを組み込んだ形で配布しています。

ZIPパッケージはファイルを展開するだけで簡単にFess環境を作ることができますが、本番運用で利用する場合、組み込みElasticsearchでの稼働は推奨していません。RPM/DEBパッケージと同様、Fessとは別にElasticsearchを構築して利用する必要があります。

今回はWindows環境で本番運用を想定した構築について説明します。

Javaのインストール

他のOSと同様、Fessを起動するにはJavaが必要です。バージョンはJava 8u131以上をインストールしてください。

Javaをインストール後、以下の手順で環境変数を設定します。

  1. 「コントロールパネル」>「システムとセキュリティ」>「システム」>「システムの詳細設定」>「環境変数」を選択します。
  2. 「システム環境変数」の「新規」をクリックします。
  3. 「変数名」に「JAVA_HOME」、「変数値」にJDKファイルのアドレスを入力して「OK」を押します。JDKファイルは通常「C:\Program File\java\jdk1.8.0_XXX」(XXXはjavaのバージョンが入ります)にあります。
  4. 「システム環境変数」で「Path」を選択し、「編集」をクリックします。
  5. 「環境変数名の編集」で「新規」をクリックし、「%JAVA_HOME%\bin」と入力して「OK」をクリックします。

Elasticsearchのインストール

Elasticsearchのバージョンは使用するFessのバージョンによって変わります。適宜読み替えてインストールしてください。

使用するFessに対応するElasticsearchのバーションはFessのダウンロードページで確認することができます。今回はFess 12.3.5を使用するので、Elasticsearch 6.4.3をダウンロードします。

ElasticsearchのダウンロードページからWindows版をダウンロードし、展開します。今回はc:\opt\に展開しておきます。

プラグインのインストール

コマンドプロンプトで以下のコマンドを入力し、必要なプラグインをインストールします。

インストールするElasticsearchのバージョンに対応しているプラグインをインストールしてください。

> c:\opt\elasticsearch\bin\elasticsearch-plugin.bat install org.codelibs:elasticsearch-analysis-fess:6.4.0
> c:\opt\elasticsearch\bin\elasticsearch-plugin.bat install org.codelibs:elasticsearch-analysis-extension:6.4.1
> c:\opt\elasticsearch\bin\elasticsearch-plugin.bat install org.codelibs:elasticsearch-configsync:6.4.0
> c:\opt\elasticsearch\bin\elasticsearch-plugin.bat install org.codelibs:elasticsearch-dataformat:6.4.0
> c:\opt\elasticsearch\bin\elasticsearch-plugin.bat install org.codelibs:elasticsearch-langfield:6.4.1
> c:\opt\elasticsearch\bin\elasticsearch-plugin.bat install org.codelibs:elasticsearch-minhash:6.4.0
> c:\opt\elasticsearch\bin\elasticsearch-plugin.bat install org.codelibs:elasticsearch-learning-to-rank:6.4.0

インストールするプラグインもElasticsearchのバージョンに依存するので、Fessのインストールガイドを参照して正しいバージョンをインストールしてください。

設定

Elasticsearch上でFessから配布された辞書ファイルを保存するため、 elasticsearch\config\elasticsearch.yml に下記の設定を加えます。

configsync.config_path: c:/opt/elasticsearch/config/

Windowsサービスへの登録

ElasticsearchのサービスをWindowsサービスに登録します。管理者権限でコマンドプロンプトを起動し、以下のコマンドを実行します。

> c:\opt\elasticsearch\bin\elasticsearch-service.bat install

Fessのインストール

FessのZIPファイルはダウンロードページから入手することができます。

今回はFess12.3.5を使用します。こちらもc:\opt\に展開しておきます。

設定

Elasticsearchにアクセスするためにfess\bin\fess.in.batを以下のように修正します。

set FESS_PARAMS=%FESS_PARAMS% -Dfess.es.http_address=http://localhost:9200
set FESS_PARAMS=%FESS_PARAMS% -Dfess.es.transport_addresses=localhost:9300
set FESS_PARAMS=%FESS_PARAMS% -Dfess.dictionary.path="c:/opt/elasticsearch/config/"

Elasticsearchと接続する際のポート番号を指定します。fess\app\WEB-INF\classes\fess_config.propertiesを変更します。

elasticsearch.http.url=http://localhost:9200

Fessの検索画面、管理画面のデフォルトのポート番号は8080になっています。80番に変更する場合は c:\opt\fess\bin\fess.in.bat の fess.port を変更します。

set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.port=80

Windowsサービスへの登録

FessのサービスをWindowsサービスに登録します。管理者権限でコマンドプロンプトを起動し、以下のコマンドを実行します。

> c:\opt\fess\bin\service.bat install

サービスの起動

サービスを手動で起動する場合はElasticsearchサービスを先に起動し、その後Fessサービスを起動します。

以下のコマンドを実行してElasticsearchを起動します。

> c:\opt\elasticsearch\bin\elasticsearch-service.bat start

Fessを起動します。

> c:\opt\fess\bin\service.bat start

サービスの自動起動設定

Windows起動時にサービスを自動起動する場合は以下のように設定します。

  1. 「コントロールパネル」>「システムとセキュリティ」>「管理ツール」>「サービス」を開きます。
  2. サービス一覧から「elasticsearch 6.4.2 (elasticsearch-service-x64)」のプロパティを開き「スタートアップの種類」を「自動」に設定して「OK」をクリックします。
  3. サービス一覧から「Fess(fess-service-x64)」のプロパティを開き、「スタートアップの種類」を「自動(遅延開始)」に設定して「OK」をクリックします。
  4. キーボードの「Windows」キーを押しながら「R」キーを押して「ファイル名を指定して実行」を表示します。「regedit」を入力後、「OK」をクリックしてレジストリエディタを開きます。
  5. コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\fess-service-x64\DependOnService」の値に「elasticsearch-service-x64」を追加して「OK」をクリックします。

  6. 追加すると、Fessサービスのプロパティの依存関係にelasticsearch-service-x64 が表示されます。
  7. サービスの停止

    サービスを停止する場合、起動時とは逆に先にFessサービスを停止、その後Elasticsearchサービスを停止します。

    以下のコマンドを実行してFessを停止します。

    > c:\opt\fess\bin\service.bat stop

    Elasticsearchを停止します。

    > c:\opt\elasticsearch\bin\elasticsearch-service.bat stop

    *  *  *

    今回は本番運用を想定したWindows環境でのFessの構築方法をご紹介しました。Windows環境でFessを構築する際は参考にしてみてください。

    著者紹介

    菅谷 信介 (Shinsuke Sugaya)

    Apache PredictionIOにて、コミッター兼PMCとして活動。また、自身でもCodeLibs Projectを立ち上げ、オープンソースの全文検索サーバFessなどの開発に従事。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

「検索エンジンを広めるつもりが、思わぬ幸運」 - Hadoop10周年、生みの親が回顧

「検索エンジンを広めるつもりが、思わぬ幸運」 - Hadoop10周年、生みの親が回顧

今年で誕生10周年を迎える、オープンソースソフトウェア(OSS)の「Apache Hadoop」。果たして同プロダクトは、今日の発展に至るまでにどのようなプロセスを歩んできたのか。本誌は、「Cloudera World Tokyo 2016」で来日したHadoopの生みの親、Doug Cutting 氏に開発の経緯や、ターニングポイントについて話を聞いたので…

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
知りたい! カナコさん 皆で話そうAIのコト
教えてカナコさん! これならわかるAI入門
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る