But [the type of user] which has permission can change too.

> -----Original Message-----
> From: Daniel Pitts [mailto:[EMAIL PROTECTED] 
> Sent: 27 August 2007 19:07
> To: solr-user@lucene.apache.org
> Subject: RE: Filtering using data only available at query time
> 
> I think you're missing my point.
> 
> Don't index which users have permission, index which type of 
> user has permission. Then _filter_ based on that.
> 
> > -----Original Message-----
> > From: Jonathan Woods [mailto:[EMAIL PROTECTED]
> > Sent: Monday, August 27, 2007 10:26 AM
> > To: solr-user@lucene.apache.org
> > Subject: RE: Filtering using data only available at query time
> > 
> > I know what you mean, and maybe I'm just being obstinate.  
> > But in the general case, it isn't possible to know these 
> things ahead 
> > of time.  The indexing machinery isn't told about changes in user 
> > permissions (e.g.
> > demotion from administrative to ordinary user), and even if it were 
> > I'd hate to have to reindex everything just to reflect that change.
> > 
> > Jon
> > 
> > > -----Original Message-----
> > > From: Daniel Pitts [mailto:[EMAIL PROTECTED]
> > > Sent: 27 August 2007 18:10
> > > To: solr-user@lucene.apache.org
> > > Subject: RE: Filtering using data only available at query time
> > > 
> > > Can you add some fields that let set a filter or query that
> > weed out
> > > the results that the user doesn't have access too?
> > > 
> > > If its as simple as Admin versus User, you could have a
> > boolean field
> > > called AdminOnly, and when a User is querying, add a fq=[* TO *] 
> > > -AdminOnly:true
> > > 
> > > You could get more specific if you need to, just provide the 
> > > information that you would use to determine the 
> availability of the 
> > > record to any given user, and then construct the filter
> > based on the
> > > current user.
> > > 
> > > > -----Original Message-----
> > > > From: Jonathan Woods [mailto:[EMAIL PROTECTED]
> > > > Sent: Monday, August 27, 2007 10:00 AM
> > > > To: solr-user@lucene.apache.org
> > > > Subject: Filtering using data only available at query time
> > > > 
> > > > I've got a Lucene-based search implementation which 
> searches over 
> > > > documents in a CMS and weeds out those hits which aren't
> > > accessible to
> > > > the user carrying out the search.  The raw search results
> > > are returned
> > > > as an iterator, and I wrap another iterator around this
> > to silently
> > > > consume the inaccessible hits.  (Yes, I know... wasteful!)
> > > The search
> > > > is therefore based on data (user permissions) which can't
> > > be known at
> > > > indexing time.
> > > >  
> > > > I'm now porting the search implementation over to Solr.  I
> > > took a look
> > > > at FunctionQuery, and wondered if there was some way I
> > > could use it to
> > > > do this kind of filtering - but as far as I can tell, it's
> > > only about
> > > > scoring a hit
> > > > - ValueSource can't signal 'don't include this at all'.  
> > Is there a
> > > > case for introducing some kind of boolean 
> include/exclude factor 
> > > > somewhere along the API?  Or is there another obvious way
> > > to do this?  
> > > > I guess I could implement my own Query subclass and use it
> > > as a filter
> > > > [query] in the search, but I wonder if it would be still be
> > > useful in
> > > > FunctionQuery.
> > > >  
> > > > Jon
> > > >  
> > > > 
> > > 
> > > 
> > > 
> > 
> 
> 
> 

Reply via email to