# \[Mild\] Why can't you search for 2-3 letter words? \[Not just here\]

**URL:** <https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628>\
**Category:** About This Message Board\
**Created:** [July 24, 2008, 4:20pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628 "2008-07-24T16:20:52Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![John\_DiFool](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/john_difool/32/19543_2.png) [@John\_DiFool](https://boards.straightdope.com/u/John_DiFool)\
**Post date:** [July 24, 2008, 4:20pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/1 "2008-07-24T16:20:52Z")

</div>

Wouldn’t it be easy and painless to create a list of common (typically meaning-free when isolated, like ‘she’ or ‘the’) 2-3 letter words, and shoot down the search if it contains one of those common words, while letting less common ones work?

I bring this up because I’ve been getting back into Civ IV lately, and over at [Civfanatics](http://www.civfanatics.com/) they have a huge forum with posts stretching back almost ten years. But if I want to search for “AI” in the title, to see what people have discussed about the artificial intelligence since the game was released, I’m out of luck.

Is there a technical reason for the 3 letter rule that I am not aware of?

---

<div class="post-metadata">

**Author:** ![Marley23](https://avatars.discourse-cdn.com/v4/letter/m/45deac/32.png) [@Marley23](https://boards.straightdope.com/u/Marley23)\
**Post date:** [July 24, 2008, 4:23pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/2 "2008-07-24T16:23:48Z")

</div>

I’m going to move this to ATMB. I’m sure there’s a technical answer, but I definitely don’t know what it is.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [July 24, 2008, 4:36pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/3 "2008-07-24T16:36:08Z")

</div>

The issue is that scanning a file for a list of words to include/exclude in the indexing makes it run a lot more slowly than just including everything more than three letters long.

---

<div class="post-metadata">

**Author:** ![MrSquishy](https://avatars.discourse-cdn.com/v4/letter/m/b9e5f3/32.png) [@MrSquishy](https://boards.straightdope.com/u/MrSquishy)\
**Post date:** [July 24, 2008, 6:24pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/4 "2008-07-24T18:24:21Z")

</div>

I have definitely seen forums that reject searches based on the words being too common, though. An example is [here](http://forums.alfresco.com).

It makes the search function nearly useless, though. Try searching for something like “web service client add document example” or “java api add user”. No dice. You end up not being able to search for the stuff that everybody is posting about! :smack:

---

<div class="post-metadata">

**Author:** ![Telemark](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/telemark/32/372_2.png) [@Telemark](https://boards.straightdope.com/u/Telemark)\
**Post date:** [July 24, 2008, 7:42pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/5 "2008-07-24T19:42:51Z")

</div>

Searches are not performed on the posts. They are performed on indexes that get compiled periodically. Those indexes get huge and unwieldy if you allow 2 and 3 character strings. There are just too many combinations of 2 and 3 characters that commonly show up in text. If the message board is small enough then things would still work, but once you get up to any reasonable size the combinations will kill search performance.

---

<div class="post-metadata">

**Author:** ![Fear\_Itself](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/fear_itself/32/19637_2.png) [@Fear\_Itself](https://boards.straightdope.com/u/Fear_Itself)\
**Post date:** [July 24, 2008, 7:57pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/6 "2008-07-24T19:57:39Z")

</div>

[QUOTE=MrSquishy]  
I have definitely seen forums that reject searches based on the words being too common, though.  
[/QUOTE]  
So does the SDMB, and not just short ones, either; you cannot search on the word ‘itself’.

---

<div class="post-metadata">

**Author:** ![Telemark](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/telemark/32/372_2.png) [@Telemark](https://boards.straightdope.com/u/Telemark)\
**Post date:** [July 24, 2008, 9:28pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/7 "2008-07-24T21:28:48Z")

</div>

Yes, words like “the” are excluded from most searches because they wouldn’t add any useful results and they would slow things down a great deal. I’m not sure why “itself” is on the list but these are often generated programatically so the choices may not always seem logical at first glance.

---

<div class="post-metadata">

**Author:** ![HMS\_Irruncible](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hms_irruncible/32/7394_2.png) [@HMS\_Irruncible](https://boards.straightdope.com/u/HMS_Irruncible)\
**Post date:** [July 24, 2008, 11:35pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/8 "2008-07-24T23:35:04Z")

</div>

[QUOTE=John DiFool]  
Is there a technical reason for the 3 letter rule that I am not aware of?  
[/QUOTE]  
The default configuration of MySQL (database software) sets the minimum word length to 4, and it can be changed. [(cite)](http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html) This is generally what you’re running up against when you hit a 3-character search limit (though sometimes it is for other reasons that have already been mentioned). Many admins don’t even know of this setting, and those who do seldom change it because shorter word lengths almost always hurt performance. I don’t know that SDMB uses MySQL as its backing store, but since it runs VBulletin, I’d almost certainly bet that it does.

So in short, it’s most likely due to a configuration setting that was left at the default value because it’s almost certainly better for performance.

---

<div class="post-metadata">

**Author:** ![GuanoLad](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/guanolad/32/42_2.png) [@GuanoLad](https://boards.straightdope.com/u/GuanoLad)\
**Post date:** [July 25, 2008, 9:00am UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/9 "2008-07-25T09:00:47Z")

</div>

I was once a member of a board about HTML where you couldn’t search for PHP, CGI, XML, or CSS. It wouldn’t just _ignore_ the three letter words, either, it would _refuse to search_ for any words in the query until all three letter words were removed. Ridiculous.

---

<div class="post-metadata">

**Author:** ![Musicat](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/musicat/32/20189_2.png) [@Musicat](https://boards.straightdope.com/u/Musicat)\
**Post date:** [July 25, 2008, 12:08pm UTC](https://boards.straightdope.com/t/mild-why-cant-you-search-for-2-3-letter-words-not-just-here/457628/10 "2008-07-25T12:08:02Z")

</div>

[QUOTE=Telemark]  
Yes, words like “the” are excluded from most searches because they wouldn’t add any useful results and they would slow things down a great deal. I’m not sure why “itself” is on the list but these are often generated programatically so the choices may not always seem logical at first glance.  
[/QUOTE]  
vB allows admins to edit the list of non-searchable words and customize it.
