我们的产品目录中有很多产品。当我们对solr进行完整索引时,我们的搜索会下降。任何想法如何实现这一点,以便在执行solr完整索引时不会中断站点搜索。
答案 0 :(得分:5)
我发现solr索引有两种索引模式:Direct和Two-phase。在Hybris中使用两阶段solr索引选项,我能够在不中断搜索的情况下执行solr完整索引。
根据Hybris Wiki,有两种索引模式:
DIRECT:如果是完整索引操作,则删除当前索引并替换为新索引。在一段时间内,索引不能完全供用户查询。
TWO_PHASE:当前索引保持活动状态,直到在新的Solr核心中构建新索引。之后,新索引将发生旧索引,并且可以由用户查询而没有任何关闭时段。外部前端应用程序无需知道当前哪个Solr索引器核心处于活动状态。
答案 1 :(得分:5)
使用两阶段提交仅在使用单个solr服务器或没有"使用master专用于索引的集群时才有用。设置。使用两阶段提交对于小型单节点dev沙箱和CI / UAT测试安装非常有用。
Hybris Commerce管理一组solr服务器。对于生产和负载测试部署,请使用至少两个,其中一个配置为主服务器,每个其他solr服务器配置为从服务器。配置主服务器(HMC /管理后台复选框"仅使用主服务器进行索引")仅作为索引器运行,防止Hybris Commerce在主服务器上进行搜索。然后运行完整索引以确保所有从站都是最新的。
主/从solr群集设置Hybris Commerce将向主站发送索引作业(阶段1),当它们完成时,它将连接到每个从站并强制它下载并应用完成的索引(阶段2)主人处于两阶段运作。此配置几乎完全隔离索引负载与搜索负载。除了连续搜索可用性之外,还提供了垂直扩展主服务器以处理索引工作负载的功能,同时可以水平扩展从服务器以处理搜索负载。
答案 2 :(得分:1)
我建议您在离线时间内完成索引。 我们正在为我们的应用程序执行相同的操作,第一次执行或完全脱机索引。
在完整索引编制完成之前,它无法进行搜索。
您可以维护索引编制是否已完成且可供搜索的状态。