: is causing the interpretation to be the way it is. In certain cases, where : the typed in field might : have user name such as "kathy_k", we want it to look for the exact : expression in addition to : what the Analyzer does.
i don't know that i understand your question ... if the analyzer is splitting kathy_k up into two seperate tokens at index time, then you really *don't* want it to search for "the exact expression" at search time, becuase you wont' find it, because it hasn't been indexed ... you want your query time analyzer to be compatible with your index time analyzer. what does make sense sometimes is to index more then you search on ... ie: use WordDelimiterFilter when indexing to index all three tokens: "kathy_k", "kathy", "k"; and at query time you don't use that FIlter (or use it with differnet params) so that you'll get a match if a user searches for "kathy" "kathy_k" or "kathy k" -Hoss