The explanation: A search index is a record of every word and which rows in the database (posts) hold those words. Search indexes are highly efficient as instead of searching every row (post) for the word, the database will look at the word in the index (like a book index) and then see a list of
rows (posts) that hold the word. Indexes only work if they are smaller than the database table that they are the index for. So to keep the index small and fast, the database people choose to exclude common words, otherwise the index will contain an entry for "the" and it would point to tens of thousands of posts.
It's about databases and search indexes.
The explanation: A search index is a record of every word and which rows in the database (posts) hold those words. Search indexes are highly efficient as instead of searching every row (post) for the word, the database will look at the word in the index (like a book index) and then see a list of
rows (posts) that hold the word. Indexes only work if they are smaller than the database table that they are the index for. So to keep the index small and fast, the database people choose to exclude common words, otherwise the index will contain an entry for "the" and it would point to tens of thousands of posts.
Both the words "on" and "one" are in the exclude list:
http://dev.mysql.com/doc/refman/5.0/en/fulltext-stopwords.html
So you can't search for them as they get skipped in the search as being too common.
Tags solve this. Tags aren't an index to a database table, they are their own table. You can have three letter words as tags and it should be fine.
So the key to finding things with very few letters or that are very common is to tag things with the words, so that later you can find stuff.