多模式(数据库)上的Solr索引



在我们的多租户应用程序中,我们有多个数据库,每个公司一个数据库。一家公司的所有用户都访问同一个数据库。我必须实现Solr索引,我是否可以使用单个核心实现Solr指数,并创建多个碎片,其中一个碎片用于一家公司。还是我需要多个核心,其中每个核心都是为单个公司创建的。基本上,我在DB中读取一个表,以获取每个记录的文件路径,然后访问文件系统来读取用于索引的文件。

所以,让我们把它放在答案中。正如你所描述的问题,我认为你应该为每一家公司/数据库创建一个核心,以后你会更容易限制一家公司的用户只能访问他们的数据。

其次,关于SolrCloud与单个实例。这在很大程度上取决于数据的大小和所需的性能。引用Solr维基:

Apache Solr包括设置Solr服务器集群的能力它结合了容错性和高可用性。名为SolrCloud,这些功能提供了分布式索引和搜索功能,支持以下功能:

  • 整个集群的中央配置
  • 查询的自动负载平衡和故障转移
  • 用于集群协调和配置的ZooKeeper集成

因此,如果您需要这些东西,并且我认为您需要,我更喜欢SolrCloud而不是单个实例。

最新更新