如何通过单词开头构建类似 facebook 的快速搜索?

How to build a facebook-like fast search by starting of words?

我必须在网页中构建一个类似于 facebook 搜索框的搜索文本框。客户端将有 ajax 个调用。用户需要搜索大约 300.000 个具有几个词或字母数字代码描述的元素。当用户输入单词的开头时,将根据任何单词或代码的开头向服务器发出调用 return 最匹配的服务器,但也会首先建议用户最近使用的元素,然后由组建议用户属于并最终来自整个集合。结果可以限制为 10-20 项。

如何使用元素描述的值建立快速搜索?我们使用 SQL 服务器,但任何其他数据库都可以。

当时的实现非常复杂,无法在这里总结,但我最近发现 UI-select 很好地解决了前端问题,如果您使用 Angular https://github.com/angular-ui/ui-select

然后后端你可以放任何你有的东西(我用 Redis 做的)