ユーザーがタイプごとに異なるアクセス許可を持つ可能性がある、さまざまなタイプのインデックスがあります。すべてのレコードには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 で動作させる必要があります。