-
Notifications
You must be signed in to change notification settings - Fork 82
Open
Description
Hi!
We use solr 5.x and spring-data-solr. I try to understand is it possible to use multi-core in multi-tenancy mode.
We have several tenants and we want to have a single solr core per tenant. The main problem is a spring repositories, i can't define which core should use repository for current tenant.
For example:
public class User {
@Field("username")
private String username;
}
public interface UserRepository extends SolrCrudRepository<User, String> {
User findUserByUsername(String username);
}And two cores:
http://localhost:8983/solr/tenant_1
http://localhost:8983/solr/tenant_2
So, if tenant = tenant_1, repository should search for user in /solr/tenant_1, if tenant = tenant_2 in /solr/tenant_1.
I can do it manually via solrj:
String solrServerUrl = "http://localhost:8983/solr";
MulticoreSolrServerFactory solrServerFactory = new MulticoreSolrServerFactory(new HttpSolrServer(solrServerUrl));
SolrServer solrServer = solrServerFactory.getSolrServer("tenant1");
SolrQuery solrQuery = new SolrQuery();
solrQuery.setQuery("find user by username query");
solrServer.query(solrQuery);But it is not convenient. In this case we need to rewrite all our solr repositories.
@christophstrobl can you advice something?
Thanks!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels