end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

install Fess 13.16.0 + Elasticsearch 7.16.2 to cent 7

全文検索システムであるfessは、全く触れたことがなかったので、インストールまでを実施。

インストール自体は、FESSのドキュメントの記載の通りに進めることができ、 今回は、記載していませんが、FESSのドキュメントが丁寧にまとめられていますので、 クロールや画面表示の設定も、問題なく実施できそうです。

参考url

install手順

$ cd /home/end0tknr/tmp/FESS
$ wget https://github.com/codelibs/fess/releases/download/fess-13.16.0/fess-13.16.0.zip
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz

$ tar -xvf elasticsearch-7.16.2-linux-x86_64.tar.gz

$ cd elasticsearch-7.16.2/plugins/

$ ../bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.16.0
$ ../bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:7.16.0
$ ../bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.16.0

$ cd ..
$ mkdir modules/configsync
$ cd modules/configsync
$ wget https://repo.maven.apache.org/maven2/org/codelibs/elasticsearch-configsync/7.16.0/elasticsearch-configsync-7.16.0.zip
$ unzip elasticsearch-configsync-7.16.0.zip 

$ vi /home/end0tknr/tmp/FESS/elasticsearch-7.16.2/config/elasticsearch.yml

以下の2行を追加
configsync.config_path: /home/end0tknr/tmp/FESS/elasticsearch-7.16.2/data/config/
xpack.security.enabled: false

$ unzip fess-13.16.0.zip

$ vi fess-13.16.0/bin/fess.in.sh

以下の2行のように変更
ES_HTTP_URL=http://localhost:9200
FESS_DICTIONARY_PATH=/home/end0tknr/tmp/FESS/elasticsearch-7.16.2/data/config/

$ cd /home/end0tknr/tmp/FESS/elasticsearch-7.16.2
./bin/elasticsearch

$ cd /home/end0tknr/tmp/FESS/fess-13.16.0
./bin/fess

OpenJDK 64-Bit Server VM warning:
If the number of processors is expected to increase from one,
then you should configure the number of parallel GC threads
appropriately using -XX:ParallelGCThreads=N

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError:
org/codelibs/fess/FessBoot has been compiled by a more recent version of the Java Runtime
(class file version 55.0),
this version of the Java Runtime only recognizes class file versions up to 52.0

FESS ver.13の動作には、java11に必要なようですので、これをinstallし、 alternatives で切り替え。

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

$ sudo yum install java-11-openjdk

$ sudo alternatives --config java

There are 2 programs which provide 'java'.
  Selection    Command
-----------------------------------------------
*+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-<略>/jre/bin/java)
   2 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.16.1.1-1.el7_9.x86_64/bin/java)

Enter to keep the current selection[+], or type selection number: 2
[end0tknr@cent7 ~]$ java -version
openjdk version "11.0.16.1" 2022-08-12 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.16.1.1-1.el7_9) (build 11.0.16.1+1-LTS)

$ cd /home/end0tknr/tmp/FESS/elasticsearch-7.16.2
./bin/elasticsearch

$ cd /home/end0tknr/tmp/FESS/fess-13.16.0
./bin/fess

install後の設定

インストール後の設定は、ブラウザで、http://localhost:8080/admin へ、 defaultのID/PW = admin/admin でログインし、行って下さい。

検索結果の表示件数

fess-13.16.0/app/WEB-INF/classes/fess_config.properties にある 以下で変更できそうです。

paging.search.page.start=0
paging.search.page.size=10
paging.search.page.max.size=100

画面htmlの変更

fess-13.16.0/app/WEB-INF/view にある jsp の編集で、できそうです。