やりたいこと
・WEBブラウザ上でサジェスト(=オートコンプリート)の仕組みを作りたい
・元データは100万レコード程度のデータサイズ
・同時利用者は100人程度
・デバイスはPC,SP両方対象
思い立つ実装方法
二パターンあると思っています。
1)HTTPで全件ファイル(CSVやJSON)をDL→JSでロード→JSで入力に対する候補絞り込み処理を実施
○ロードが終わり、キャッシュを使うようになれば早そう
○通信が1回しか発生しないので、オーバーヘッドが少ない?
×読み込むまでの処理が重そう
2)入力値をAPIサーバーに投げる→APIサーバーが絞り込み候補を返却→HTMLで結果をそのまま表示
○必ず最新のデータが取得できる(はず)
×キャッシュが利用できない?
×API送信中に入力変更されたら、また通信が発生するので通信重複が酷そう(JS側のライブラリ選定が重要?)
2)はDBに都度アクセスするのではなく、
サーバーサイドに変数としてロードして保持しておくことを想定しています。
質問(相談)事項
皆さんであれば、どちらの方法取りますでしょうか
※前提として、具体的な実装方法を知りたいわけではなく
他の方であればどう実装するのかを知りたいと考えています。
ネットを見ても、数十件レベルの例しかなく、
また、JSの変数に定数としてセットされているものがほとんどで、
上記の懸念点を払拭できるようなものはありませんでした。
回答3件
あなたの回答
tips
プレビュー