tags:

views:

422

answers:

1

I'd like to have a single instance of Solr, protected by some sort of authentication, that operated against different indexes based on the credentials used for that authentication. The type of authentication is flexible, although I'd prefer to work with open standards (existing or emerging), if possible.

The core problem I'm attempting to solve is that different users of the application (potentially) have access to different data stored in it, and a user should not be able to search over inaccessible data. Building an index for each user seems the easiest way to guarantee that one user doesn't see forbidden data. Is there, perhaps, an easier way? One that would obviate the need for Solr to have a way to map users to indexes?

Thanks.

+2  A: 

The Solr guys have a pretty exhausted overview what is possible, see http://wiki.apache.org/solr/MultipleIndexes

mark
That was a real help on the multiple indexes front, especially http://wiki.apache.org/solr/MultipleIndexes#head-e517417ef9b96e32168b2cf35ab6ff393f360d59. Do you know of any access control resource for solr?
Hank Gay
No, sorry, we're using Solr strictly as service and do access control before going to Solr.
mark
So your install of Solr responds to any HTTP request and you rely on URI obfuscation and/or firewalling to prevent 3rd parties from accessing the service, or the service is meant to be open?
Hank Gay
Kind of. The Solr service runs within its own environment, can only be reached from the internal network, has no public accessible IP address, if that is what your're asking for.
mark