---
title: "ウォークスルー:SolrCloudを使ったxConnect検索"
slug: "walkthrough--using-solrcloud-for-xconnect-search"
abstract: "xConnect検索におけるSolrCloudの使い方ガイド。"
---
# ウォークスルー:SolrCloudを使ったxConnect検索

このトピックでは、xConnect検索の検索プロバイダーとしてSolrCloudを設定する方法について説明します。以下の役割と環境を設定する必要があります:

-   xConnect Collection Searchサービス
-   xConnect Search インデクサー
-   xConnect Collection SearchとxConnect Search Indexerを組み合わせたスタンドアロン開発者環境(XP Single)

> !注SolrCloudをスタンドアロンの開発者環境(XPシングル)に設定しても、xConnect Search Indexerは別途設定する必要があります。インデクサーはWindowsサービス、またはAzureではWebジョブです。デフォルトではxConnect Collection Searchサービスロールのルートにネストされています。

また、[SolrCloudでコンテンツ検索](https://doc.sitecore.com/xp/ja/developers/93/platform-administration-and-architecture/walkthrough--setting-up-solrcloud.html "Walkthrough: Setting up SolrCloud")も設定できます。

xConnect検索にSolrCloudを使うには、SolrCloudファームを作成しxConnectを設定する必要があります。

このウォークスルーでは、以下の方法を説明します:

-   Solrをインストール
-   Solrの設定をZookeeperにアップロードしてください
-   xDBコレクションを作成する
-   エイリアスを作成する
-   xConnectをSolrCloudで使うように設定してください

## Solrをインストール

Solrのウェブサイトの指示に従ってSolrをインストールし、2つ以上のSolrノードと1つ以上の外部Zookeeperサービスを使ってスケール環境を作成します。以下の説明は、1つのZookeperサービスと2つのSolrノードがロードバランサーの背後に配置されたシンプルなクラスタを前提としています。

> !重要SitecoreのSolrCloud設定にはロードバランサーが必要です。xConnectはデフォルトで安全で、[Solr SSL](https://lucene.apache.org/solr/guide/6_6/enabling-ssl.html#EnablingSSL-SolrCloud)を有効にしていることを前提にしています。

ロードバランサーを設定して、すべてのSolrノードが利用可能であることを確認し、状態コードを返すことを*OK*推奨します。詳細はSolrのpingドキュメントを参照してください。

例えば、ロードバランサーの背後に2つのノードがある場合、以下のエンドポイントを確認してください。

-   https://<solr-node-1>/solr/xdb/admin/ping
-   https://<solr-node-1>/solr/xdb\_rebuild/admin/ping
-   https://<solr-node-2>/solr/xdb/admin/ping
-   https://<solr-node-2>/solr/xdb\_rebuild/admin/ping

## Solrの設定をZookeeperにアップロードしてください

ZookeperにSolrの設定をアップロードするには:

1.  PowerShellコンソールを開き、<solr\_root> フォルダに移動します。
    
2.  コンソールで以下のコマンドを入力してください:
    
    solr zk upconfig -d \_default -n xdb -z <ZOOKEEPER\_URL>”
    

これでSolrの設定が整い、xDBコレクションを作成できます。

## xDBコレクションを作成する

**xDB**コレクションを作成するには:

1.  Solr管理UIで、作成したノードの一つを使ってコレクションページに移動します。
    
2.  **コレクションを追加**をクリックします。
    
3.  *xdb\_internal*という名前のコレクションを作成します。*xDB*設定セットを使用し、他の設定も示されています。
    
    ![xdb\_collection1.png](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/93/platform-administration-and-architecture/images/xdb_collection1.png)
    
4.  同じ設定で*xdb\_rebuild\_internal*という2つ目のコレクションを作成します。
    

コレクション、レプリカ、シャードに関する情報はSolrCloudのドキュメントを参照してください。

## エイリアスを作成する

コレクション用のエイリアスを作成するには:

1.  Solr管理UIで、作成したノードの一つを使ってコレクションページに移動します。
2.  「 **別名を作成**」をクリックします。
3.  *xdb\_rebuild*という別名を作成し、**コレクション**リストで*xdb\_rebuild\_internal*をクリックします。
4.  *xdb*という2つ目のエイリアスを作成し、**コレクション**リストで*xdb\_internal*を選択します。
5.  すべてのエイリアス一覧を見るには、URL https://<solrurl>/solr/admin/collections?action=LISTALIASESを使用します。
6.  Solr Schema APIを使って、 <xconnect-root>\\App\_Data\\solrcommands\\schema.json ファイルのスキーマ修正を *両方の* コレクションに適用します。

> !注接続列には*xdb\_internal*や*xdb\_rebuild\_internal***ではなく***xdb*と*xdb\_rebuild*を使いましょう。*xdb*と*xdb\_rebuild*はプライマリとセカンダリインデックスのデフォルト名です。インデックス名を変更する場合は、すべての接続文字列を更新しなければなりません。

> !注コレクションと別名を同じ名前で使わないでください。

これでSolrCloudファームが作成されました。xConnectで使う前に、xConnectの役割をSolrCloudを使うように設定してください。

## xConnectをSolrCloudで使うように設定してください

xConnect接続をSolrCloudロードバランサーに設定し、Solrノードのフェイルオーバーを処理します。

> !注この例は[SSLを設定し](https://lucene.apache.org/solr/guide/6_6/enabling-ssl.html#EnablingSSL-SolrCloud)ていると仮定しています。

xConnectをSolrCloudで使用するように設定するには:

1.  xConnect Collection Searchロールのすべてのインスタンスに対して、<role-root>\\App\_Config\\ConnectionStrings.configファイルを開き、solrCore接続文字列の値を指定し、パラメータsolrCloud=trueを追加します。例えば:
    
    <add name="solrCore" connectionString="https://<loadbalancer>:8999/solr/xdb;solrcloud=true"/>
    
2.  xConnect Searchインデクサーの役割のすべてのインスタンスに対して、<role-root>\\App\_Config\\ConnectionStrings.configファイルを開き、solrCore接続文字列の値を指定し、パラメータsolrCloud=trueを追加します。例えば:
    
    <add name="solrCore" connectionString="https://<loadbalancer>:8999/solr/xdb;solrcloud=true"/>
    
    > !注デフォルトでは、xConnect SearchインデクサーはxConnect Collection Search serviceロールの <role-root>\\App\_data\\jobs\\continuous\\IndexWorkerフォルダ内に配置されています。
    
3.  既存のデプロイメントをSolrからSolrCloudに移行する場合は、[インデックスを再構築](https://doc.sitecore.com/xp/en/developers/100/sitecore-experience-platform/en/rebuild-the-xdb-index-in-solr.html)する必要があります。新規デプロイメントではこのステップは必要ありません。