Hi, Jason.
Could it be something like
q=id:* -Group:2 -{!join from=id to=linkedIDs}Group:2
?

On Thu, Sep 29, 2022 at 7:47 PM Kahler, Jason J (US)
<[email protected]> wrote:

> Is it possible to have a solr join query only apply under certain
> conditions? We have a solr document store that performs access control
> following various rules related to the data stored in solr. Consider the
> following scenario
>
>
> {
> Id:"doc1"
> linkedIDs:"doc2"
> Desc:"desc 1"
> Group:"1"
> }
> {
> Id:"doc2"
> Desc:"desc 2"
> Group:"2"
> }
> {
> Id:"doc3"
> Desc:"desc 3"
> Group:"3"
> }
>
> Suppose Internally for a given user we have a rule that says user cannot
> see anything with Group = "2". Therefore our system augments the following
> user specified query q=Id:* and translates that to q=Id:* AND !Group:2
>
> This results in the search response containing:
> {
> Id:"doc1"
> linkedIDs:"doc2"
> Desc:"desc 1"
> Group:"1"
> }
> {
> Id:"doc3"
> Desc:"desc 3"
> Group:"3"
> }
>
> However I'd like to somehow leverage join to make it so the user will also
> not get back results that Link/reference products they can't see. Such that
> they'd only get back
>
> {
> Id:"doc3"
> Desc:"desc 3"
> Group:"3"
> }
>
>
> Is it possible to formulate a query like this?
>
>

-- 
Sincerely yours
Mikhail Khludnev

Reply via email to