我在RDS上使用InnoDB,不幸的是它还不支持MySQL全文搜索。因此,我正在寻找替代方案。我的应用程序位于 Heroku 上,我考虑过提供搜索功能的各种插件,但有一个非常大的公司表(约 1 亿条记录),我认为它们非常昂贵。我只需要能够搜索表格中的一个字段——公司名称。
因此,我正在考虑创建自己的“关键字”表。本质上,这将列出每个公司名称中包含的每个单词。然后会有另一个表显示这些关键字和 company_id 之间的关联。
这听起来是个好主意吗?还有更好的选择吗?
创建关键字表和关联表的最有效方法是什么?如果可能的话,我想使用 T-SQL 来完成此操作。
最佳答案
您可以做到,而且它比使用 LIKE '%word%'
查询要好得多。
但它远不如使用正确的全文索引那么好。
查看我的演示Full Text Search Throwdown ,我在其中比较了 MySQL 的全文解决方案,包括三元组,这大约类似于您正在考虑的关键字解决方案。
迄今为止最快的解决方案是 Sphinx Search。
关于mysql - 在 MySQL 中生成关键字表(作为全文搜索的替代方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015866/