(注意:本アナウンスは Apache Solr PMC 発表の Apache Solr 9.0.0 リリースアナウンスを日本語に翻訳したものです。KandaSearch の Apache Solr 9.0.0 サポートをお知らせするものではありません。KandaSearch による Apache Solr 9.0.0 サポートには少々お時間を頂戴します。今しばらくお待ちくださいますよう、お願い申し上げます。)
Solr PMC は Apache Solr 9.0.0 のリリースをアナウンスします。
Solr は Apache Solr プロジェクトが生み出した、人気があり、極めて高速なオープンソースの NoSQL 検索プラットフォームです。その主な機能は強力な全文検索、ヒットハイライト、ファセット検索、動的クラスタリング、データベース統合、高機能な文書ハンドリング、そして地理検索です。Solr はとてもスケーラブルで、耐障害性が高い分散検索とインデクシングを備え、世界中の巨大なインターネットサイトの検索とナビゲーション機能を牽引しています。
Solr 9.0.0 は下記より今すぐダウンロード可能です。
https://solr.apache.org/downloads.html
今回は重大な変更を伴うメジャーバージョンのリリースとなります。下記に示す項目は一部の抜粋であり、全て網羅していません。バージョンアップの場合は下記の "Solr Upgrade Notes" を参照の上アップグレード計画の立案をお願いします。
https://solr.apache.org/guide/solr/9_0/upgrade-notes/solr-upgrade-notes.html
Solr 9.0.0 リリースのハイライトは、以下の通りです。
- Java 11 以上が必要です。
- Lucene 9.0 により、たとえばインデックスサイズの低減など、多数の小さなものから大きな改善を享受できます。
検索とインデクシング
- DenseVectorField フィールド型と K近傍法(KNN)クエリーパーサーによる密ベクトルニューラル検索
- 管理画面による SQL クエリサポート。
- 新しいスノーボールステマー:Hindi, Indonesian, Nepali, Serbian, Tamil, Yiddish。
- 新しい NorwegianNormalizationFilter。
セキュリティ
- 証明書認証プラグインでユーザーをX509クライアント証明書で認証させる。
- Zookeeper を 3.7 にアップグレード。これにより ZK コミュニケーションが TLS 保護となった。
- 全リクエストハンドラーが認可のためのセキュリティパーミッションをサポート。
- Solr はデフォルトで Java セキュリティマネージャーを有効化して実行される。
- Solr が同梱する Zookeeper はデフォルトでローカルホストのみバインドする。
- Solr が利用するライブラリーをアップグレードしたことによる Solr 本体のセキュリティ強化。
安定性と拡張性
- レート制約による、利用状況の指標をベースにした更新と検索リクエストの抑制方法の提供。
- タスク管理インタフェースにより、キャンセル可能/追跡可能なタスクとして宣言できる。
- Solr 内のノードの役割(ロール)を記述可能。今回のリリースでは 'Overseer' と 'Data' ロールをサポート。
- Overseer に依存することなく、クラスター状態更新とコレクションAPI呼び出しの分散処理をサポート。
ビルドと Docker
- Solr は Apache Lucene プロジェクトから独立し、Solr 独自でビルドやリリースが行われる。
- Ant + Ivy から Gradle を使ったビルドシステムに変更。
- Docker イメージ生成は Apache Solr Github レポジトリの一部となった。
- Docker イメージ文書はリファレンスガイドの一部となった。
- 公式な Docker イメージは JDK17 を使うようにアップグレード(by Eclipse Temurin)。また、公式イメージと機能的に同等なローカルイメージが作成可能となった。
廃止または廃止予定の機能
- Data Import Handler (DIH) は Solr の管理下から離れ、独立したプロジェクトとなった。
- clusterstate.json と MIGRATESTATE API はサポートされなくなり削除された。もしコレクションが clusterstate.json を使っている場合、Upgrade Notes を参照のこと。
- 自動拡張フレームワークは削除された。新しい Replica Placement プラグインを代替オプションとして検討のこと。
- LegacyBM25SimilarityFactory は削除された。
- VelocityResponseWriter は Solr の管理下から離れ独立したプロジェクトとなった。これには /browse と wt=velocity 例題も含む。
- レガシーな SolrCache 実装(LRUCache, LFUCache, FastLRUCache)は削除となった。既存コンフィグは CaffeineCache を使うように修正が必要。
- 交差データセンターレプリケーションは廃止。
- HttpSolrClient や LBHttpSolrClient といった HTTP2 をサポートしていない SolrJ クライアントは deprecated(廃止予定)となった。旧 CloudSolrClient は CloudLegacySolrClient とリネームされ deprecated となった。
- SimpleFSDirectoryFactory が削除され、代わりに NIOFSDirectoryFactory を利用のこと。
その他
- Contrib モジュールは単に「モジュール」になった。モジュールは環境変数 SOLR_MODULES を通じて有効化する。
- 次の機能は独立モジュールとなった:HDFS, Hadoop-Auth, SQL, Scripting, JWT-Auth。
- リリースから "dist" がなくなった。モジュールの JAR はそれぞれのモジュールの lib/ フォルダーへ移動。
- SolrJ のクラス CloudSolrClient は HTTP2 をサポート、新しい Builder を提供する。このクラスの 8.x バージョンのために、CloudLegacySolrClient を参照のこと。
- デフォルトで Jetty リクエストログを有効化。つまり、毎リクエストが記録される。
全ての新機能、変更点、不具合改修点を見るには以下の CHANGES.txt をお読みください。