Solr 5.4.1合并指数实时

时间:2016-07-06 23:25:41

标签: solr

我有两个来源--Sitecore Web索引(核心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 Web索引会更新,但不会更新合并的核心。如何通过合并获取实时数据?有办法吗?

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

由于 卡尔帕纳

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

这就是诀窍

<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>