AJAX 自动完成实现起来相当简单。但是,我想知道如何在 SO 上处理这样的智能标签建议。
澄清自动完成和建议之间的区别:
- 自动完成: foo [foobar, foobaz]
- 建议: foo [barfoo, foobar, foobaz],甚至更好,带有'did you mean' 功能:[barfoo, foobar, foobaz, fobar, fobaz]
我想我需要在标签中进行一些全文搜索(所有字母都被索引,而不仅仅是单词)。对于有限数量的标签(甚至是客户端),使用正则表达式或其他模式进行操作是没有问题的。
但是如何为大量标签实现此功能?
是否有任何特殊原因(除了 URL)SO 上的标签是用破折号分隔的?标签中的 Unicode 字符呢?
我将标签存储在具有以下列的表中:id、标签名。我的 SQL 查询返回具有以下字段的对象:id、标记名、计数
(我使用 Doctrine ORM 和 pgsql 作为默认的数据库驱动程序。)