【发布时间】:2012-07-31 16:00:27
【问题描述】:
我正在 codeigniter php 框架中构建一个电子商务系统,它需要一个完整的产品搜索。我在 MySQL 数据库中使用了 InnoDB 引擎,因为它的优点是支持外键来强制引用完整性或行锁定而不是表锁定,但它不支持全文索引:'(
唯一的问题是我需要搜索产品表以进行站点搜索,因此我需要一种替代全文索引的方法,该方法也与 Codeigniter 兼容。有没有人有任何建议?我已经研究过创建一个单独的可搜索表和 Sphinx,但它们看起来令人困惑:S
编辑
与主机核对后,我无法使用 Sphinx,因为该站点位于共享主机上,并且我的主机提供商不允许安装,因为它需要 root 级别权限,并且他们不会进行系统范围的安装,因为它是第三方,他们不能保证它的安全性。
【问题讨论】:
-
如果您有能力为您的搜索引擎添加一个额外的进程/守护进程,我绝对推荐使用 sphinx
-
@Lepidosteus 我无法使用 Sphinx,因为该站点位于共享主机上,并且我的托管服务提供商不允许安装,因为它需要 root 级别权限,并且他们不会进行系统范围的安装它是第 3 方,他们不能保证它的安全性。
-
大多数其他框架使用单独的 MyISAM 表,包含搜索关键字甚至全文。例如 Magento 有一些
xxx_flat-tables 用于搜索目的; TYPO3 在xxx_index-tables 上做同样的事情。 -
你运行的是什么版本的 MySQL?从 5.6.4 版开始,InoDB 支持全文搜索:blogs.innodb.com/wp/2011/12/…
-
这太糟糕了...也许您可以询问您的主机是否可以将您放在另一台具有较新版本的服务器上?不久前,当我的站点所在的服务器不支持我需要的 PHP 版本时,这发生在我身上。他们免费为我迁移,所以问一下也无妨!
标签: php mysql codeigniter search innodb