【发布时间】:2013-10-02 06:33:19
【问题描述】:
我已经有一个产品在生产中,我使用带有 SQL Server 的实体框架作为数据库。我使用了全文搜索,其中我存储二进制数据(文件流)以及全文搜索引擎用来索引的文件扩展名。更不用说那是小菜一碟了。
现在,我计划迁移到 mysql(原因很明显——成本、开源等)。该产品采用 SAAS 模式(虽然这是我可以实际接听电话的时间,因为流量不高)所以流量会很高,所以搜索引擎应该是可扩展的。
迁移到 mysql 很容易(将再次使用 INNODB,原因很明显),我只坚持使用全文搜索,因为现在只有二进制数据存储在 Sql Server 中。虽然 INNODB 从 5.6 版开始支持全文搜索,但我没有找到全文索引的确切方法(即使用二进制)。
我不确定是否使用第三方全文搜索引擎(Lucene、Sphinx 等),因为我的搜索将是结构化和非结构化的组合,例如:来自俄亥俄州的所有客户(结构化数据,因为我捕获并将信息存储在RDB)并且在他们上传的一组文件(非结构化)中有“保险”。在 SQL Server 中,我使用“ContainsTable”,它给了我排名结果。
我有以下问题:-
- 从长远来看,这项运动真的会有成果吗?可以说我愿意 迁移现有数据(4 位数)。
- 尽管 INNODB 提供了所有必要的功能,但在 SQL Server 的易用性、管理和规模方面是否匹配?
还有一些问题...
- 我可以将全文表原样移动到 mysql 吗?我想我不能索引 斑点列。
- 我应该使用mysql全文还是任何第三方 引擎?
【问题讨论】:
标签: mysql sql-server-2008 lucene full-text-search sphinx