solr - 如何在 Sitecore 中实现 Solr

标签 solr sitecore sitecore6

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

我查看了以下方法:

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

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

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

    更新
    好的,在阅读了 sitecore 文档后,这就是我想出的:
  • 创建您的自定义 SolrConfiguration 类,您可以在其中设置 solrserviceurl 等属性,添加索引及其定义(自定义 solr 索引)
  • 创建 SolrIndex 并将其(在配置文件中)添加到您的 SolrConfiguration。其中实例化,solrindex 应该订阅Sitecore History Manager 的AddEntry 事件,并与solr 爬虫通信。
  • 创建自定义处理器并连接到 sitecore 初始化管道。处理器应该初始化 SolrConfiguration(从第 1 步开始)
  • 由于您的配置文件中的所有内容都将使用反射构建,您可以根据您的配置文件获取配置实例

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

    最佳答案

    我们已经在一些站点上完成了这项工作,并且倾向于拥有一个新的“已发布”solr 索引和“未发布”索引

    我们打断:

    OnItemSaving

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

    OnPublishItemProcessed

    我们在这里处理对已发布索引的添加和更新,我不确定我们在这里对删除做了什么而没有深入研究代码,但肯定会处理 OnItemDelete 上的删除(如下所述)

    OnItemDelete

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

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

    关于solr - 如何在 Sitecore 中实现 Solr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12052025/

    相关文章:

    java - Nutch 1.4 与 Solr 3.5 http.agent.name 属性的集成

    用于从作者定义的文件夹结构中选择链接的 Sitecore 字段

    Sitecore 发布时间太长

    Sitecore - 页面上子布局的多个实例

    asp.net-mvc-3 - Sitecore 6.6 和 MVC 领域

    solr - 在 SolrCloud 中创建集合失败

    xml - 如何使用单个 solr 实例或 Solr 模板字段无法正常工作来索引和搜索同一数据源中的两个不同表

    Apache Solr 基于分数和 fieldn 值进行排序

    sitecore - 如何使用 ASP FileUpload 控件在代码中将文件上传到 Sitecore 媒体库?

    Sitecore 找不到路径 "{E18F4BC6-46A2-4842-898B-B6613733F06F}"