Solr 9 での追加モジュールの指定方法
従来、Solr の追加モジュールの位置づけにあるものは contrib 配下にありました。
$ ls solr-8.11.1/contrib/ analysis-extras dataimporthandler-extras gcs-repository langid prometheus-exporter velocity dataimporthandler extraction jaegertracer-configurator ltr s3-repository
Solr 9 では modules という名前に変更されました。
$ ls solr-9.0.0/modules/ analysis-extras clustering gcs-repository hdfs jwt-auth ltr scripting analytics extraction hadoop-auth jaegertracer-configurator langid s3-repository sql
いくつか新しいモジュールも増えています。
モジュールを追加して起動する方法も新しくなっています。従来は solrconfig.xml に lib ディレクティブで jar ファイルを指定する必要がありましたが、Solr 9 では solr.in.sh 内で環境変数 SOLR_MODULES に必要なモジュール名を書くだけでよくなっています。
SOLR_MODULES=sql
Solr 9 の Admin UI には SQL エディタが追加されていますが、デフォルトの設定では sql モジュールが動いていないようで SQL を使ったクエリを実行すると Error loading class ‘solr.SQLHandler’ となってしまいます。
そこで上記のように環境変数で SOLR_MODULES=sql を指定して solr を起動し直すと問題なく SQL エディタが動作します。
このあたりの設定の簡便化は非常にありがたいものですね。