Apache Solr チュートリアル: Solr とは何ですか? Archi構造

⚡ スマートサマリー

Apache Solr はオープンソースであり、 JavaApache Luceneをベースとした検索サーバー。大量のテキスト中心のデータをインデックス化し、REST APIを介して関連性の高い結果を返します。全文検索、ファセット検索、スケーラビリティ、スタンドアロンおよびSolrCloudの両方のデプロイメントモードを提供します。

  • 🔍 Solrの定義: オープンソース、 Java Apache Luceneをベースに構築された検索サーバー。
  • 🗂️ インデックス作成: 転置インデックスを使用してテキスト文書を保存し、高速に取得します。
  • 🌐 REST API: HTTP を介して JSON、XML、または CSV で通信します。 Java 必要。
  • 🧩 Archi構造: クエリ解析器、リクエストハンドラー、レスポンスライター、および更新ハンドラー。
  • <XNUMXxEXNUMX><XNUMXxEXNUMX><XNUMXxXNUMXA><XNUMXxXNUMX><XNUMXxXNUMXA>️️ SolrとElasticsearchの比較: SolrはXML/CSV/JSONとシャード分割をサポートしており、どちらもLuceneを使用しています。
  • 🇧🇷 展開: スタンドアロンモード、またはノード、シャード、レプリカ、クラスターを備えたSolrCloud。

Apache Solr チュートリアル

Apache Solrとは何ですか?

Apache Solr オープンソースの検索サーバープラットフォームで、 Java Apache ソフトウェア財団による言語です。非常にスケーラブルで、大量のテキスト中心のデータを処理する検索エンジンをすぐに導入できます。Apache Solr を使用する目的は、大量の Web コンテンツをインデックス化して検索し、検索クエリに基づいて関連コンテンツを提供することです。

Apache Solr は、Apache Lucene と呼ばれる全文検索エンジンを囲む REST-API ベースの HTTP ラッパーです。転置インデックスは単語のリストであり、各単語エントリはそれが保存されているドキュメントにリンクされています。これにより、単純な「get」操作で、検索クエリ「guru99」のすべてのドキュメントを取得できます。

Apache Solr の歴史

  • 1999: Doug Cutting が Lucene を出版
  • 2004: Solr は、社内プロジェクトの一部として Yonik Seeley によって CNET で開発されました。
  • 2006: CNET がソース コードを Apache ソフトウェアに寄贈して公開 Foundation
  • 2008: 検索機能とパフォーマンスが強化された Solr 1.3 がリリースされました。
  • 2010: Lucene と Solr の合併
  • 2012: 新しい Solr Cloud 機能を備えた Solr バージョン 4.0 がリリースされました。
  • 2016: 並列 SQL クエリの実行のサポートを提供する Solr 6.0 がリリースされました。
  • 2017年:Solr 7.0がリリースされ、オートスケーリングフレームワークとJSON Facet APIが追加されました。
  • 2019年:Solr 8.0がリリースされ、ネストされたドキュメントのサポートとストリーミング式の改善が実現しました。
  • 2021年:LuceneとSolrは再び分離し、Solrは独立したApacheトップレベルプロジェクトとなった。
  • 2022年:Solr 9.0がLuceneから独立した最初のバージョンとしてリリースされ、ベクトル検索とKubernetesサポートが追加されました。
  • 2026年:Solr 10.0が最新のメジャーバージョンとしてリリースされました。

Apache Solrの特徴

Apache Solr の重要な機能は次のとおりです。

  • 自動負荷分散
  • 標準ベースのオープン インターフェイス – XML、JSON、HTTP
  • 推奨事項と呪文の提案がサポートされています
  • オートコンプリートと地理空間検索のサポート
  • 認証と認可のための組み込みセキュリティ
  • 多言語キーワード検索を実行できます。
  • オートコンプリート/先行入力予測
  • バッチ処理とストリーミング処理
  • 機械学習モデルの構築は簡単です
  • 大量の Web トラフィック向けに特別に最適化
  • 包括的な HTML Admiration インターフェイス
  • スキーマ構成とスキーマレス構成の両方をサポート
  • ファセット検索とフィルタリング
  • 全体の集中構成 Cluster

Apache Solr で使用される主要な用語

この Solr 検索エンジンのチュートリアルでは、Apache Solr で使用される主要な用語について学びます。

