在我们的多租户应用程序中,我们有多个数据库,每个公司有一个数据库。一家公司的所有用户访问同一个数据库。我必须实现Solr索引,我可以使用单个核实现Solr索引并创建多个分片,其中一个分支用于一个公司。或者我需要多个核心,其中每个核心都是为单个公司创建的。基本上我正在读取DB中的表,以获取每个记录上的文件路径,然后访问文件系统以读取文件以进行索引。
答案 0 :(得分:0)
所以,让我们把它放到答案中。正如您所描述的那样,我认为您应该为每个公司/数据库创建1个核心,以后更容易限制一家公司的用户只能访问他们的数据。
其次,在SolrCloud与单个实例上。很大程度上取决于数据的大小和所需的性能。来自Solr维基的报价:
Apache Solr包括设置Solr服务器集群的功能 结合了容错和高可用性。叫SolrCloud, 这些功能提供分布式索引和搜索 功能,支持以下功能:
- 整个群集的中央配置
- 查询的自动负载平衡和故障转移
- 用于集群协调和配置的ZooKeeper集成。
所以,如果你需要那些东西,并且我认为你是,我会更喜欢SolrCloud而非单个实例。