How to accomplish full text search in MySQL 5.5 Engine = innodb? - mysql

I've gone through many articles but didn't find how can I do it alternate to match and against. In one of my project I need to use this and it is not suitable to upgrade the version of the database.
Is there any way?

Related

Search in forum with innodb

I'm using MySQL 5.3 and have no possiblilty to update it to a newer version (5.6 supports full-text search for innodb).
So my question is, should I user Myisam instead so I can use full-text search for my forums table?
The users need to be able to search in the table or should I solve it someway else, (what way?).
EDIT: Or should I use LIKE in SQL?

Sphinx or MySQL Full-text for searching through sub-1000 data entries?

Should I use Sphinx or MySQL full-text for searching through no more than 1000 database entires in different tables?
Later on I plan to display the entries that match the search keywords on a map as points.
All depends on your level of use and need. I would suggest you start with MySQL full-text searching - its easier to implement and will get you to production faster. You can always plan to upgrade later as your demands dictate.

Fastest SQL Full Text Search

I'm currently using SQLite FTS4 engine, and its performance is great. But does someone know of any benchmarks/comparison to MySQL's full text search (or any other SQL database)?
P.S. I'm not looking for any Lucene/NoSQL alternatives.
Bill Karwin from Percona performed benchmarks on Full-Text search MySQL vs Sphinx vs Lucene. You could find slides here http://bit.ly/M6DMsj

InnoDB full-text search (no lucene)

I have a problem. I have a managed VPS server running MySQL 5.1.x. I am currently building a new database where I want to store tweets (via search, stream, timeline etc). So I want to use InnoDB database engine because of the row locking! But unfortunately, MySQL 5.1 does not support Full-text search in InnoDB tables.
The problem is that I cannot update my server by myself. So I cannot install MySQL 5.6 (that should support Full-text search) and I cannot install lucene (or solr or whatever).
Are there other options to achieve Full-text search in MySQL or whatever. Or maybe in PostgreSQL (never used that before)
The only other option I have so far is going to an unmanaged VPS but I don't prefer that :)
You can take a look to MyISAM engine but it's not transactional.
The other other possible solution is create another table with engine MyISAM or ARIA and create a relationship between the new table and the "store tweets" table, so before insert into the 'new table' make sure that 'store tweets' it's not locked.

SQL Server vs MySQL: CONTAINS(*,'FORMSOF(THESAURUS,word)')

I am shocked.
I spent past 3-4 days figuring out how I could implement stemming (and synonyms searches) in mysql when I see in SQL Server the query is incredibly easly:
Select * from tab where CONTAINS(*,'FORMSOF(THESAURUS,word)')
Is possibile on MySql there isn't anything like that?
No, MySQL does not support matching against a user-provided thesaurus.
You can use an external FULLTEXT engine like Sphinx which supports morphology rules, has several stemmers and thesauri built in and allows pluggable ones.