I have record, one of it's field is list of embedded records, some fields of these records are list records too and deeper. I need to index this data by solr and get feelds of the deepest embedded records. But solr mixes everything and i see field values of all deepest record inspite of the fact that i make a solr query to get only one deep record.
{
"type": "ns1$Table",
"fields": {
"ns1$name": "archivarius",
"ns1$securityInfo": {
"type": "ns1$SecurityInfo",
"fields": {
"ns1$datastore": "USER.datastore/ARCHIVARIUS",
"ns1$user": "USER.user/dev",
"ns1$securityLevel": "DISABLE_DEFAULT",
"ns1$shared": "FALSE",
"ns1$controlledOperations": ["CREATE", "UPDATE", "DELETE"],
"ns1$objectInDatastores": [{
"type": "ns1$ObjectInDatastore",
"fields": {
"ns1$datastore": "USER.datastore/ARCHIVARIUS",
"ns1$grantableOperations": ["CREATE", "UPDATE", "DELETE"],
"ns1$userPrivileges": [{
"type": "ns1$UserPrivileges",
"fields": {
"ns1$userInDatastore": "USER.user/ARCHIVARIUS/admin",
"ns1$privileges": [{
"type": "ns1$Privilege",
"fields": {
"ns1$grantedOperation": "CREATE",
"ns1$grantOption": "FALSE"
}
},{
"type": "ns1$Privilege",
"fields": {
"ns1$grantedOperation": "UPDATE",
"ns1$grantOption": "TRUE"
}
},{
"type": "ns1$Privilege",
"fields": {
"ns1$grantedOperation": "DELETE",
"ns1$grantOption": "FALSE"
}
}]
}
},{
"type": "ns1$UserPrivileges",
"fields": {
"ns1$userInDatastore": "USER.user/ARCHIVARIUS/user",
"ns1$privileges": [{
"type": "ns1$Privilege",
"fields": {
"ns1$grantedOperation": "CREATE"
}
},{
"type": "ns1$Privilege",
"fields": {
"ns1$grantedOperation": "DELETE"
}
}]
}
}]
}
}]
}
}
},
"namespaces": {"ru.perm.ics.c2rcloudsecurity": "ns1"}
}
If i write in query smth like userInDatastore:USER.user/ARCHIVARIUS/user, i get not only CREATE and DELETE, i also get UPDATE, but mustn't.
Using fields of records of different levels is forbidden or i don't know how to do it.
Fields datastore and userInDatastore belong to differet records, so i can't use them both.