我正在研究使用Here Maps中的Autocomplete API以及uggestination.json端点。我的问题是,当用户键入字符时,每次按键时都会调用自动完成的API建议。这意味着对于每次按键,我都需要调用API。事实证明这将是非常昂贵的。假设我输入“伦敦”,它将调用API 6次。有一个更好的方法吗?另外,是否可以创建会话令牌的任何选项,使得我只为其中键入多个字符以生成搜索建议列表的会话令牌付费?
答案 0 :(得分:1)
您可以采取一些措施来减少通话次数:
有些地方只有短名称,例如https://en.wikipedia.org/wiki/List_of_short_place_names,因此对于您的自动建议,您甚至可能不得不考虑单个字符的名称。因此,您可以考虑建立一个自动建议关键字的缓存,即说用户键入L,并且一次调用自动建议API,则可以将L作为键来缓存结果,然后对于下一个按键,请重复构建数据结构或根据您的要求存储数据,从而使API的匹配次数逐渐减少。 建立缓存后,您可以决定每10个调用左右刷新一次缓存。这将大大减少您对外部API的调用。 查找Trie数据结构。可能会有所帮助。
此处根据您对后端服务的请求数向您收费,因此就不可能按会话令牌收费。不过,如果您可以协商产品的成本,则可以与客户经理联系。
答案 1 :(得分:0)