ElasticSearch(2023から opensearch)-Fess連関

【2023】2023.09 の段階で
「ご利用のシステムはサポートが終了しています。製品サポート期限のページを参照して、アップグレードしてください」と言われている。
また、最初から、
「開発モードで起動しています。本運用環境ではElasticsearch を別途インストールしてください」と言われていた。
ので、、、
2023.09 別VMに再インストールすることにした.suWin10ono3 上の VM suFESS.su.local LocalLogin は administrator/abcdef

ダウンロードはここからたどった

で,これらをゲットした

httpd-2.4.46-win64-VS16.zip (Apache)
openjdk-15.0.1_windows-x64_bin.zip (OpenJDK)
elasticsearch-7.9.3-windows-x86_64.zip
fess-13.9.3.zip

 

【2024】
suFESS2 を Windows11-23h2 → 24h2 に update したら opensearch が起動できなくなった.手動で起動できないし,サービスに登録もできない

サービスの permission をマイクロソフトアカウントにしてみたが NG
プライバシーとセキュリティー > ウィルスの脅威の防止 > ウィルスの脅威の防止の設定 > 除外 で opensearch を除外してみたが NG
各pluginを remove して再度 install してみたが NG

suFESS3 を 新規に install した.suWin3上 に作った.Login は microsoft アカウント にした

【2023】
httpd-2.4.57-win64-VS17.zip
......httpd は実際には使わないが、環境の確認のため一時導入した。最終的には[8080]を FESS に譲って、サービスを止めた
jdk-17_windows-x64_bin.msi
opensearch-2.9.0-windows-x64.zip
......Elasticsearch は OSS として終わっていて、Opensearch に移行していたので、これにした
fess-14.10.0.zip
また、VC_redist.x64.exe が入り用だった

【2024】
httpd は使わないので download しない
jdk-17_windows-x64_bin.msi は新たにdownloadしないでそのまま使用
opensearch-2.9.0-windows-x64.zip を download
opensearch-2.9.0-windows-x64.zip を download

 

PC名は campWeb.camp.local
administrator の pwdは camppass に
local logon に

IP 192.168.1.11/24

C++runtime installed (VC_redist.x64)

【2023】PC名は suFESS.su.local (suWinOno3 上のVM) Windows logon する.
IP は,192.168.10.156

【2024】
IP は 192.168.10.157
RDP の port は 3393 にした
httpの port は 8081 (suFESS2 が 8080)
と思ったが, fess サービスのリスナーを8081 にできないので FESS2 引退して FESS3 が 8080 を使うことにして設定していく

RDPのport の設定は以下(↓)
...この変更は 設定やコンパネからたどれず,RegEdit した.で,FireWall に 3393 の穴を作った
===<CoPilot に聞いた>===============
1. レジストリエディタを開く:
· 「スタートメニュー」から「regedit」を検索して起動します。
2. レジストリキーを見つける:
次のキーに移動します:
HKEY_LOCAL_MACHINE\System\CurrentControlSetControlTerminal
Server\WinStationsRDP-Tcp
3. ポート番号を変更: PortNumber - 表示されるウィンドウで、「10進」を選択し、新しいポート番号を入力します。
4. レジストリエディタを閉じる:
変更を保存してレジストリエディタを閉じます。
5. ファイアウォールの設定を更新:
· 新しいポート番号に対応するようにファイアウォールルールを更新します。
6. コンピュータを再起動:
• コンピュータを再起動して変更を反映させます。
======================================


Apache インストール


apache配置 (httpd-2.4.46-win64-VS16)
Apache24 を c:\Apache24 に配置
http.conf 書き換え
C:\Apache24\conf\httpd.conf 修正
#ServerName www.example.com:80

ServerName campFess.camp.local:80
WorldWideWeb発行サービスを止めて無効にする(でないとConflictする)
c:\apache24\bin>httpd -k install
として Serviceにして apache2.4を開始して自動起動を確認
.....http://localhost で作動を確認 ... 他からも

【2023】
8080で install したけど,8080 は FESS が使うので,apache は止めた

【2024】
httpd のインストールはなし


OpenJDKのダウンロード及びインストール


