Need of re-indexing on search on Drupal site?
Cron by default only indexes a certain number of items each run.  I believe it defaults to 100 items.  The number is configurable from admin/config/search/settings.

The easiest way to force a reindex of an entire site is to use drush:

drush -y seach-reindex
drush -y seach-index


This will clear the index, and then index all unindexed items.  Be prepared, this can take a long time.

Sometimes, though, if you have some weird custom logic in the node load or field attach process, the search can get caught up.  When cron runs, the PHP timeout would eventually be hit.  When run from drush, you would see no progress running.