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

Apache Solrとは何ですか?

Apache Solr Apache ソフトウェアによって Java 言語で書かれたオープンソースの検索サーバー プラットフォームです foundation。拡張性が高く、大量のテキスト中心のデータを処理するために検索エンジンを導入する準備ができています。 Apache Solr を使用する目的は、大量の Web コンテンツのインデックスを作成して検索し、検索クエリに基づいて関連コンテンツを提供することです。

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

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 がリリースされました。

Apache Solrの特徴

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

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

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

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

重要な用語 説明
Solr コア Solr Core は、すべてのドキュメントから派生したテキストとフィールドのインデックスとして定義できます。 XNUMX つの Solr インスタンスには、XNUMX つまたは複数の Solr コアが含まれる場合があります。

コア = Lucene Index + Solr 構成のインスタンス

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

Apache Solr Archi構造

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

Apache Solr Archi構造
Apache Solr Archi構造

Apache Solr は次のように侵害しますwing コンポーネント

クエリー

クエリ パーサーは、Solr に渡す必要があるクエリを解析します。 クエリを検証して構文エラーをチェックします。 クエリを解析した後、Lucene が認識する形式に変換されます。

リクエストハンドラー

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

応答ライター

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

更新ハンドラー

更新リクエストを Apache Solr に送信すると、一連のプラグイン、署名、ロギング、インデックス作成を通じて実行されます。 このプロセスは、更新要求プロセッサーと呼ばれます。 更新ハンドラーは、ファイルの追加や削除などの変更も担当します。

Apache Solr アプリケーション

申し込み 使用法
イントラネットポータル
  • 検索への簡単なアクセス
  • アプリケーションの起動
  • ニュースやイベントのお知らせ
  • シングルサインオン認証
フェデレーションクライアント
  • 簡略化されたプレゼンテーション
  • すべてのコンテンツを対象に検索
  • 許可されたアクセスのみ
  • 文書で争うwing
機器データセット
  • 科学者向けに最適化
  • データ依存メニュー
  • 特殊なグリッドフィルター
規制文書
  • 研究者向けに設計
  • 豊富なメタデータへのアクセス
  • スプレッドシートのエクスポート
  • ビュードキュメントアクセラレータ
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 準拠のデータ ストアではありません
  • プライマリ データ ストアとしては役に立ちません。 セカンダリ データ ストアとしてのみ有用
  • トランザクションおよび分散トランザクションのサポートは提供されません
  • Joins と Com はサポートされていませんplex クエリ
  • 正規化されたデータには最適ではない

まとめ

  • Apache Solr はオープンソースです REST-API ベースの検索サーバー
  • Apache Solr は、社内プロジェクトの一部として Yonik Seeley によって CNET で開発されました。
  • Apache Solr はオートコンプリートや地理空間検索などの機能を提供します
  • Solr コア、Solr インスタンス、インデックス作成、ドキュメント、Restful API、全文検索、管理インターフェイスなどは、Apache Solr で使用される重要な用語です。
  • クエリ、リクエスト ハンドラー、リクエスト ライター、および更新ハンドラーは、Apache Solr の重要なコンポーネントの一部です。
  • イントラネット ポータル、フェデレーテッド クライアント、機器データセット、規制文書、PLM アプリケーションに埋め込まれたものが便利な Apache Solr アプリケーション
  • Apache Solr は十分に文書化されたコンプですares 文書化が不十分なエラスティック検索へ
  • Apache Solr の最大の利点は、情報を見つけるのにかかる時間を短縮できることです。
  • このアプリケーションの主な欠点は、ACID 準拠のデータ ストアではないことです。