In general, you can do this by querying the entire view (i.e. not setting any startKey or endKey) and then using a postFilter predicate to do the string matching.
That may sound inefficient — and it is! — but that kind of search is inevitably inefficient since it can't use an index to narrow down the keys. (A SQL query would do exactly the same thing, behind the scenes.)
A much more efficient way to do a search like this would be to make your map function emit each component of the name as a separate key. For example, something like
emit(doc.firstName, nil);
if (doc.middleName) emit(doc.middleName, nil);
emit(doc.lastName, nil);
(You don't have to store the name broken into components like that; if it's in a single string property, the map function can just split it by spaces and emit each component.)
Then you can query for a name component like "Smith" or "Michael" by setting that as the key, and find all instances of it.
—Jens