移行

HEREのオートサジェスト連携から移行する

HEREのautosuggestエンドポイントは、ユーザーの入力に合わせて住所や場所の候補を返します。レスポンスはitems配列として構成され、各要素にはtitle、候補が完全な住所なのか、場所なのか、カテゴリなのかを示すresultType、そして多くの場合、入力と一致した文字を示すハイライト用のオブジェクトが含まれます。住所、場所、カテゴリが1つのレスポンスに混在するこの結果の種類の混在は、HEREのアプローチの中でも特に特徴的な部分であり、他のプロバイダーのオートコンプリートが同じように動作すると想定する前に、慎重に整理しておく価値があります。

autosuggestの連携は通常、ドロップダウン付きの住所欄という特定のフロントエンドのコンポーネントに深く組み込まれています。そして操作の細部(候補が表示される速さ、ハイライトの描画方法、ユーザーが候補を無視して入力を続けたときの挙動)のほうが、バックエンドの実装の詳細よりもエンドユーザーにとって重要になりがちです。そのため、この移行は一部がバックエンドの作業で、一部がUXの見直しになります。

My Geocodeは、/docs/address-autocomplete/で説明しているとおり、独自のリクエストとレスポンスの形で住所オートコンプリートを提供しています。結果の混在や順位付けの挙動は各プロバイダーの実装に本当に固有のものなので、HEREの種類混在の結果構造がそのまま引き継がれると想定するのではなく、自社のユーザーからの代表的なクエリでこのエンドポイントを直接テストする価値があります。何を住所の候補とし、何を場所とするかの線引きは、プロバイダーによって異なります。

この種の移行でうまくいきやすい手順です。

  • フロントエンドのコードが現在分岐に使っている具体的なresultTypeの値を洗い出します。その分岐処理こそが、最も調整が必要になりやすい部分だからです
  • UIが現在描画しているハイライトや一致部分の挙動を見直し、新しいエンドポイントが同等のものを提供しているか、それともそのUIの細部を作り直す必要があるかを確認します
  • 合成したテスト用の住所ではなく、ログにある実際の過去のクエリのサンプルで新しいエンドポイントを試します。実際のユーザーの入力パターン(入力ミス、途中までの単語、略語)からは、きれいなテストデータでは見えない順位付けの違いが明らかになるからです

認証にはキーを使い、X-API-KeyAuthorization: Bearer、HTTP Basic認証、クエリパラメータのいずれかで送信します。料金は、キーなしで1日あたり2,500リクエストが無料、さらにキーごとにネットワーク単位でカウントされる1日あたり2,500リクエストが無料で、その後は1リクエストあたり€0.0001のプリペイドクレジット、または月額€50のUnlimitedキーとなり、プラットフォーム上のすべてのエンドポイントで同じ料金です。

ほぼすべてのキー入力がリクエストを発生させうるため、autosuggestは一般的なジオコーディングの呼び出しに比べて頻繁に発生します。本番に移ってから実際の利用パターンを知るのではなく、全面リリースの前に、1日の無料枠とリクエストあたりの料金に照らして量を見積もっておく価値があります。