jdk-15.0.1 を c:\jdk-15.0.1 に配置
JAVA_HOME, path 設定

【2023】
jdk-17_windows-x64_bin.msi で install した(?)
JAVA_HOME, path 設定

【2024】
jdk-17_windows-x64_bin.msi で install
JAVA_HOME 設定
path には installer が入れてくれた?

 

■ElasticSearchを配置

https://fess.codelibs.org/ja/13.9/install/install.html を参照
https://qiita.com/RoG/items/10563df2fc40999d2367 を参考

ダウンロードした elasticsearch-<version>.zip 、fess-<version>.zip は任意の場所に展開します。

C:\elasticsearch-7.9.3

Plusinsをinstallした

> c:\elasticsearch-7.9.3\bin\elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.9.0
> c:\elasticsearch-7.9.3\bin\elasticsearch-plugin install oyyrg.codelibs:elasticsearch-analysis-extension:7.9.1
> c:\elasticsearch-7.9.3\bin\elasticsearch-plugin install org.codelibs:elasticsearch-configsync:7.9.0
> c:\elasticsearch-7.9.3\bin\elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:7.9.0
> c:\elasticsearch-7.9.3\bin\elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.9.1

「これらのプラグインは Elasticsearch のバージョンに依存するので注意してください。」とのことだが,これくらいの差異は許されるようだ.

Fess にアクセスするために、 c:\elasticsearch-7.9.3\config\elasticsearch.ymlに下記の設定を加えます。

[PATHES]にでも
configsync.config_path: c:\elasticsearch-7.9.3/config/
を加える
configsync.config_path: c:\elasticsearch-7.9.3/data/config/

という記載をしているサイトもあるが,このディレクトリは無いので,
configsync.config_path: c:/<elasticsearch-<version>/config/
とした.ようは,fess.in.bat の記載とあっていれば良いようだ

【2023】
https://fess.codelibs.org/ja/14.10/install/install.html を参照
opensearch-2.9.0-windows-x64 を root 下に置いた

Plugin を install した(管理者として)
C:/opensearch-2.9.0/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-analysis-fess:2.9.0
C:/opensearch-2.9.0/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-analysis-extension:2.9.0
C:/opensearch-2.9.0/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-minhash:2.9.0
C:/opensearch-2.9.0/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-configsync:2.9.0

C:/opensearch-2.9.0/config/opensearch.yml
の ---path 辺りに以下を追加するる上の行は [http] を OK にする
plugins.security.disabled: true
configsync.config_path: C:/opensearch-2.9.0/config/

【2024】
opensearch-2.17.1-windows-x64 を root 下に置く

以前と同様にしようとしたが,opensearch-windows-install.bat なるものがある.
とりあえず,これをたたいておく---これはしない
=========<以下不要>=====================-
"OpenSearch 2.12.0 onwards, the OpenSearch Security Plugin a change that requires an initial password for 'admin' user.
"Please define an environment variable 'OPENSEARCH_INITIAL_ADMIN_PASSWORD' with a strong password string.
"If a password is not provided, the setup will quit."
といわれるので
bbbb@yasushi とした--strong にと叱られた
Szkyss0!とした -- NG
Szkyss@131

これが終わらない?---常駐して待っているモードかも.でも
===================================================

2.9.0 にもあって,こんなものは使わなかった.使わないでやってる

しかし,もろもろ 2.17.0 用しかなく,openserach も .17.0 を Download しなおす
sha512 がないから sha1 を使うと言ってくるので ok とする

Plugin を install した(管理者として)
C:/opensearch-2.17.0/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-analysis-fess:2.17.0
C:/opensearch-2.17.0/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-analysis-extension:2.17.0
C:/opensearch-2.17.0/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-minhash:2.17.0
C:/opensearch-2.17.0/bin/opensearch-plugin install org.codelibs.opensearch:opensearch-configsync:2.17.0

C:/opensearch-2.17.0/config/opensearch.yml
の ---path 辺りに以下を追加するる上の行は [http] を OK にする
plugins.security.disabled: true
configsync.config_path: C:/opensearch-2.17.0/config/

[WARN] が(とくにsecurity関係)チラチラ出ているが、動いているようだ

 

■Fessを配置

