検索画面パターン
例:案件・プロジェクト管理システム
大量のデータから条件を指定して検索・管理する。
適用する原則: 画面名は「何を見ているか」で名付ける
- 案件数が多い(数千件)
- 様々な条件で絞り込みたい
- よく使う検索条件がある
GET /projects 案件一覧GET /projects/search 検索画面POST /projects/search 検索実行 → 検索結果画面へGET /projects/search/results 検索結果一覧- 検索条件が15項目以上
- 「検索画面」と「検索結果」が別画面
- よく使う検索条件を毎回入力
- 条件を変えるたびに画面遷移
GET /projects 案件一覧(フィルタ内蔵)GET /projects?q=...&status=... フィルタ適用(URL直接)設計のポイント
Section titled “設計のポイント”- インクリメンタル検索: 入力と同時に絞り込み
- スマートフィルタ: よく使う3条件だけ表示、詳細は展開
- 保存済み検索: よく使う条件をワンクリックで適用
- URLで状態保持: 検索条件がURLに反映、共有可能
| 観点 | 典型 | 再設計 |
|---|---|---|
| 画面数 | 3画面 | 1画面 |
| 検索条件 | 15項目表示 | 3項目 + 展開 |
| 結果表示 | 画面遷移後 | リアルタイム |
| 条件変更 | 検索画面に戻る | その場で変更 |
| 条件保存 | なし | 保存済み検索 |
補足: 検索条件の整理
Section titled “補足: 検索条件の整理”よく使う条件を見極める
Section titled “よく使う条件を見極める”すべての条件を表示する必要はない。利用ログを見て、実際に使われている条件を把握する。
よく使う条件(常に表示):- キーワード- ステータス- 担当者
たまに使う条件(展開時に表示):- 期間- 金額範囲- カテゴリ
ほぼ使わない条件(廃止を検討):- 作成者- 更新日保存済み検索の例
Section titled “保存済み検索の例”[自分の案件] → status=active & assignee=me[今月受注] → status=won & date=this_month[要対応] → status=pending & priority=high[フォロー中] → tag=follow_upユーザーが自分でよく使う条件を保存できるようにすると、検索画面自体が不要になることが多い。