FessでElastic Cloudに接続して利用する方法について、忘れないように書いておく。Elastic Cloudは簡単に2週間無料トライアルができるので、とりあえず、ログインして、Elasticsearchの作成をしょうとすると以下の選択が表示される。
Fessでは、Elasticsearchが使えれば良いので、今回は、Elastic Enterprise Searchを選択して構築する。Create deploymentボタンを押すと、以下のユーザー名とパスワードが表示される。
Downloadボタンを押下すると、ユーザー名とパスワードのcsvがダウンロードされ、Elasticsearchのクラスタが作成開始されるので、しばらく待つと、以下のように利用可能な状態になる。このページのElasticsearchのentrypointで、https://〜:〜 でElasticsearchのURLが取得できる。
左のメニューのElasticsearchリンクを押下すると、Elasticsearchクラスタの情報が表示される。
左のメニューのEditリンクを押下すると、クラスタの編集が表示される。
Fessで利用するためには、Elasticsearchプラグインをインストールする必要があるので、Settings and Pluginsリンクを押下する。
analysis-kuromoji、analysis-nori、analysis-smartcnを選択して、Backボタンをおして、クラスタの編集を保存すると、確認画面が表示される。
Confirmボタンを押下すると、プラグインのインストールが始まる。ローリングリスタートで順番にノードが再起動されて適用されていく。しばらく待てば反映される。
以上でElastic CloudがFessで利用できる状態になる。
あとは、Fessを起動したいサーバーで実行すれば良いので、
docker run -p 8080:8080 -it \ -e ES_HTTP_URL=https://〜:〜 \ -e ES_TYPE=cloud \ -e ES_USERNAME=elastic \ -e ES_PASSWORD=〜パスワード〜 \ ghcr.io/codelibs/fess:snapshot
とすれば、利用できる。(snapshotの部分は、13.11.1以降を指定する)
Fessの方は激しいクロールとかしなければ、1G以下くらいのメモリーでも動くと思うし、ECSとか、マネージドな環境とかで上げておけば、運用とか楽かも。クロール用とフロント用とか、分けてあげても良いかも。という感じで、手間いらずな環境をいろいろと作れる可能性もありますね。