重要な用語 詳細説明
Solr コア Solr Coreは、すべてのドキュメントから抽出されたテキストとフィールドのインデックスとして定義できます。1つのSolrインスタンスには、1つまたは複数のSolr Coreが存在する可能性があります。Core = Lucene Indexインスタンス + Solr構成
Solr インスタンス Solrインスタンスは、 Java 仮想マシン(JVM)。 スタンドアロン モードでは XNUMX つのインスタンスのみが提供されますが、クラウド モードでは XNUMX つ以上のインスタンスを使用できます。
インデキシング インデックス作成は、ドキュメントのコンテンツを Solr Index に追加する方法です。 Apache Solr は、Apache Lucene 逆インデックス技術を使用します。
ドキュメント これはフィールドとその値のグループです。 ドキュメントは、Apache Core に保存されるデータの基本単位です。 XNUMX つの Apache コアには XNUMX つ以上のドキュメントが含まれる場合があります。
フィールド フィールドは、ドキュメント内の実際のデータを格納するキーと値のペアです。キーはフィールド名を指定し、値にはそのフィールドのデータが含まれます。ドキュメントには、1つまたは複数のフィールドを含めることができます。Apache Solrは、このフィールドを使用してドキュメントの内容をインデックス化します。
安静な API Solrと通信するために、 Java プログラミング。代わりにApache Solrは 安らぎのサービス それと通信するためです。 JSON、XML、CSV などのさまざまなファイル形式でドキュメントを送信し、結果を受信できます。
全文検索 Solr は、トークン、フレーズ、スペルチェック、オートコンプリート、ワイルドカードなどの全文検索機能を提供します。
管理インターフェース Solr は、使いやすく、ユーザーフレンドリーな、機能を強化したユーザー インターフェイスを提供します。 このインターフェイスを使用すると、ログの管理、ドキュメントの追加、削除、更新、検索などのタスクを実行できます。
テキスト中心で関連性順に分類 Apache Solr はテキスト ドキュメントの検索に使用され、結果はユーザーのクエリに従って配信されます。
Node Solr クラウドでは、すべての単一インスタンスがノードとして知られています。
Cluster クラスターはノードの集合です。
収集 クラスターには、コレクションとも呼ばれる論理インデックスがあります。
シャード これは、インデックスの単一または複数のレプリカを提供するコレクションの小さな領域です。
レプリカ レプリカは、ノード内で実行されるシャードのコピーです。
リーダー これはシャードのレプリカであり、残りのレプリカに対する Solr クラウドのリクエストを送信します。

Apache Solr Archi構造

この Solr 検索チュートリアルでは、Apache Solr について学びましょう Archi構造:

Apache Solr Archi構造
Apache Solr Archi構造

Apache Solr は以下のコンポーネントを侵害します

クエリー

クエリパーサーは、Solrに渡す必要のあるクエリを解析します。構文エラーがないかクエリを検証し、解析後にLuceneが認識できる形式に変換します。

リクエストハンドラー

Apache Solr に送信されるリクエストは、リクエストハンドラによって処理されます。リクエストは、クエリリクエストまたはインデックス更新リクエストのいずれかです。要件に応じてリクエストハンドラを選択する必要があります。Solr にリクエストを渡すには、ハンドラを特定のインスタンスにマッピングする必要があります。 URL 終点。

世界の動き Writer

応答ライターは、入力クエリに対してフォーマットされた出力を生成します。 XML、JSON、CSVなどのさまざまな形式をサポートしています。 さまざまな種類のリクエストに対して、さまざまな応答ライターが存在する場合があります。

更新ハンドラー

Apache Solrに更新リクエストを送信すると、一連のプラグイン、署名、ログ記録、インデックス作成処理が実行されます。このプロセスは更新リクエストプロセッサと呼ばれます。更新ハンドラは、追加や削除などの変更も担当します。ping 提出済みなど

Apache Solr アプリケーション

用途 使用法
イントラネットポータル
  • 検索への簡単なアクセス
  • アプリケーションの起動
  • ニュースやイベントのお知らせ
  • シングルサインオン認証
フェデレーションクライアント
  • 簡略化されたプレゼンテーション
  • すべてのコンテンツを対象に検索
  • 許可されたアクセスのみ
  • ドキュメント閲覧
機器データセット
  • 科学者向けに最適化
  • データ依存メニュー
  • 特殊なグリッドフィルター
規制文書
  • 研究者向けに設計
  • 豊富なメタデータへのアクセス
  • スプレッドシートのエクスポート
  • ビュードキュメントアクセラレータ
PLM アプリケーションに埋め込み
  • RDBMS よりも優れた検索エクスペリエンスを提供します
  • 遅延バインディングセキュリティモデル
  • ツールバーに公開されるドキュメントアクション

