title: MySQL Full-text search - search for short words
body: <p>I have a problem. I made a simple search engine which searches by brand and model of car. For reasons of query performance and a lot of data in database, I decided to use full-text search. It's ok, but now I come across the problem:</p>
  
  <p>I would like to find all cars with brand "Audi" and with model "Q7". For now, I have this SQL query, but it doesn't work right, because of word length "Q7":  </p>
  
  <pre><code>SELECT `a`.`id`, `a`.`title`, `a`.`askprice`, `a`.`description`, `a`.`picture`
  FROM (`mm_ads` as a)
  WHERE `a`.`category` =  '227'
  AND `a`.`askprice` &gt;= '0'
  AND `a`.`askprice` &lt;= '144000'
  AND (MATCH(a.title) AGAINST ('+audi +q7' IN BOOLEAN MODE ))
  GROUP BY `a`.`id`
  ORDER BY `a`.`id` ASC
  LIMIT 30
  </code></pre>
  
  <p>I don't have access to modify MySQL config file, to set <code>ft_min_word_len</code> to value 2. For now value is 3. Is there any other way to deal with that?</p>
  
  <hr>
  
  <p>Here is another problem:</p>
  
  <p>I would like to get all cars brand "BMW" and model "116". For example, I have a car named <code>BMW, 1, 116i</code>. My SQL query is:</p>
  
  <pre><code>`SELECT `a`.`id`, `a`.`title`, `a`.`askprice`, `a`.`description`, `a`.`picture`
  FROM (`mm_ads` as a)
  WHERE `a`.`category` =  '227'
  AND `a`.`askprice` &gt;= '0'
  AND `a`.`askprice` &lt;= '144000'
  AND (MATCH(a.title) AGAINST ('+bmw +116' IN BOOLEAN MODE))
  GROUP BY `a`.`id`
  ORDER BY `a`.`id` ASC
  LIMIT 30`
  </code></pre>
  
  <p>Search return 0 rows. Why? All input strings ("BMW", "116") are min length 3. What am I doing wrong?</p>
  
  <p>Regards, Mario</p>