title: Whole word search with MySQL on MEDIUMTEXT
body: <p>I know this question was discussed a lot of times.
  Anyway, I would like to figure out again.</p>
  
  <p>Well, I have table "articles" contains these fields:</p>
  
  <ul>
  <li>title (varchar 255)</li>
  <li>keywords (varchar 255)</li>
  <li>content_body_1 (mediumtext)</li>
  <li>content_body_2 (mediumtext)</li>
  </ul>
  
  <p>There is an index on "title" and "keywords". However, there is no index on MEDIUMTEXT fields.</p>
  
  <p>I need to perform "whole word" search on all these fields. I am now doing this using REGEXP:</p>
  
  <pre><code>SELECT * FROM `articles` WHERE `content_body_1` REGEXP '[[:&lt;:]]"keyword"[[:&gt;:]]'
  </code></pre>
  
  <p>And so on. It's okay for 100 articles, but it's VERY slow (2-3 seconds) on 1000 articles. REGEXP does not use indexing in MySQL. What if I have 10000 articles? Is there any way for faster search by whole keyword?</p>
  
  <p>How can I get that? Is FULLTEXT much faster? If yes - how can I design my database? And also what should I do with FULLTEXT limit of minimum characters to search?</p>
  
  <p>Thanks.</p>