Google is a very mighty tool. I have played a bit with search keywords to find eBooks, and this is the result:

Google for eBooks

The search uses these keywords:

(pdf|chm|zip|rar) (book|ebook|ebooks|books) -filetype:pdf intitle:"index of" -inurl:(htm|html|asp) (reilly|addison|kluwer|MIT)

Step-by-step, this works like this:

  1. intitle:"index of" This tries to limit the search to all pages that have the typical apache directory listing.
  2. -inurl:(htm|html|asp) Helps limiting down to real directory indexes, because these do not have the typical .html extention.
  3. (pdf|chm|zip|rar) Searches for all pages that contain the text pdf, chm, zip, or rar. These are all file extensions usually used by eBooks.
  4. (book|ebook|ebooks|books) Limit search to pages talking about books or something like this.
  5. -bz2 -tar.gz -tgz -rpm A lot of directory indexes contain just archives of Linux/BSD packages, we do not want these show up in the results.
  6. (reilly|addison|kluwer|MIT) Each directory index of eBooks should contain at least one book from one of these large publishers.

That’s it. To further limit down the search, add your own keywords (e.g. Java, J2EE, or whatever)