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 エディタが動作します。

このあたりの設定の簡便化は非常にありがたいものですね。

コメント