我已经有一个产品在生产中,我使用带有 SQL Server 的实体框架作为数据库。我使用了全文搜索,其中我存储二进制数据(文件流)以及全文搜索引擎用来索引的文件扩展名。更不用说那是一次蛋糕散步。
现在,我计划迁移到 mysql(原因很明显——成本、开源等)。该产品采用 SAAS 模型(尽管由于流量不高,这是我实际可以接听电话的时间),因此流量会很高,因此搜索引擎应该是可扩展的。
迁移到 mysql 很容易(将再次使用 INNODB,原因很明显),我只坚持使用全文搜索,因为现在只有二进制数据存储在 Sql Server 中。虽然 INNODB 从 5.6 版开始支持全文搜索,但我没有找到全文索引的确切方法(即使用二进制)。
我不确定是否使用第三方全文搜索引擎(Lucene、Sphinx 等),因为我的搜索将是结构化和非结构化的组合,例如:来自俄亥俄州的所有客户(结构化数据,因为我在 RDB 中捕获和存储信息)和在他们上传的一组文件(非结构化)中有“保险”的人。在 SQL Server 中,我使用“ContainsTable”,它给了我排名结果。
我有以下问题:-
- 从长远来看,这场运动真的会硕果累累吗?假设我确实迁移了现有数据(4 位数)。
- 尽管 INNODB 提供了所有必要的功能,但在 SQL Server 的易用性、管理和规模方面是否匹配?
还有一些问题...
- 我可以将全文表原样移动到 mysql 吗?我想我不能索引 blob 列。
- 我应该使用 mysql 全文还是任何第三方引擎?