如何将Solr实现到Sitecore中

Seb*_*iek 8 solr sitecore sitecore6

我必须在Sitecore中实现Solr索引,我想知道什么是最好的方法?

我看了下面的方法:

  1. 捕获发布结束事件(或其他事件),然后将项目推送到solr索引
  2. 实现自定义数据库搜寻器并从历史记录表中获取所有更改.然后使用自定义索引推送数据进行solr.

第二种方法听起来像是一种方式(在我看来).在这种情况下,我是否需要创建新的搜索索引或搜索管理器?

如果有人以前做过,你能指出我正确的方向吗?此外,如果您可以发布一些关于sitecore-solr实现的文章的链接.

更新 好的,在阅读sitecore文档后,这就是我提出的:

  1. 创建自定义SolrConfiguration类,您可以在其中设置solrserviceurl,添加索引及其定义(自定义solr索引)等属性

  2. 创建SolrIndex并将其(在配置文件中)添加到SolrConfiguration.哪个实例化,solrindex应订阅Sitecore History Manager的AddEntry事件,并与solr crawler进行通信.

  3. 创建自定义处理器并挂钩到sitecore初始化管道.处理器应初始化SolrConfiguration(从步骤1开始)

  4. 由于配置文件中的所有内容都将使用refrection构建,因此您可以根据配置文件获取配置实例

听起来怎么样?我可以有任何意见吗?

Ste*_*ead 2

我们已经在一些网站上做到了这一点,并且倾向于有一个新的“已发布”solr 索引和“未发布”索引

我们打断:

保存物品

将内容推送到未发布索引的事件(您可能不需要这个,这取决于您是否希望内容处于预览模式)

处理发布项目时

我们在这里处理对已发布索引的添加和更新,如果不深入研究代码,我不确定我们在这里如何处理删除,但肯定会处理 OnItemDelete 上的删除(下面提到)

项目删除

我们在这里中断以从已发布和未发布的索引中删除内容(我认为我们在这里从已发布的索引中删除内容,因为 Sitecore 使您发布父节点以便将删除内容发布到 Web 数据库)

我希望这有帮助,如果可以的话我会发布代码(但我会皱眉)。