Hi Guys,
I am using Solr 3.5, and would like to use a fq like
'getField(getDoc(uuid:workspace_${workspaceId})), "isPublic"):true?
- workspace_${workspaceId}: workspaceId is indexed field.
- getDoc(uuid:concat("workspace_", workspaceId): return the document whose
uuid is "workspace_${workspaceId}"
- getField(getDoc(uuid:workspace_${workspaceId})), "isPublic"): return
the matched document's isPublic field
The use case is that I have workspace objects and workspace contains many
sub-objects, such as work files, comments, datasets and so on. And
workspace has a 'isPublic' field. If this field is true, then all
registered user could access this workspace and all its sub-objects.
Otherwise, only workspace member could access this workspace and its
sub-objects.
So I want to use fq to determine whether document in question belongs to
public workspace or not. Is it possible?
If not, how to implement similar feature like this? implement a
ValueSourcePlugin? any guidance or example on this?
Or is there any better solutions?
It is possible to add 'isPublic' field to all sub-objects, while it makes
indexing update more complex. so try to find better solution.
Thanks very much in advance!
Regards,
Yandong