我在本地主机上有关于RabbitMQ的coveo和guest连接的基本设置, 但是当我重建sitecore解决方案时,Coveo失去了与RabbitMQ的连接, 我需要通过Indexing Queue Connection菜单手动连接。
<!-- Coveo search configuration -->
<SearchCertificatePath>C:\CES7\Config\Certificates\cert-iis.p12</SearchCertificatePath>
<SearchServiceUri>https://localhost:52810/7.0/CoveoSearchService</SearchServiceUri>
<QueueUri>amqp://localhost:5682/</QueueUri>
<QueueUsername>guest</QueueUsername>
<EncryptDataOnQueue>false</EncryptDataOnQueue>
如何存储密码?
答案 0 :(得分:3)
你的问题需要一点澄清,所以我会给出很多答案。
首先,不清楚触发重建操作的位置。它是来自Sitecore索引管理器还是来自Queue源上的Coveo Enterprise Search管理工具?应始终从Sitecore索引管理器触发重建操作。在CES管理工具中触发队列源上的重建是没用的,因为它只是关闭与RabbitMQ的读连接并重新打开它。
你提到Coveo失去了与RabbitMQ的联系。 CES是否丢失连接以读取排队的消息或Sitecore丢失连接以向RabbitMQ发送消息或两者兼而有之?在每个Sitecore索引操作(重建索引,项目已添加,项目已修改,项目已删除,发布...)时,Sitecore的Coveo首先使用Coveo.SearchProvider.config
文件中存储的QueueUri,QueueUsername和QueuePassword更新CES源。如果CES源配置确实发生了变化,则关闭并重新打开与RabbitMQ的读连接。然后,Coveo for Sitecore连接到RabbitMQ并推送索引消息。
您提到必须从索引队列连接配置向导再次设置队列uri,用户名和密码。在执行该操作之前,QueueUri,QueueUsername和QueuePassword元素的值是什么?它们是否已经正确或是否已重置为默认值或错误值?它可能表示您的部署过程中存在问题。也许Coveo.SearchProvider.config
文件会被定期覆盖,并且这些元素的值不正确。
最后,Sitecore的Coveo将加密形式的Queue和Sitecore密码直接存储在Coveo.SearchProvider.config
文件的QueuePassword和SitecorePassword元素中。密码使用在Sitecore实例\Data\Coveo\ConfigurationEncryptionKeys
文件夹中生成的密钥进行加密。您应该检查该文件夹中是否存在RijndaelEncryptionKeys
文件。
如果您将Coveo for Sitecore配置移动到另一个配置文件,则像索引队列连接配置向导这样的Sitecore控制面板配置向导将无法将新值写入您的自定义配置文件。
我希望这可以回答你的问题并解决你的问题。
杰夫