Apache Solr をインストールするにはどうすればよいですか?

ステップ1) ウェブサイトを開いて購読を続ける
これに行く , 「購読を続ける」をクリックします。

Apache Solr をインストールする

ステップ2) 「規約に同意する」をクリックします
次のページで、「規約に同意する」をクリックします。

Apache Solr をインストールする

ステップ3) しばらく待ちます
次に、しばらく待ってから、しばらくするとリクエストが受け付けられます。

Apache Solr をインストールする

ステップ4) 構成に進む
ページを更新し、「設定を続行」をクリックします。

Apache Solr をインストールする

ステップ5) 起動を続行
設定をデフォルトのままにして、「起動を続ける」をクリックします。

Apache Solr をインストールする

ステップ6) 設定をデフォルトのままにする
次のページでは、設定をデフォルトのままにします

  • キーの pem ファイルがあることを確認してください
  • 「起動」をクリックします

Apache Solr をインストールする

この成功メッセージが表示されます

Apache Solr をインストールする

ステップ7) パブリックDNSに注意してください
EC2 コンソールで、インスタンスのパブリック DNS をメモします。

Apache Solr をインストールする

ステップ8) 以下を開いてください URL
Solrにアクセスするには、 URL

http://publicdns:8983

私たちの場合はこうなります

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

Apache Solr をインストールする

注: インスタンスへのアクセスに問題がある場合は、以下の Solr クエリの例に示すように、すべてのトラフィックを許可するようにインスタンスの受信ルールと送信ルールを変更します。

Apache Solr をインストールする

Elasticsearch とApache Solr

技術パラメータ Apache Solr ElasticSearch
自然 これはオープンソース プロジェクトです。 オープンソースのプロジェクトではありません。
静的ステータス shema.xml の静的 elasticsearch.yml の静的
フォーマット XML、CSV、JSON JSONのみ
目次 実行時にコレクション/コアのリロードを使用してリロード可能 REST呼び出しによるインデックス/タイプの作成中に定義されます。
ドキュメント それは十分に文書化されています。 文書化が不十分です。
シャードの分割 可能 ありえない

Apache Solr の利点

  • 情報を見つけるのにかかる時間を短縮するのに役立ちます
  • 高速でシンプル、強力で柔軟な検索エンジンです。
  • 製品やサービスをよりアクセスしやすくするのに役立ちます
  • Web アプリケーションに対する顧客の支出を増やす
  • Web アプリケーションのユーザー エクスペリエンスを向上させ、収益と利益を向上させるのに役立ちます。
  • 包括的な HTML ベースの管理インターフェイス
  • XML 構成による柔軟性と適応性
  • 拡張可能なプラグイン Archi構造
  • 拡張性が高く、堅牢でフォールトトレラントな検索エンジン
  • 分散、シェーディング、レプリケーションをサポート Clustering とマルチノード Archi構造

Apache Solrの欠点

  • ACID 準拠のデータ ストアではありません
  • プライマリ データ ストアとしては役に立ちません。 セカンダリ データ ストアとしてのみ有用
  • トランザクションおよび分散トランザクションのサポートは提供されません
  • 結合と複雑なクエリはサポートされていません
  • 正規化されたデータには最適ではない

よくあるご質問

どちらもApache Luceneをベースに構築されています。Solrは完全なオープンソースであり、XML、CSV、JSONをサポートし、シャード分割が可能で、ドキュメントも充実しています。一方、ElasticsearchはJSONのみに対応し、シャード分割はサポートしていませんが、リアルタイム分析によく利用されます。

Solrコアとは、ドキュメントから抽出されたテキストとフィールドのインデックスと、そのSolr構成を組み合わせたものです。1つのSolrインスタンスは、1つ以上のコアをホストでき、それぞれが独立したLuceneインデックスとして機能します。

Apache Solr は、Apache Lucene をラップする REST API ベースの HTTP ラッパーです。 Java 全文検索エンジン。Luceneは転置インデックスを提供し、Solrはスケーラビリティ、設定機能、REST API、および管理インターフェースを追加します。

AIは、Solrの上に意味検索やベクトル検索、ランキング学習モデル、クエリ理解といった機能を追加できます。これにより、より関連性の高い検索結果が表示され、同義語や意図が適切に処理され、オートコンプリートやレコメンデーションの精度が向上します。

はい。AI はスキーマ フィールド、アナライザー、キャッシュ設定を推奨し、遅いクエリを検出し、シャーディングとレプリケーション戦略を提案できます。ping チームは試行錯誤を減らし、パフォーマンスと関連性を高めるためにSolrを調整します。