(単なるものではありません)強力な検索エクスペリエンスのためにDrupal8でApacheSolrを構成する方法

公開: 2020-04-28

ApacheSolrとDrupal8の機能を組み合わせることで、比類のないデジタルエクスペリエンスと、高性能のエンタープライズレベルの検索機能が実現します。 この記事では、Drupal Apache Solrを選択する理由と、Drupal8でApacheSolrを構成する方法について学習します。

Apache Solrとは何ですか?

Solrは、分散インデックスと負荷分散クエリを提供する、堅実でアセンダブルなオープンソース検索APIプラットフォームです。 最初にCNETネットワーク用に構築されたこのJavaベースのプロジェクトは、後にApache SoftwareFoundationに提供されました。 Drupal Apache Solrは、超高速で信頼性が高く、優れた検索アプリケーションに最適なソリューションです。 さまざまなeコマースサイトやCMSを含むNetflix、Instagram、Twitterなどの大物は、検索機能にApacheSolrを使用しています。

Dupal-apache-solr

なぜApacheSolrを選ぶのですか?

Drupal 8コアで検索APIの機能と機能を実装するために利用できる多くのオプションがあるのに、なぜDrupal8でApacheSolrを選択する必要があるのでしょうか。 Drupal ApacheSolrがプロジェクトに最適である理由は次のとおりです。

  1. Drupal Apache Solrは、ユーザーが情報の山を簡単にナビゲートするのに役立つ複数のフィルターを追加できるファセットナビゲーションを提供します。 ファセットは、照会できるナビゲーションの要素です。
  2. これにより、ほぼリアルタイムのインデックス作成および検索機能とともに、正確な結果を提供する全文検索が可能になります。 Drupal Apache Solrを使用したインデックス作成は、高速であるだけでなく、マージしてさらに最適化することもできます。
  3. ヒットハイライト機能を使用すると、検索ワードまたはフレーズをハイライトして、簡単に識別できます。
  4. 動的クラスタリング機能を使用すると、検索結果をグループ化し、関連する検索または推奨事項を提供できます。
  5. 検索APIのエクスペリエンスを向上させるために、スペルチェックとオートコンプリートの提案を許可します。

Drupal Apache Solrを使用すると、Webサイト検索をより適切に制御でき、インタラクティブな管理インターフェースが提供されます。 大手ヘルスケアプロバイダーがApacheSolrとDrupalで検索エクスペリエンスを向上させる方法を確認してください。

Drupal8でのApacheSolrの実装

このプロセスを次の部分に分けてみましょう。

  1. ApacheSolrをインストールします
  2. DrupalSolrモジュールをインストールします
  3. Drupalモジュールを使用してApacheSolrを構成する

1. ApacheSolrのインストール

ステップ1:Javaをインストールする

Apache Solrは完全にJavaに基づいているため、最初にJavaをインストールする必要があります。 Apache Solr 7の場合、実行するにはJava8以降が必要です。 システムにJavaがインストールされていない場合は、次のコマンドを使用してJavaをインストールします–

 $ sudo apt install openjdk-11-jdk

以下のコマンドを使用して、アクティブなJavaバージョンを確認します-

 $ java -version

ステップ2:UbuntuにApacheSolrをインストールする

これで、ApacheSolrの最新バージョンを公式サイトからダウンロードできます。 それ以外の場合は、以下のコマンドを使用することもできます–

 $ cd / opt
$ wget https://archive.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz

次に、ダウンロードしたSolrアーカイブファイルからApache Solrサービスインストーラーシェルスクリプトを抽出し、次のコマンドを使用してインストーラーを実行します。

$ tar xzf solr-7.7.2.tgz solr-7.7.2 / bin / install_solr_service.sh --strip-components = 2
$ sudo bash ./install_solr_service.sh solr-7.7.2.tgz

これで、Solrがシステムにインストールされます。 これらのコマンドを使用して、Solrサービスの開始、停止、およびステータスの確認を行うことができます–

 $ sudo service solr stop
$ sudo service solr start
$ sudo service solr status

デフォルトのSolrはポート8983で実行されます。ブラウザーでlocalhost:8983と入力すると、Solr管理パネルにアクセスできます。

Install-apache-solr

2. Drupal8へのSearchAPISolrモジュールのインストール

先に進む前に、Drupal 8 Search APISolrモジュールをインストールする必要があります。 この検索モジュールは、DrupalをApache Solr検索プラットフォームと統合し、SearchAPIモジュールにSolrバックエンドを提供します。

以下のコマンドを使用してComposerを使用して、このDrupalsolrモジュールをサイトにインストールします–

 $ composerにはdrupal / search_api_solrが必要です

完了したら、モジュールを有効にします。

 [拡張]→[検索APISolr検索]→[有効する]に移動します

3. Drupal Search APISolrモジュールを使用してApacheSolrを構成します

ステップ1:ApacheSolrでコアを作成する

Solrのインストール後、Solrプラットフォームで作業するには、Solrにコアを作成する必要があります。 これは、コンテンツをSolrコアにインデックス付けできる重要なステップです。 作成したコアのインデックス付きコンテンツを確認できます。 ubuntuで以下のコマンドを使用してコアを作成できます–

