Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨多个solr实例搜索_Solr - Fatal编程技术网

跨多个solr实例搜索

跨多个solr实例搜索,solr,Solr,因此,我们有多个solr实例位于不同的数据中心。每个solr实例都有相同的集合和模式,但我们在其中存储的数据不同(我们只在位于EU的solr实例中存储EU客户,而我们只在位于美国的solr实例中存储US客户数据,等等) 我正在寻找一种方法来跨每个数据中心中的所有solr实例运行查询,并获得一个组合结果(即:最终结果将同时包含欧盟和美国数据)。我不想单独查询每个solr实例并合并我这边的结果,因为我希望仍然能够在最终结果集中使用solr的排序和其他查询参数 solr是否有内置的东西可以帮助我实现这

因此,我们有多个solr实例位于不同的数据中心。每个solr实例都有相同的集合和模式,但我们在其中存储的数据不同(我们只在位于EU的solr实例中存储EU客户,而我们只在位于美国的solr实例中存储US客户数据,等等)

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


solr是否有内置的东西可以帮助我实现这一点?或者我可以使用第三方工具?

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

另一个选项是使用Solr流式表达式API。当使用API时,有一些限制要考虑,并且结果集将不同于常规查询结果。允许您为它提供
zkHost
参数,告诉函数应该联系哪个Zookeeper以了解集合的位置以及哪些节点负责集合。之后,您必须添加流装饰器和过滤器,以获得所需的结果