I am building an e-commerce system in the codeigniter php framework which needs a full product search. I have used an InnoDB engine in a MySQL database because of it’s advantages like support of foreign keys to enforce referential integrity or row locking instead of table locking, but it doesn’t support fulltext indexes :'(
The only problem is I need to search the products table for the site search, so I need an alternative method than fulltext indexes which is also compatible for Codeigniter. Has anyone got any suggestions? I have looked into creating a seperate searchable table and Sphinx but they look confusing :S
Edit
After checking with the host, I am unable to use Sphinx as the site is on shared hosting and my hosting provider won’t allow installation as it is needs root level privileges and they won’t do a system wide install as it is 3rd party and they can’t guarantee the security of it.
The easiest way will be to create an MyISAM table for the text data for the product and run the search queries against it. Then you can rebuild the data in the MyISAM table every day with a cron job, to ensure consistency. Or you can make your models to update the data in the MyISAM table on every update.