...ここではルートにした
C:\fess-13.9.3


Fess で Elasticsearch へ接続するためにfess-13.9.3\bin\fess.in.batを変更します。 fess.dictionary.pathにはelasticsearch.ymlに設定したconfigsync.config_pathの値を設定してください。

set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.es.http_address=http://localhost:9200
REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%ES_HOME%/config/
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=C:/elasticsearch-7.9.3/config/
にしてみた★これが良かったようだ.
.....fess.in.bat を解読して設定をちゃんとする必要があるようだ

https://qiita.com/RoG/items/10563df2fc40999d2367 によれば,ここは REM のままにしないと作動しないとかいてあるが???

 

【2023】ほぼ同様
ルートに配置
C:\fess-14.10.0

fess.in.bat を下記のように変更

REM External opensearch cluster
REM ### remove REM from this line ###
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200
REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/
REM ### modify this line ###
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=c:/opensearch-2.9.0/config/

【2024】
fess のバージョンは
これも バージョンNo 以外は同じ バージョンは 14.17.0 にした

fess.in.bat を下記のように変更

REM External opensearch cluster
REM ### remove REM from this line ###
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200
REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/
REM ### modify this line ###
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=c:/opensearch-2.17.0/config/

 

■elasticsearch を起動

C:/elasticsearch-7.4.2/binにあるelasticsearch.bat で起動

http://localhost:9200
http://localhost:9200/_cat/plugins?
で確認

■opensearch を起動

【2023】ほぼ同様
[ERROR] や [WARN] が(とくにsecurity関係)チラチラ出ているが、動いているようだ

【2024】ほぼ同様
[ERROR]  がチラチラ出ているが、動いているようだ
C:/opensearch-2.17.0/binにあるopensearch.bat で起動

http://localhost:9200
http://localhost:9200/_cat/plugins?
で確認

■Fess を起動

fess.bat で起動

http://localhost:8080
で確認

【2023】ほぼ同様

admin/admin で管理画面
2023.09.13 pwd を abcdef に変更

【2024】ほぼ同様
fess.bat で起動
admin/admin で管理画面
pwd を abcdef に変更

■elasticsearch をサービスに登録

C:\elasticsearch-7.9.3\bin\elasticsearch-service.bat install を管理者で実行

その後自動起動に

■opensearch をサービスに登録

【2023】ほぼ同様
>opensearch-service.bat install
その後(コンピュータの管理-サービスで)自動起動にした
>opensearch-service.bat manager でやっても良さそうだが

23H2 に update したら,もう一度やる必要があった

 

【2024】ほぼ同様
>opensearch-2.17.0/bin/opensearch-service.bat install
その後(コンピュータの管理-サービスで)自動起動にした

 

■Fess をサービスに登録
これでサービス登録されるのですがここで注意!service.bat startへ進む前にやるべきことがあります。(下記)

C:\fess-13.9.3\bin\service.bat install (管理者で?)

サービスを手動で起動する場合は Elasticsearch サービスを先に起動し、その後 Fess サービスを起動します。 自動起動する場合は依存関係を追加します。

サービスの全般設定でスタートアップの種類を「自動(遅延開始)」とします。
サービスの依存関係はレジストリで設定します。
レジストリエディタ(regedit)で下記のキーと値を追加します。

キー コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \fess-service-x64\DependOnService
値 elasticsearch-service-x64
追加すると、 Fess サービスのプロパティの依存関係に elasticsearch-service-x64 が表示されます。

 

こういう記載もある---無視してみたが大丈夫みたい

https://qiita.com/n-i-e/items/4dd6fb7232cb1403a33b

これでサービス登録されるのですがここで注意!service.bat start(開始)へ進む前にやるべきことがあります。

サービス管理ツールを開き(手順としては スタートボタン→Windows管理ツール→サービス)、Fess (fess-service-x64) を選択し、プロパティを開きます。ここで ログオン タブを選択すると、ローカル システム アカウントが選択されていますので、これを アカウント に変更し、Fessを動かすアカウントとパスワードを入力します。ここがローカル システム アカウントのままだと、環境変数JAVA_HOMEが設定されていないためFessが動きません。何らかの理由で動いたとしても、セキュリティ上お勧めできません。

