我有一个包含各种类型的索引,其中用户可能对每种类型具有不同的访问权限。所有记录都有path
用于确定用户可以看到和不可以看到的字段。下面是一个记录示例:
id: 12 type: Project path: projects/12 content: …
id: 874 type: Task path: projects/12/public/tasks/874 content: …
id: 3 type: User path: users/4 content: …
如果我知道用户可以看到users/12
、users/14
、users/18
和projects/*/public/*
,您将如何构建一个仅过滤匹配记录并在content
字段内搜索的查询?这很容易使用 SQL(并围绕数据库的 FULLTEXT 索引建模),但我需要使其与 ElasticSearch 一起使用。