跨多个Solr实例搜索

时间:2018-10-29 17:56:53

标签: solr

因此,我们在不同的数据中心中有多个Solr实例。每个solr实例具有相同的集合和架构,但是我们存储在其中的数据是不同的(我们仅将EU客户存储在位于欧盟的solr实例中,而仅将美国客户数据存储在位于美国的solr实例中,依此类推。 ...)。

我正在寻找一种在每个数据中心的所有solr实例上运行查询并获得合并结果的方法(即:最终结果将包含欧盟和美国数据)。我不想单独查询每个solr实例并在我这一边组合结果,因为我仍然希望能够在最终结果集上使用solr的排序和其他查询参数。

solr有内置的东西可以帮助我实现这一目标吗?还是我可以使用的第三方工具?

1 个答案:

答案 0 :(得分:2)

有几种方法-您可以手动使用分片参数。首先,在Collections API中(或直接从Zookeeper中)获取each collection through CLUSTERSTATUS的内核和主机集。

另一个选择是使用Solr Streaming Expressions API。使用API​​时需要考虑一些限制,并且结果集的格式将与常规查询结果的格式不同。 search stream source允许您给它一个zkHost参数,告诉该函数应该与哪个Zookeeper联系以了解集合所在的位置以及哪个节点对该集合负责。之后,您必须添加流装饰器和过滤器才能获得所需的结果。