Became apparent to me today as I was searching for some files that Spotlight only indexes content for files based on their extension (and plugin, if installed). I was able to confirm this with the following code:
echo "hello you hoser" > something.java
There's a bunch of data there associated specifically to the .java extension. Find that file based on its contents:
mdfind "you hoser" |grep java
Aha, there's the file.
Trying this again with, say, a .rb extension:
echo "take off you nob" > somethingelse.rb
mdfind "take off you" | grep something
No results. mdls shows that there are some attributes associated with the .rb extension, but somehow the content isn't indexed.
XCode provides a project template called "Metadata Importer" so you can write your own to deal with custom extensions. Apple's doc explains the process.