Anyway, some thoughts:
* Are you are querying the database? If you do, you are using the SQL
construct LIKE '%rates%'.
* Hacking django/haystack internals is not a good idea. But if you
want be sure you are modifying constants.VALID_FILTER and not creating
a local.
* Setting VALID_FILTER is not going to add your desired functionality magicaly
Now, well, I get your point. What you are trying to do is insane. With
lucene you can do *irate* (the * is part of the string) and finds what
you want. Woosh does not like *.
Someone with more knowledge of woosh or haystack should talk now.