I asked Paul Dixon at interMedia about the "pilot" vs "palmpilot" search problem. He wrote:
In 8.1.6 we introduced "substring indexing" which rotates tokens so we can
index suffixes. We did this for a pharmaceutical company that wanted to
wildcard both sides (%benzo%). Trailing wildcards were already OK. That's
what this user should use, although I suspect they're being linguistically
naive: do they really want a hit if someone queries on "lot"?
A thesaurus or extended knowledge-base might help if the user noticed this
spelling error more than once in their logs.
Germans tend to lump a string of words together as one - in that case, and
in Dutch, we decompound linguistically according to a dictionary.
There is some documentation about substring indexing at
http://oradoc.photo.net/ora816/inter.816/a77063/cdatadi6.htm. I have never used it, but it would be interesting to play with.