Once in a while, I'll search my web site / blog and the search will fail, even though I know the term exists in a page.  Here's some information on Drupal page indexing.

  1. You get your pages indexed whenever someone fetches http://yoursite/cron.php.  If nobody fetches cron.php, your site never updates its index.
  2. Normally, you'll use wget to fetch cron.php from your crontab.  Doesn't matter whose crontab, or even what machine the cron is executed from, so long as you fetch http://yoursite/cron.php
  3. On http://yoursite/admin/settings/search you have the ability to throttle how many of your pages get indexed each time cron.php is fetched.  You also have a button that claims to rebuild your index.  The button doesn't.  It just purges your index.  If you have 100 pages, and you index 20 pages on each fetch of cron.php, after you press the button, you have to wait through 10 fetches of cron.php before all 100 pages are indexed.

So, if you're getting misses in your searches:

  1. Visit http://yoursite/admin/settings/search and see how many pages are not yet indexed.
  2. If there are un-indexed pages, fetch http://yoursite/cron.php via your web browser, and re-load http://yoursite/admin/settings/search to see if you now have 0 un-indexed pages.
  3. Check your crontab to see if you're fetching the proper http://yoursite/cron.php successfully.