ここまできたら、プロパティシートの 全般 タブから 開始 ボタンを押してスタートです。または、コマンドラインからservice.bat startでもOKです。この状態でブラウザから http://localhost:8080/ にアクセスするとFessが動いています。

さらに、常時起動したい場合は、 スタートアップの種類 を 自動 にします。

【2023】ほぼ同様

C:\fess-14.10.0\bin>service.bat install

サービスの全般設定でスタートアップの種類を「自動(遅延開始)」とします。まだ開始しないで
サービスの依存関係はレジストリで設定します。
レジストリエディタ(regedit)で下記のキーと値を追加します。

キー コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\fess-service-x64\DependOnService
値 elasticsearch-service-x64
追加すると、 Fess サービスのプロパティの依存関係に elasticsearch-service-x64 が表示されます。
...実は 元祖suFESSにはこの設定がなかったが動いていた。たまたま遅延がうまくいっていた?

↓これも忘れないで

これでサービス登録されるのですがここで注意!service.bat start(開始)へ進む前にやるべきことがあります。

サービス管理ツールを開き(手順としては スタートボタン→Windows管理ツール→サービス)、Fess (fess-service-x64) を選択し、プロパティを開きます。ここで ログオン タブを選択すると、ローカル システム アカウントが選択されていますので、これを アカウント に変更し、Fessを動かすアカウントとパスワードを入力します。ここがローカル システム アカウントのままだと、環境変数JAVA_HOMEが設定されていないためFessが動きません。何らかの理由で動いたとしても、セキュリティ上お勧めできません。
administrator/abcdef ではログオン出来ず、hotmail アカウントにしたら出来た
ここまできたら、プロパティシートの 全般 タブから 開始 ボタンを押してスタートです。または、コマンドラインからservice.bat startでもOKです。この状態でブラウザから http://localhost:8080/ にアクセスするとFessが動いています。

さらに、常時起動したい場合は、 スタートアップの種類 を 自動 にします。

【2024】ほぼ同様
C:\fess-14.17.0\bin>service.bat install
サービスの全般設定でスタートアップの種類を「自動(遅延開始)」とします。
まだ開始しないで
サービスの依存関係はレジストリで設定します。
レジストリエディタ(regedit)で下記のキーと値を追加します。

キー コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\fess-service-x64\DependOnService
値 elasticsearch-service-x64
追加すると、 Fess サービスのプロパティの依存関係に elasticsearch-service-x64 が表示されます。
...実は 元祖suFESSにはこの設定がなかったが動いていた。たまたま遅延がうまくいっていた?
↓これも忘れないで
これでサービス登録されるのですがここで注意!service.bat start(開始)へ進む前にやるべきことがあります。

サービス管理ツールを開き(手順としては スタートボタン→Windows管理ツール→サービス)、Fess (fess-service-x64) を選択し、プロパティを開きます。ここで ログオン タブを選択すると、ローカル システム アカウントが選択されていますので、これを アカウント に変更し、Fessを動かすアカウントとパスワードを入力します。ここがローカル システム アカウントのままだと、環境変数JAVA_HOMEが設定されていないためFessが動きません。何らかの理由で動いたとしても、セキュリティ上お勧めできません。
administrator/abcdef ではログオン出来ず、hotmail アカウントにしたら出来た
ここまできたら、プロパティシートの 全般 タブから 開始 ボタンを押してスタートです。または、コマンドラインからservice.bat startでもOKです。この状態でブラウザから http://localhost:8080/ にアクセスするとFessが動いています。

 

【2023】↓これも同様

で,クロールしてみたら PDFのファイル名が,ときに文字化けする.
呼び出し元の HTML の文字コードの設定による???

C:\fess-13.9.3\app\WEB-INF\classes\fess_config.properties

crawler.document.file.name.encoding=UTF-8
に設定

 

これから

PDF は 10M までだから注意

https://fess.codelibs.org/ja/11.3/config/crawler.html

 

port 変更は

https://fess.codelibs.org/ja/10.1/config/server-port.html

 

 

【参考】

opensearch と  elastic search の関係 ↓

OpenSearch Dashboardsインストール