2012-07-31 59 views
4

我在codeigniter php框架中構建了一個電子商務系統,它需要完整的產品搜索。我在MySQL數據庫中使用了一個InnoDB引擎,因爲它的優點就像支持外鍵來強制引用完整性或行鎖定而不是表鎖定,但它不支持全文索引:'(模仿使用Codeigniter在InnoDB/MySQL數據庫中進行全文搜索的最佳方法

唯一的問題是我需要搜索產品表進行網站搜索,所以我需要一個替代方法而不是全文索引,它也兼容Codeigniter。有沒有人有任何建議?我研究過創建一個單獨的可搜索表和獅身人面像,但他們看起來很混亂:小號

編輯

與主機檢查後,我無法給我們e Sphinx作爲共享主機的網站,我的主機提供商不允許安裝,因爲它需要root級別的權限,並且他們不會進行系統範圍的安裝,因爲它是第三方,他們不能保證它的安全性。

+0

如果你能負擔得起爲您的搜索引擎的額外處理/守護,我肯定會推薦使用獅身人面像 – Lepidosteus 2012-07-31 16:05:25

+0

@Lepidosteus我無法使用獅身人面像的網站是在共享主機和我的託管服務提供商獲得了」不允許安裝,因爲它需要根級別權限,並且它們不會進行系統範圍的安裝,因爲它是第三方,並且它們不能保證它的安全性。 – 2012-07-31 16:33:52

+0

大多數其他框架使用單獨的MyISAM表,包含搜索關鍵字甚至全文。例如,Magento有一些用於搜索的'xxx_flat'表; 'xxx_index'表上的TYPO3做同樣的事情。 – feeela 2012-07-31 16:47:23

回答

1

最簡單的方法是爲產品的文本數據創建一個MyISAM表並針對它運行搜索查詢。然後,您可以每天使用cron作業重建MyISAM表中的數據,以確保一致性。或者,您可以讓您的模型在每次更新時更新MyISAM表中的數據。

相關問題