It's the Analyzer you're passing into the QueryParser. StandardAnalyzer turns "C++" into "c". You can change the .jj grammar to fix this. (same for "C#")
On 6/14/06, Joe Amstadt <[EMAIL PROTECTED]> wrote:
I'm trying to do a search on ( Java PHP C++ ) with lucene 1.9. I am using a MultiFieldQueryParser to parse with StandardAnalyzer. Before I parse the string I clean up the search string and it looks like this ( Java PHP C\+\+ ). The query is only searching on "c" and not "c++" any ideas as to what I am doing wrong at this point would be great. MultiFieldQueryParser mfqp = new MultiFieldQueryParser( str_arr_fields, analyzer ); try{ System.out.println( "String Before Clean Up --> " + str_search_value ); String str_clean_search = stringCleanUp( str_search_value ); //Escape these special chars + - && || ! ( ) { } [ ] ^ " ~ * ? : \ System.out.println( "String After Clean Up --> " + str_clean_search); Query query = mfqp.parse( str_clean_search ); System.out.println( "Search Query --> " + query.toString() ); bq_query.add( query, BooleanClause.Occur.MUST ); }catch( ParseException pe_error ){ pe_error.printStackTrace(); } output: String Before Clean Up --> Java PHP C++ String After Clean Up --> Java PHP C\+\+ Search Query --> ( search_text:java title:java ) ( search_text:php title:php ) ( search_text:c title:c ) __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------------------------------------------- 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]