For the most simple of searching through text, one might use a program such as Unix's grep command. It's not terribly sophisticated, but it and such variants as agrep (for doing "approximate" pattern matching) or sgrep (for searching SGML documents) are nonetheless tremendously useful for searching for things, particularly when composed with other commands.
Many "search engines" have been designed to index hierarchies of text database material, and provide far more sophisticated tools to query information.
KDE tools for Beagle have appeared; note:
If this was useful, let others know by an Affero rating