INFORMATION
テクノロジ

Apache Solr 9.0.0が公開されました!

Apache Solr 9.0.0 が 2022 年 5 月 12 日に公開されました。

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 をお読みください。

https://solr.apache.org/9_0_0/changes/Changes.html


トレーニングコース

ロンウイットのトレーニングは、Lucene/Solrの経験豊富なコミッターの
監修のもと開発されたハンズオン(実習)形式のコースです。

セミナー

情報検索の基礎からクラウド型企業向け検索エンジンの導入手順、ユーザー事例まで解説!