2015年1月12日月曜日

インスタント検索

Google検索で、文字入力するたびに勝手に検索する機能について、
ちょっと調べたのでメモ。

実装自体は非常に単純で、JavaScriptでkeyupイベントを取得してajaxで検索処理を実行して
結果を表示するだけ、サーバサイドはPHPでもJavaでも好きなものを使って良いです。

ただし、何も考えずこのまま実装すると文字を入力するたびに検索処理が走ってしまい
非常に重たいページになってしまう。
そのため、以下のような工夫が必要になる。
・前回のキー入力から一定時間経っている場合のみ検索結果を取得
・カーソルキーやタブキーに反応しないよう、前回の入力内容と比較して同じなら処理中止

こういった注意点を突き詰めていかないと、使いづらくて重いだけのものになってしまい、
誰も使いたくないものができあがるんだろうなーと思った。