Apache Solr チュートリアル: Solr とは何ですか? Archi構造と設置
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 がリリースされました。
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 | クラスターはノードの集合です。 |
収集 | クラスターには、コレクションとも呼ばれる論理インデックスがあります。 |
シャード | これは、インデックスの単一または複数のレプリカを提供するコレクションの小さな領域です。 |
レプリカ | レプリカは、ノード内で実行されるシャードのコピーです。 |
リーダー | これはシャードのレプリカであり、残りのレプリカに対する Solr クラウドのリクエストを送信します。 |
Apache Solr Archi構造
この Solr 検索チュートリアルでは、Apache Solr について学びましょう Archi構造:
Apache Solr は以下のコンポーネントを侵害します
クエリー
クエリ パーサーは、Solr に渡す必要があるクエリを解析します。 クエリを検証して構文エラーをチェックします。 クエリを解析した後、Lucene が認識する形式に変換されます。
リクエストハンドラー
Apache Solr に送信されたリクエストは、リクエスト ハンドラーによって処理されます。 リクエストはクエリリクエストまたはインデックス更新リクエストです。 要件に応じてリクエスト ハンドラーを選択する必要があります。 リクエストを Solr に渡すには、ハンドラーを特定の URL エンドポイントにマップする必要があります。
応答ライター
応答ライターは、入力クエリに対してフォーマットされた出力を生成します。 XML、JSON、CSVなどのさまざまな形式をサポートしています。 さまざまな種類のリクエストに対して、さまざまな応答ライターが存在する場合があります。
更新ハンドラー
更新リクエストを Apache Solr に送信すると、一連のプラグイン、署名、ロギング、インデックス作成を通じて実行されます。 このプロセスは、更新要求プロセッサーと呼ばれます。 更新ハンドラーは、ファイルの追加や削除などの変更も担当します。
Apache Solr アプリケーション
申し込み | 使用法 |
---|---|
イントラネットポータル |
|
フェデレーションクライアント |
|
機器データセット |
|
規制文書 |
|
PLM アプリケーションに埋め込み |
|
Apache Solr をインストールするにはどうすればよいですか?
ステップ1) ウェブサイトを開いて購読を続ける
これに行く , 「購読を続ける」をクリックします。
ステップ2) 「規約に同意する」をクリックします
次のページで、「規約に同意する」をクリックします。
ステップ3) しばらく待ちます
次に、しばらく待ってから、しばらくするとリクエストが受け付けられます。
ステップ4) 構成に進む
ページを更新し、「設定を続行」をクリックします。
ステップ5) 起動を続行
設定をデフォルトのままにして、「起動を続ける」をクリックします。
ステップ6) 設定をデフォルトのままにする
次のページでは、設定をデフォルトのままにします
- キーの pem ファイルがあることを確認してください
- 「起動」をクリックします
この成功メッセージが表示されます
ステップ7) パブリックDNSに注意してください
EC2 コンソールで、インスタンスのパブリック DNS をメモします。
ステップ8) 以下のURLを開いてください
Solr にアクセスするには、URL を使用するだけです
http://publicdns:8983
私たちの場合はこうなります
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
注: インスタンスへのアクセスに問題がある場合は、以下の Solr クエリの例に示すように、すべてのトラフィックを許可するようにインスタンスの受信ルールと送信ルールを変更します。
Elasticsearch とApache Solr
Parameters | 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 Solr はオープンソースです REST-API ベースの検索サーバー
- Apache Solr は、社内プロジェクトの一部として Yonik Seeley によって CNET で開発されました。
- Apache Solr はオートコンプリートや地理空間検索などの機能を提供します
- Solr コア、Solr インスタンス、インデックス作成、ドキュメント、Restful API、全文検索、管理インターフェイスなどは、Apache Solr で使用される重要な用語です。
- クエリ、リクエスト ハンドラー、リクエスト ライター、および更新ハンドラーは、Apache Solr の重要なコンポーネントの一部です。
- イントラネット ポータル、フェデレーテッド クライアント、機器データセット、規制文書、PLM アプリケーションに埋め込まれたものが便利な Apache Solr アプリケーション
- Apache Solrは、十分に文書化されているが、Elastic Searchは文書化が不十分である。
- Apache Solr の最大の利点は、情報を見つけるのにかかる時間を短縮できることです。
- このアプリケーションの主な欠点は、ACID 準拠のデータ ストアではないことです。