[eluser]Jelmer[/eluser]
It's been a while since I researched all the options. But MySQL fulltext search (MATCH...AGAINST) has a 50% cut-off for words that occur often which might be a problem for you. The important part is in the last 3 paragraphs of the link of pickupman, the very last one is most clear on how it works and why it might be a problem in smaller datasets:
Quote:The 50% threshold has a significant implication when you first try full-text searching to see how it works: If you create a table and insert only one or two rows of text into it, every word in the text occurs in at least 50% of the rows. As a result, no search returns any results. Be sure to insert at least three rows, and preferably many more. Users who need to bypass the 50% limitation can use the boolean search mode; see Section 11.9.2, “Boolean Full-Text Searches”.