1

假设我在文档中有以下字段:

<str name="groupId">1000 1001 1002</str>

我希望能够将用户所在的 groupIds 列表作为过滤器查询传递,并且只提取用户拥有的 groupIds 在文档中都匹配的文档 - 如果文档中有 groupid用户不在,则不返回文档。如果查询中有一个 groupId 不在文档中,那么它会被忽略 - 用户可以属于比文档更多的组。但是用户必须在文档指定的所有 groupId 中,否则他们无权查看它。

这可能吗?

[更新]

我现在添加了我的 multiValue 字段,如下所示:

<arr name="groupId">
    <str>1000</str>
    <str>1001</str>
    <str>1002</str>
</arr>

如何确保具有用户组 1000、1001、1002、1003 的用户获得该文档,但具有组 1000、1002、1003 的用户没有,因为他们缺少组 1001?

4

1 回答 1

0

是的,你可以这样做。我建议将这些 groupId 值存储在架构中的 multiValued 字段中。有关使用多值字段的一些好的指导,请参阅以下内容

将这些存储在 multiValued 字段中后,您可以发出过滤查询,如您所说,仅返回与所有指定 groupId 相关联的文档。

于 2013-10-08T12:19:10.813 回答