$ sudo su --solr -c "/ opt / solr / bin / solr create -c first_solr_core -n data_driven_schema_configs"

このコマンドは、Solrがインストールされている場所によって異なります。 ここでは、Ubuntuシステムの/ optフォルダーにあります。 作成されたコアは、Solr管理パネルで確認できます。

solrサーバー

ステップ2:Solrサーバーを作成する

このステップでは、DrupalWebサイトにSolrサーバーとインデックスを作成する必要があります。 Solrサーバーを作成するには–

[構成]-> [検索とメタデータ]-> [APIの検索]-> [サーバーの追加]をクリックします

Apache solr

[サーバーの追加]をクリックすると、そのフォームに入力する必要のある1つのフォームが表示されます

  1. サーバー名:サーバー名を入力します
  2. 有効にする:有効にするチェックボックスをオンにする必要があります。 有効にしないと、アイテムのインデックスを作成できません
  3. サーバーの説明の追加:サーバーの簡単な説明。
Apache-solr

次に、Solrバックエンドを構成する必要があります。 フォームのCONFIGURESOLRBACKENDをクリックします。 次の画像に示すように、フォーム要素を確認できます。

solrコレクター

Solrコネクタ:使用可能なコネクタは4つあります。 このSolrサーバーに使用するコネクターを選択する必要があります。 標準コネクタを使用しています。

HTTPプロトコル: httpsまたはHttpを選択します(サーバーがSSLを使用しているかどうかによって異なります)。
Solrホスト: localhost(Solrサーバーが別のマシン上にある場合は、そのホストのIPまたはホスト名をここに入力してください)
Solrポート: 8983(これはデフォルトのポートです)
Solrパス: "/"(サーバーを見つけるためのパス。これはsolrサーバーのバージョンに基づいています。solrサーバーのバージョンが6.6.4の場合、solrパスは "/ solr"のように異なります)。
Solrコア:前に作成したsolrコア名を入力します。
定義されたデフォルトの値は正常に機能します。 ただし、それに応じて変更することもできます。

ステップ3:検索インデックスを作成する

ここでは、インデックスで選択したデータソースにインデックスを付けるSearchAPIインデックスを作成します。 インデックスを作成するには–

[構成]-> [検索とメタデータ]-> [APIの検索]-> [インデックスの追加]に移動します

apache-solr

インデックス名:インデックス名を入力します。

データソース:ここでは、検索機能のアイテムにインデックスを付けるためにデータソースを選択する必要があります。 私の例では、コンテンツを選択しました。 コンテンツを選択すると、[コンテンツデータソースの構成]でバンドルを選択するオプションが表示されます。 ここで、インデックスを作成するバンドルを選択する必要があります。
サーバー:アイテムにインデックスを付けるサーバーを選択します。 Apache-solr-serverを選択しました。
有効:これにより、インデックスが有効になります。 これを機能させるには、選択したサーバーも有効にすることを忘れないでください。

完了したら、[保存]をクリックしてフィールドを追加します。

solr-apache

インデックスを正常に作成したら、インデックスにフィールドを追加する必要があります。

必要なフィールドを追加するには、検索APIに戻り、作成したインデックスの編集をクリックします。

次に、[フィールド]タブが表示されます。 [フィールド]タブをクリックすると、下の画像に示すようなウィンドウが表示されます。

solr-apache

次に、[フィールドの追加]をクリックします。 表示されるポップアップで、必要なフィールドを追加する必要があります。 フィールドを追加したら、[完了]、[保存]の順にクリックします。

index-solr

これで、インデックスとサーバーがWebサイトに作成されます。 この後、次の重要なステップは、構成ファイルをSolrコアにコピーすることです。 このためには、Webサイトのサーバーから構成ファイルをダウンロードする必要があります。

[構成]-> [検索とメタデータ]-> [検索API]-> [<サーバー名>]に移動します

下の画像に示すようなウィンドウが表示されます–

solr apache

次に、 「Getconfig.zip 」ボタンをクリックします。 これにより、構成フォルダーがダウンロードされます。 完了したら、zipフォルダーを抽出し、すべてのファイルをコアのconfフォルダーにコピーします。

get-config.zip

ファイルをコピーするには、ターミナルを開き、Solrコアフォルダーに移動します。 Ubuntuでは、Solrコアフォルダーは/ var / solr / dataに保存されます。 データフォルダーには、前に作成したSolrコアフォルダーが表示されます。 そのSolrコアフォルダーに移動すると、 confという名前のフォルダーが見つかります。 このフォルダにはいくつかのファイルがあります。 これらのファイルを削除し、Webサイトサーバーからダウンロードしたconfigフォルダーからすべてのファイルをコピーします。 完了したら、ターミナルでSolrサーバーを再起動する必要があります。
次のステップは、コンテンツにインデックスを付けることです–

[構成]-> [検索とメタデータ]-> [検索API ]->作成したインデックスをクリックします。 下の画像に示すようなウィンドウが表示されます。

検索とメタデータ

次に、インデックスをクリックしてコンテンツにインデックスを付けます。 これで、すべてのコンテンツがSolrコアで索引付けされます。 これで、Solrインデックスのビューを作成し、インデックス付きフィールドをビューに追加して、Drupal 8Solrから結果を取得できます。