インクリメンタルサーチ
検索(Retriever)機能において、キーワードをすべて入力してから検索を実行するのではなく、入力途中で逐次検索を行い、結果がリアルタイムに表示されるようにする。
理由:最小限のタイプで求める検索結果を得られるため。
入力したそばから逐次検索を行う
効能
- 操作に対する結果がその場でフィードバックされるので、モードレスインタラクションを実現できる。例えば、検索実行の合図(ボタンの押下や Enter キーのタイプ)が必要なくなるので、「準備→実行」というモーダルな手続きが必要なくなる。
- 入力したそばから検索結果が表示されるので、入力の途中で、どのような検索結果がどれぐらい存在するのか、リアルタイムに把握できる。
- 最後まで入力しなくても、途中で求める結果が得られる可能性がある。
- 検索結果を確認しながら入力ができるため、その場で入力文字列を変更するなど、絞り込みの感覚で検索を行うことができる。
用法
- 検索キーワードの入力コントロールにて、文字が入力されるたびに検索を実行し、逐次結果を再表示する。
- 検索結果をリスト状に一覧表示する場合、入力文字が増えるたびに結果が絞り込まれて、リストの行が減っていくようにする。
- 検索結果を該当箇所のハイライトで表現する場合、入力文字が増えるたびに結果が絞り込まれて、ハイライト箇所が減っていくようにする。
- タイプアヘッド(ファイル一覧やコンボボックスなどで、タイプした文字列が一覧内の項目名と先頭一致する場合に、項目をひとつだけハイライトさせる)を行う場合は、入力文字が増えるたびに再検索をかけて、よりマッチする項目をハイライトする。
注意書き
- 入力操作と並行して検索&結果表示が行われるので、パフォーマンスが問われる。スムーズな入力操作を継続できないようであれば、インクリメンタルサーチは実用的ではない。
- 日本語を使う場合、漢字変換を確定したタイミングで検索が行われることになるので、ユーザーが連文節変換を行うと意味がなくなる恐れがある。(携帯電話のかな漢字変換システムとして変換候補をインクリメンタルサーチする場合には、かなの段階で検索が行われるので、ほぼ問題ない)