MSRPを共通ストアとして使用するようにAEM Communitiesが設定されている場合、ユーザー生成コンテンツ(UGC)は、すべてのオーサーインスタンスとパブリッシュインスタンスからアクセスでき、同期や複製は不要です。
SRP オプションの特性と推奨されるトポロジも参照してください。
ストレージ設定コンソールでは、デフォルトのストレージ設定を選択できます。これにより、使用するSRPの実装が識別されます。
オーサー環境でストレージ設定コンソールにアクセスするには:
MongoDBストレージリソースプロバイダー(MSRP)を選択します
MongoDB 設定
MongoDB URI
default:mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
MongoDB データベース
default:コミュニティ
MongoDB UGC コレクション
default:content
MongoDB 添付ファイルコレクション
default:attachments
SolrConfiguration
SolrCloudモードで外部のZooKeeperと共に実行する場合、my.server.com:2181のように、この値をZooKeeperのHOST:PORT
に設定します。
ZooKeeperアンサンブルの場合は、host1:2181,host2:2181のように、コンマで区切られたHOST:PORT
値を入力します。
内部ZooKeeperを使用してスタンドアロンモードでSolrを実行する場合は、空白のままにします。
デフォルト: <blank>
Solr URLスタンドアロンモードで Solr と通信するために使用する URL。SolrCloud モードで実行している場合は、空白のままにします。
デフォルト:https://127.0.0.1:8983/solr/
Solr コレクション Solr コレクションの名前。
デフォルト:collection1
送信を選択
mongoDB データベース(デフォルトの名前は communities
)を、ノードストアまたはデータ(バイナリ)ストアで使用されているデータベースの名前に設定することはできません。AEM 6](…/…/help/sites-deploying/storage-elements-in-aem-6.md)の[ストレージ要素も参照してください。
本番環境では、プライマリ/セカンダリ・レプリケーションと自動フェイルオーバーを実装するMongoDBサーバのクラスタであるレプリカ・セットをセットアップすることを強くお勧めします。
レプリカセットについて詳しくは、MongoDB の レプリケーションに関するドキュメントを参照してください。
レプリカセットの操作と、アプリケーションと MongoDB のインスタンスとの間の接続を定義する方法については、MongoDB の接続文字列の URI フォーマットに関するドキュメントを参照してください。
# Example url for:
# servers "mongoserver1", "mongoserver2", "mongoserver3"
# replica set 'rs0'
# port numbers only necessary if not default port 27017
mongodb://mongoserver1:<mongoport1>,mongoserver2:<mongoport2>,mongoserver3:<mongoport3>/?replicaSet=rs0&maxPoolSize=100&waitQueueMultiple=50&readPreference=secondaryPreferred
別々のコレクションを使用することで、1 つの Solr をノードストア(Oak)と共通ストア(MSRP)の間で共有できます。
Oak と MSRP のコレクションがどちらも高頻度で使用される場合は、パフォーマンス上の理由から 2 つ目の Solr をインストールすることもできます。
実稼働環境では、SolrCloud modeを使用すると、スタンドアロンモード(ローカルで1つのSolr設定)よりもパフォーマンスが向上します。
設定について詳しくは、SRP 用の Solr 設定を参照してください。
MSRPを使用して設定された以前のバージョンからアップグレードする場合は、
すべてのオーサーインスタンスとパブリッシュインスタンスで、MSRP が共通ストアとして指定されている必要があります。
パブリッシュ環境で同一の設定を使用できるようにするには:
/etc/socialconfig/srpc/
を参照パブリッシュ環境で頻繁に入力されるユーザー、ユーザープロファイルおよびユーザーグループについては、以下を参照してください。**
新しい設定ファイルをインストールしたり、Solr のインデックスを修復したりするときは、MSRP 用の Solr のインデックス再作成用の HTTP エンドポイントを使用できます。
このツールでは、MongoDB が MSRP の情報源になるので、バックアップを取るときは MongoDB だけで十分です。**
UGCツリー全体のインデックスを再作成するか、*path *dataパラメータで指定した特定のサブツリーのみを再インデックスできます。
このツールは、コマンドラインから cURL などの HTTP ツールを使用して実行できます。
インデックスを再構築する際、メモリとパフォーマンスの間には、*batchSize *dataパラメータで制御されるトレードオフがあります。このパラメータは、バッチごとに再インデックスされるUGCレコードの数を指定します。
適切なデフォルト値は 5000 です。
以下に示す cURL コマンドは、MSRP に格納されている UGC のインデックス再作成の HTTP リクエストに必要なコマンドです。
基本的な形式は以下のとおりです。
cURL -u signin -d data reindex-url
signin = administrator-id:password
次に例を示します。admin:admin
data = "batchSize=size&path=path"
size =操作ごとに再インデックスするUGCエントリの数
/content/usergenerated/asi/mongo/
path =再インデックスするUGCツリーのルート位置
asipath
/etc/socialconfig/srpc/defaultconfiguration
asipath
のサブツリーを指定しますreindex-url = SRPの再インデックスのエンドポイント
http://localhost:4503/services/social/datastore/mongo/reindex
DSRP Solrの再インデックスを作成している場合、URLは**/services/social/datastore/rdb/reindex**です。
curl -s -u admin:admin -d 'batchSize=10000&path=/content/usergenerated/asi/mongo/' http://localhost:4503/services/social/datastore/mongo/reindex
MSRP をデモ用に設定するには、MongoDB をデモ用に設定する方法を参照してください。
ストレージオプションの設定を確認し、MSRP がデフォルトのプロバイダーに設定されているかを確認してください。デフォルトでは、ストレージリソースプロバイダーはJSRPです。
すべての作成者および発行AEMインスタンスで、ストレージ設定コンソールに再度アクセスするか、AEMリポジトリを確認します。
JCRで、/etc/socialconfig
既存のAEM Communities6.0サイトからアップグレードした場合、既存のUGCは、AEM Communities6.3にアップグレードした後、SRP APIに必要な構造に従うように変換する必要があります。
GitHubには、この目的で使用できるオープンソースツールがあります。
移行ツールは、AEM Social Communitiesの以前のバージョンからUGCを書き出すようにカスタマイズして、AEM Communities6.1以降に読み込むことができます。
以下のエラーがログに表示された場合は、Solr スキーマファイルが適切に設定されていません。
Caused by: com.fasterxml.jackson.databind.JsonMappingException: undefined field provider_id
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:129)
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:1819)
at com.adobe.cq.social.scf.core.BaseSocialComponent.toJSONString(BaseSocialComponent.java:196)
... 124 common frames omitted
このエラーを解決するには、標準の MLS のインストールをおこなったときに、以下を実行したか確認してください。
MongoDB サーバーへのセキュア接続の試みが、クラス定義が見つからないという理由で失敗する場合は、MongoDB ドライバーバンドル mongo-java-driver
(公開されている maven リポジトリで入手可能)を更新する必要があります。