Krishna Keldec created LUCENE-5344:
--------------------------------------

             Summary: StandardQueryParser ignores Default Operators
                 Key: LUCENE-5344
                 URL: https://issues.apache.org/jira/browse/LUCENE-5344
             Project: Lucene - Core
          Issue Type: Bug
          Components: core/queryparser
    Affects Versions: 4.5
            Reporter: Krishna Keldec


AnalyzerQueryNodeProcessor ignores default operator when creating boolean query 
clauses for overloaded tokens.

Classic query parser output: {{+content:a +content:320}}
{code:java}
QueryParser classicQueryParser;
classicQueryParser = new QueryParser(Version.LUCENE_45, "content", anaylzer);
classicQueryParser.setDefaultOperator(Operator.AND);
classicQueryParser.parse("a320"));
{code}

Flexible query parser output: {{content:a content:320}} *(ignores default 
operator)*
{code:java}
StandardQueryParser flexibleQueryParser;
flexibleQueryParser = new StandardQueryParser(anaylzer);
flexibleQueryParser.setDefaultOperator(Operator.AND);
flexibleQueryParser.parse("a320", "content"));
{code}

The used analyzer:
{code:java}
Analyzer anaylzer = return new Analyzer() {
  protected TokenStreamComponents createComponents(String field, Reader in) {
  Tokenizer   src = new WhitespaceTokenizer(Version.LUCENE_45, in);
  TokenStream tok = new WordDelimiterFilter(src,
     WordDelimiterFilter.SPLIT_ON_NUMERICS |
     WordDelimiterFilter.GENERATE_WORD_PARTS |
     WordDelimiterFilter.GENERATE_NUMBER_PARTS,
     CharArraySet.EMPTY_SET); 
  return new TokenStreamComponents(src, tok);
};
{code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to