
jira at apache
Nov 24, 2009, 4:18 PM
Post #1 of 3
(301 views)
Permalink
|
|
[jira] Commented: (LUCENE-1486) Wildcards, ORs etc inside Phrase queries
|
|
[ https://issues.apache.org/jira/browse/LUCENE-1486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12782254#action_12782254 ] Ahmet Arslan commented on LUCENE-1486: -------------------------------------- Hi Mark, Up to now, I was consuming ComplexPhraseQueryParser.java by means of copy paste into my source code, so I didn't notice. Today I find out that ComplexPhraseQuery.java in Lucene 2.9.1 Misc has missed the non default field.patch. It gives exception with author:"fred* smith" style queries. I am writing a solr plugin to contribute for this query parser and Solr 1.4.0 directly depends on lucene-misc-2.9.1.jar. Should I edit and include source code of ComplexPhraseQueryParser.java in my patch to solve this problem? Or is there a more convenient way to do it? Thank you for your consideration. > Wildcards, ORs etc inside Phrase queries > ---------------------------------------- > > Key: LUCENE-1486 > URL: https://issues.apache.org/jira/browse/LUCENE-1486 > Project: Lucene - Java > Issue Type: Improvement > Components: QueryParser > Affects Versions: 2.4 > Reporter: Mark Harwood > Priority: Minor > Fix For: 3.1 > > Attachments: ComplexPhraseQueryParser.java, junit_complex_phrase_qp_07_21_2009.patch, junit_complex_phrase_qp_07_22_2009.patch, Lucene-1486 non default field.patch, LUCENE-1486.patch, LUCENE-1486.patch, LUCENE-1486.patch, LUCENE-1486.patch, LUCENE-1486.patch, TestComplexPhraseQuery.java > > > An extension to the default QueryParser that overrides the parsing of PhraseQueries to allow more complex syntax e.g. wildcards in phrase queries. > The implementation feels a little hacky - this is arguably better handled in QueryParser itself. This works as a proof of concept for much of the query parser syntax. Examples from the Junit test include: > checkMatches("\"j* smyth~\"", "1,2"); //wildcards and fuzzies are OK in phrases > checkMatches("\"(jo* -john) smith\"", "2"); // boolean logic works > checkMatches("\"jo* smith\"~2", "1,2,3"); // position logic works. > > checkBadQuery("\"jo* id:1 smith\""); //mixing fields in a phrase is bad > checkBadQuery("\"jo* \"smith\" \""); //phrases inside phrases is bad > checkBadQuery("\"jo* [sma TO smZ]\" \""); //range queries inside phrases not supported > Code plus Junit test to follow... -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscribe [at] lucene For additional commands, e-mail: java-dev-help [at] lucene
|