: I think the problem is that 'cat' is of type 'string' and we're querying : as though it was type : 'text'. We get expected results only when we quote the query string,
Erza, did you see my reply to the other incarnation of this question that you asked? http://www.nabble.com/-tt17008120.html#a17012095 : otherwise the query string is goes through stemming and, after that, no : longer quite matches the literal string in the 'cat' field. Is that : possible bug in the filter logic- shouldn't both the original query : string and the stemmed version get through, or is that a feature and we : must supply quotes on a string to by-pass stemming? you don't need to quote hte string to bypass stemming (or any other aspect of analysis ... those don't happen until a field is picked) the problem is that whitespace is a "special character" to the query parser itself ... so unfortunately you need to quote the string to get the queryparser to not split on that whitespace before it ever even checks which fields to query. it's not the ideal way for query parser to work -- but it's what we've got. my suggestion: don't use string fields in the qf, use them in the pf and use copyField to create "text" variants of those fields which you query in the qf. the matching might not be as restrictive, but the scoring should be good. -Hoss