【问题标题】:Solr 5.4.1 Merge Index real timeSolr 5.4.1 实时合并索引
【发布时间】:2016-07-06 23:25:41
【问题描述】:

我有两个来源 - Sitecore 网络索引(核心 1)和数据库表(核心 2)。我创建了 core 3,它是 core1 和 core 2 的合并。

http://localhost:8983/solr/admin/cores?action=mergeindexes&core=core3&srcCore=sitecore_web_index&srcCore=core2

但是,当有人在 Sitecore 上发布页面时,sitecore 网络索引会更新,但合并的核心不会更新。如何通过合并获取实时数据?有办法吗?

如果我在浏览器上运行它并停止并启动 Solr,我会看到数据。但是当页面将被编辑和发布时,这在生产中是不可能的。

谢谢 卡尔帕纳

【问题讨论】:

    标签: solr


    【解决方案1】:

    您可以使用SolrEventListener 接口编写一个监听提交事件的小插件。它仍然需要您合并完整的索引,如果您有较大的索引,这可能无效。

    另一种选择是索引到两个核心(Sitecore 可能无法做到 - 我不熟悉 Sitecore),或者,根据您的要求,使用分片支持在没有 core3 的情况下搜索 core1 和 core2 可能也是一种选择。

    【讨论】:

    • 感谢您的回复。每次发布时合并索引并不是您提到的有效选择。我已经为两个核心编制了索引,我不确定将结果组合到一个结果集中的方法。你提到了分片。我可以将它添加到 Solrconfig.xml 上的请求处理程序吗?
    • 这似乎不起作用 - 我得到 0 个结果 localhost:8983/solr/sitecore_web_index,localhost:8983/solr/SharePoint_All
    【解决方案2】:

    这成功了

    <requestHandler name="/select" class="solr.SearchHandler"> 
    <!-- default values for query parameters can be specified, these will be overridden by parameters in the request --> 
    <lst name="defaults"> 
    <str name="shards">localhost:8983/solr/sitecore_web_index,localhost:8983/solr/SharePo‌​int_All</str> 
    </lst> 
    </requestHandler>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 2013-10-11
      相关资源
      最近更新 更多