Interesting! I haven't met the appends method before and i'll be sure to give 
it a try tomorrow. Try, the wiki [1] is not very clear on what it really does.

 

More suggestions before tomorrow?

 

[1]: http://wiki.apache.org/solr/SolrSecurity#Path_Based_Authentication
 
-----Original message-----
From: Jonathan Rochkind <rochk...@jhu.edu>
Sent: Wed 08-09-2010 19:19
To: solr-user@lucene.apache.org; markus.jel...@buyways.nl; 
Subject: Re: Invariants on a specific fq value

I just found out about 'invariants', and I found out about another thing 
too: "appends".   (I don't think either of these are actually documented 
anywhere?).

I think maybe "appends" rather than "invariants", with your fq you want 
always to be there might be exactly what you want?

I actually forget whether it's "append" or "appends", and am not sure if 
it's documented anywhere, try both I guess. But apparently it does exist 
in 1.4.

Jonathan

Markus Jelsma wrote:
> Hi,
>
> I have an index with several collections. Every document has a collection 
> field that specifies the collection it belongs to. To make querying easier 
> (and restrict exposed parameters) i have a request handler for each 
> collection. The request handlers are largely the same and preset all 
> parameters using invariants.
>
> Well, this is all very nice. But there is a catch, i cannot make an invariant 
> of the fq parameter because it's being used (from the outside) to navigate 
> through the facets. This means that the outside world can specify any value 
> for the fq parameter.
>
> With the fq parameter being exposed, it is possible for request handler X to 
> query documents that belong to collection Y and vice versa. But, as you might 
> guess by now, request handler X should only be allowed to retrieve documents 
> that belong to collection X.
>
> I know there are some discussions on how to restrict users to certain 
> documents but i'd like to know if it is doable to patch the request handler 
> logic to add an invariant-like directive that allows me to restrict a certain 
> value for a certain parameter, but allow different values for that parameters.
>
> To give an example:
>
> <requestHandler name="collection_x">
> <lst name="invariants">
> <str name="defType">dismax</str>
> ... More invariants here
> </lst>
>
> <lst name="what_should_we_call_this?">
> <str name="fq">fieldName:collection_x</str>
> </lst>
> </requestHandler>
>
> The above configuration won't allow to change the defType and won't allow a 
> value to be specified for the <fieldName> through the fq parameter. It will 
> allow the outside worls to specify a value on another field through the fq 
> parameter such as : fq:anotherField:someValue.
>
> Any ideas? 
>
>
> Cheers,
>
> Markus Jelsma - Technisch Architect - Buyways BV
> http://www.linkedin.com/in/markus17
> 050-8536620 / 06-50258350
>
>   

 

Reply via email to