This just keeps running around in my head...

I was wrong on one point...if you use the KeywordAnalyzer and you put your search in quotes then you will not generate a phrase query because a PhraseQuery is only generated if the analyzer produces more than one token. The problem is that, instead of a PhraseQuery, a TermQuery is generated. You don't get to the wildcard handling part of the parser...a TermQuery is returned. The QueryParser's javacc syntax will not recognize wildcards in quotes and the handling for a quoted token does not check for wildcards.

You might try an override in 'Query getFieldQuery(String field, String queryText)' that scans the token for a wildcard and if it finds one, generate a wildcard query instead of a termquery.

- Mark

Paul Taylor wrote:
Mark Miller wrote:
Didn't you say you where using a phrasequery? If you are, things will not work as expected. You need to leave the quotes out of your search as a phrasequery will not match what you are putting in your index. If you are not using a phrasequery then things should work as you would expect. Can you provide any other info?

- Mark

No, I meant I was parsing a search String of the form fieldname:"MusicIP Puid*" (because I was using quotes and it is surrounded by double quotes I called it a phrase query), then I use the QueryParser().parse() to convert this search string into a Query (as shown in the code I posted earlier)



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to