我的文档中有以下内容:
<int name="groupCount">4</int>
<arr name="groupId">
<str>1001</str>
<str>1002</str>
<str>1003</str>
<str>1009</str>
</arr>
在我的查询中,我想获取用户所属的所有文档,至少该文档所属的所有组。
所以有组的用户:
1001
1002
1003
1009
1010
将看到上述文档,因为它们位于文档中指定的所有组中。
具有组的用户:
1001
1002
1003
1010
不会,因为他们缺少第 1009 组。
为此,我在文档中添加了一个 groupCount 字段,告诉我文档在多少个组中。计划是我可以检查用户组与文档组的匹配数,并将其与 groupCount 字段进行比较。如果它们相同,则用户可以查看文档。
为此,我希望从点击数中减去 groupCount 以获得零 - 如果用户在所有组中,我得到 0 - 用户可以看到文档。
我有以下查询:
fq={!frange l= 0 u=0}sub(groupCount,sum(termfreq(groupId,1001),termfreq(groupId,1002),termfreq(groupId,1003),termfreq(groupId,1009)))
如您所见 - 对于上述文档,我希望所有 termfreq 查询的总和返回 4,因为有 4 个命中。sub(groupId, 4) 应该返回 0
{frange l=0 u=0} 0
应该返回那个文件。
但它不起作用。
我会以错误的方式解决这个问题吗?