Sitecore Coveo重建后丢失了与RabbitMQ的连接

时间:2015-10-16 11:03:40

标签: sitecore coveo

我在本地主机上有关于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>

如何存储密码?

1 个答案:

答案 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控制面板配置向导将无法将新值写入您的自定义配置文件。

我希望这可以回答你的问题并解决你的问题。

杰夫