当AEM Communities配置为使用MSRP作为其公共存储时,用户生成的内容(UGC)可以从所有创作和发布实例访问,而无需同步或复制。
存储配置控制台允许选择默认存储配置,该配置标识要使用的SRP实施。
在创作时,要访问存储配置控制台,请执行以下操作:
选择MongoDB存储资源提供程序(MSRP)
mongoDB 配置
mongoDB URI
默认:mongodb://localhost/?maxPoolSize=10&waitQueueMultiple=5&readPreference=secondaryPreferred
mongoDB 数据库
默认:社区
mongoDB UGC 收藏集
默认:内容
mongoDB 附件收藏集
默认:附件
SolrConfiguration
🔗Zookeeper 主机
在具有外部ZooKeeper的SolrCloud模式中运行时,将此值设置为ZooKeeper的HOST:PORT
,如my.server.com:2181
对于ZooKeeper Ensemble,输入逗号分隔的HOST:PORT
值,如host1:2181,host2:2181
如果使用内部ZooKeeper以独立模式运行Solr,则保留为空。
默认: <blank>
Solr URL
用于在独立模式下与Solr通信的URL。如果在SolrCloud模式下运行,则留空。
默认:https://127.0.0.1:8983/solr/
Solr集
合Solr集合名称。
默认:collection1
选择Submit
mongoDB数据库默认为名称communities
,不应将其设置为用于节点存储或数据(二进制)存储的数据库名称。 另请参阅AEM 6🔗中的存储元素。
对于生产环境,强烈建议设置一个复制副本集(MongoDB服务器群集,用于实施主次复制和自动故障切换)。
要了解有关副本集的更多信息,请访问MongoDB的Replication文档。
要使用副本集并了解如何定义应用程序与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
Solr安装可以通过使用不同的集合在节点存储(Oak)和公共存储(MSRP)之间共享。
如果Oak和MSRP集合都被集中使用,则出于性能原因,可能会安装第二个Solr。
对于生产环境,SolrCloud模式比独立模式(单个本地Solr设置)提高了性能。
有关配置详细信息,请参阅SRP的Solr配置。
如果从配置了MSRP的早期版本升级,则需要
MSRP必须被标识为所有创作实例和发布实例上的公共存储。
要使相同的配置在发布环境中可用,请执行以下操作:
/etc/socialconfig/srpc/
有关用户、用户配置文件和用户组的信息,请访问
在安装新配置文件或修复损坏的Solr索引时,有一个用于为MSRP重新编制Solr索引的HTTP端点。
使用此工具,MongoDB是MSRP的truth的源;只需备份MongoDB即可。
整个UGC树可能会重新编入索引,或者只能按照*path *data参数指定的特定子树进行索引。
此工具可以使用cURL或任何其他HTTP工具从命令行运行。
重新索引时,在内存与*batchSize *data参数控制的性能之间存在权衡,该参数指定每批重新索引多少个UGC记录。
合理的违约为5000:
以下cURL命令显示HTTP请求重新索引存储在MSRP中的UGC所需的内容。
基本格式为:
cURL -u signin -d data reindex-url
signin = administrator-id:password
例如:管理员:管理员
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,请参阅HowTo Setup MongoDB for Demo。
通过检查存储选项的配置,确保MSRP配置为默认提供程序。 默认情况下,存储资源提供程序为JSRP。
在所有创作和发布AEM实例上,重新访问存储配置控制台或检查AEM存储库:
在JCR中,如果/etc/socialconfig
如果从现有的AEM Communities 6.0站点升级,则必须转换任何预先存在的UGC,以符合升级到AEM Communities 6.3后 SRP API所需的结构。
GitHub上提供了一个开源工具,用于此目的:
可以自定义迁移工具,以将UGC从AEM社交社区的早期版本导出,以导入AEM Communities 6.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服务器建立安全连接失败,则必须更新公共Maven存储库中提供的MongoDB驱动程序包mongo-java-driver
。