複合検索タグテーブル
連絡先の検索タグを組み合わせた複合条件(複合検索タグ)を管理するテーブルです。
contact_tag_filter
Section titled “contact_tag_filter”| カラム | 型 | NULL | デフォルト | 説明 |
|---|---|---|---|---|
id | text | NO | — | 主キー(UUID) |
shopId | text | NO | — | 店舗 ID |
name | text | NO | — | 複合検索タグ名 |
color | text | NO | '#000000' | 表示色(HEX) |
description | text | YES | — | 説明 |
logic | text | NO | 'AND' | 検索タグ条件の論理演算子(‘AND’ | ‘OR’ | ‘NOR’ | ‘NAND’) |
matchTags | text[] | NO | [] | マッチ対象の検索タグリスト |
childIds | text[] | NO | [] | 入れ子フィルター ID リスト |
createdAt | timestamptz(3) | NO | NOW() | 作成日時 |
updatedAt | timestamptz(3) | NO | $defaultFn | 更新日時 |
複合検索タグの仕組み
Section titled “複合検索タグの仕組み”複合検索タグは、連絡先に付与された検索タグ(contact.searchTags)を条件でマッチングします。matchTags フィールドに設定された検索タグを持つ連絡先を動的にフィルタリングします。
- AND: 全ての検索タグを持つ連絡先にマッチ
- OR: いずれかの検索タグを持つ連絡先にマッチ
- NOR: どの検索タグも持たない連絡先にマッチ
- NAND: 全ての検索タグを持つわけではない連絡先にマッチ
childIds フィールドで他の複合検索タグを参照し、入れ子の条件を構築できます。
インデックス
Section titled “インデックス”| 名前 | カラム | 種別 |
|---|---|---|
contact_tag_filter_shopId_idx | shopId | INDEX |