— Algolia, InstantSearch, COVID-19
本記事は Algolia Advent calender 2021 12/23の記事になります。
12/20にリリースされ話題になった新型コロナワクチン接種証明書アプリ。自分も朝ニュースを見て早々にダウンロードし、証明書を発行してみてその簡単さに驚きました。
ということで盛り上がっているタイムラインを眺めていたところ、こんなつぶやきが。
結局接種証明アプリに対応してる自治体をPDFから探すのか…郵便番号でインクリメンタルサーチくらいできてもよいよねって思ってしまうんだけどファイル交換で誰でも更新できるとかそんな理由なんだろうな
— ktrst (@ktrst) December 20, 2021
よくある質問|デジタル庁 https://t.co/b2NwJPOKT9
ほう、と思いFAQを見に行ってみると確かにPDFとCSVが並んでいるものの、対応自治体の検索性は厳しそうです。幸いCSVのデータ構造は公開されており、試しにファイルをAlgoliaに放り込んでみたところほぼそのまま検索可能な状態だったので、html 1枚で検索サイトに仕立てて公開してみました↓
とりあえず自治体名で検索できるようにしてみた https://t.co/nEyGpGd0fg https://t.co/wdqKPgCa3i
— tatsuroh@山籠り (@t2hnd) December 20, 2021
最初のツイートを見てから公開までで大体40分程度だったのですか、この間やったことをまとめてみたいと思います。
Algolia アプリケーションを作る
レコードのobjectIDを検討する
CSVにヘッダを付けてUTF8に変換
1"objectID","cityName","status","lastUpdated"
CSVファイルを読み込む
searchableAttributesを設定する
UIを作る
GitHubにpushしてpagesで公開
ということで今回は検索サイト公開までに検討した内容などを手順としてまとめてみました。Algoliaはデフォルト設定でも検索が動くようになっていますが、ここに挙げたパラメータなどは基本的なユーザビリティに関わるものなので、データ投入後、最初に検索の挙動を確認するタイミングでチェックして頂くのがおすすめです。
また、InstantSearchの機能を活用することで、シンプルなUIであればさほど時間をかけずに作れることもお分かりいただけるかと思います。公式なPlayground なども用意されているので、インデックスを作ったあとはこちらのページでアプリケーションIDとAPI key、attribute名などを自分のものに差し替えてざっくりとUIを作ってみると雰囲気が掴めます。
ぜひお手元のCSVなどで検索できたら便利なのにな、と思うデータなどがあれば試してみてください。