基于大字典的自动完成列表的快速查找


Fast lookup for autocomplete list based on large dictionaries

我们正在寻找一种技术来实现对自动合成列表的快速搜索,该列表基于大型字典(国家、城市、地区、组织、对象)。

  • 国家150行
  • 城市30万行
  • 区域7万行
  • 组织机构500,000行
  • 对象50000行

主要要求1. 过滤器字段应该适用于所有字典2. 用户输入应该会显示一个完成列表3.预期负载超过每秒200个请求

首选技术 nginx, php, windows server

考虑到缓存目录的数量来制作结果并将它们放在memcached中是不可能的

提示,如何解决问题

为像您这样的大型数据集实现快速自动补全可能具有挑战性。我没有使用Elasticsearch/solr自动完成,但它们是可能的解决方案。我更喜欢Elasticsearch。

你也可以尝试Redis作为自动完成的索引存储。Redis确实提供了一个相同的演示http://autocomplete.redis.io/但是Redis不支持Windows。

我也建议不要使用PHP。出于性能考虑,我宁愿使用Java/c#。

如果你不想自己实现它,你可以使用这个名为"自动完成服务"的服务,它是专门为这些目的编写的。你可以在这里访问- www.aaas.io。它支持大型数据集,你也可以应用过滤器。

免责声明:我是它的创始人。如果目前的计划不适合你的需要,你可以给我发电子邮件。我很乐意为您提供服务。