[jira] [Commented] (OAK-3769) Issue with jcr:contains on tags property

2016-01-04 Thread Vikas Saurabh (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15081393#comment-15081393
 ] 

Vikas Saurabh commented on OAK-3769:


Yes, thinking further, I also thought that exposing all characters would be a 
bit too much (especially the regex ones). But, I'm getting too enticed with 
{{AND}}, {{OR}}, {{(}} and {{)}} along with already supported {{-}} and {{*}}. 
So, how about using lucene's esacaping followed (correctly unescaping {{(, ), - 
and &}}... and also, removing lower-casing of {{AND}} and {{OR}}. I think with 
such operators being supported in google, users are used to parens, AND and OR 
type operators for text fields type search boxes (which, imo, with most 
relevant use of contains clause... AEM's code using contains, imo, is 
exploitation :)).

> Issue with jcr:contains on tags property
> 
>
> Key: OAK-3769
> URL: https://issues.apache.org/jira/browse/OAK-3769
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Affects Versions: 1.2.7, 1.2.8
>Reporter: Rajeev Duggal
>Assignee: Chetan Mehrotra
> Fix For: 1.4
>
> Attachments: OAK-3769-v1.patch
>
>
> Running the below query, results in Exception pointed by [1]
> /jcr:root/content/dam//element(*,dam:Asset)[jcr:contains(jcr:content/metadata/@cq:tags,
>  'stockphotography:business/business_abstract')] order by @jcr:created 
> descending
> Also if you remove the node at 
> /oak:index/damAssetLucene/indexRules/dam:Asset/properties/cqTags  and 
> re-index the /oak:index/damAssetLucene index, the query works.
> Seems '/' is special character and needs to be escaped by Oak.
> [1]
> {noformat}
> Caused by: 
> org.apache.lucene.queryparser.flexible.core.QueryNodeParseException: Syntax 
> Error, cannot parse stockphotography\:business/business_abstract: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract" 
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.parse(StandardSyntaxParser.java:74)
> at 
> org.apache.lucene.queryparser.flexible.core.QueryParserHelper.parse(QueryParserHelper.java:250)
> at 
> org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.parse(StandardQueryParser.java:168)
> at 
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex.tokenToQuery(LucenePropertyIndex.java:1260)
> ... 138 common frames omitted
> Caused by: 
> org.apache.lucene.queryparser.flexible.standard.parser.TokenMgrError: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract"
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParserTokenManager.getNextToken(StandardSyntaxParserTokenManager.java:937)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_scan_token(StandardSyntaxParser.java:945)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3R_4(StandardSyntaxParser.java:827)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3_2(StandardSyntaxParser.java:739)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_2_2(StandardSyntaxParser.java:730)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Clause(StandardSyntaxParser.java:318)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ModClause(StandardSyntaxParser.java:303)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ConjQuery(StandardSyntaxParser.java:234)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.DisjQuery(StandardSyntaxParser.java:204)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Query(StandardSyntaxParser.java:166)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.TopLevelQuery(StandardSyntaxParser.java:147)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.parse(StandardSyntaxParser.java:65)
> ... 141 common frames omitted
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3769) Issue with jcr:contains on tags property

2016-01-04 Thread Chetan Mehrotra (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15081336#comment-15081336
 ] 

Chetan Mehrotra commented on OAK-3769:
--

Yes there are some benefits of exposing the broader syntax. But remember that 
here you cannot specify the field (within fulltext phrase) as the field is 
implicit as per the first parameter of contains call. So its somewhat limited. 

Further per JCR spec only certain chars are allowed. Expecting the users to 
handle escaping would not be good and its better to not leak the implementation 
much. Boost has got into use, so has been allowed but extending that precendent 
further we need to be careful. Oak supports the native query which can be used 
by user if they want to rely on such implementation detail.

It would be preferable to go with a restrictive set and expose operators on a 
case by case basis


> Issue with jcr:contains on tags property
> 
>
> Key: OAK-3769
> URL: https://issues.apache.org/jira/browse/OAK-3769
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Affects Versions: 1.2.7, 1.2.8
>Reporter: Rajeev Duggal
>Assignee: Chetan Mehrotra
> Fix For: 1.4
>
> Attachments: OAK-3769-v1.patch
>
>
> Running the below query, results in Exception pointed by [1]
> /jcr:root/content/dam//element(*,dam:Asset)[jcr:contains(jcr:content/metadata/@cq:tags,
>  'stockphotography:business/business_abstract')] order by @jcr:created 
> descending
> Also if you remove the node at 
> /oak:index/damAssetLucene/indexRules/dam:Asset/properties/cqTags  and 
> re-index the /oak:index/damAssetLucene index, the query works.
> Seems '/' is special character and needs to be escaped by Oak.
> [1]
> {noformat}
> Caused by: 
> org.apache.lucene.queryparser.flexible.core.QueryNodeParseException: Syntax 
> Error, cannot parse stockphotography\:business/business_abstract: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract" 
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.parse(StandardSyntaxParser.java:74)
> at 
> org.apache.lucene.queryparser.flexible.core.QueryParserHelper.parse(QueryParserHelper.java:250)
> at 
> org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.parse(StandardQueryParser.java:168)
> at 
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex.tokenToQuery(LucenePropertyIndex.java:1260)
> ... 138 common frames omitted
> Caused by: 
> org.apache.lucene.queryparser.flexible.standard.parser.TokenMgrError: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract"
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParserTokenManager.getNextToken(StandardSyntaxParserTokenManager.java:937)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_scan_token(StandardSyntaxParser.java:945)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3R_4(StandardSyntaxParser.java:827)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3_2(StandardSyntaxParser.java:739)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_2_2(StandardSyntaxParser.java:730)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Clause(StandardSyntaxParser.java:318)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ModClause(StandardSyntaxParser.java:303)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ConjQuery(StandardSyntaxParser.java:234)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.DisjQuery(StandardSyntaxParser.java:204)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Query(StandardSyntaxParser.java:166)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.TopLevelQuery(StandardSyntaxParser.java:147)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.parse(StandardSyntaxParser.java:65)
> ... 141 common frames omitted
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3769) Issue with jcr:contains on tags property

2016-01-04 Thread Vikas Saurabh (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15081302#comment-15081302
 ] 

Vikas Saurabh commented on OAK-3769:


[~chetanm], I think it's a little bit lenient that current code passes on the 
text sent in jcr:contains (almost) as is to lucene query parser. Thus, 
theoretically, we are allowing a full lucene query grammar in contains clause 
which might not be intent of code making the query on oak.

This 
[comment|https://issues.apache.org/jira/browse/OAK-2329?focusedCommentId=14239456&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14239456]
 in OAK-2329 seems to suggest that having lucene grammar at hand is useful. 
Although, it kind of ties the usage with underlying implementation (that lucene 
or solr is being used to server contains clause). I mean I can see a useful 
usage of contains clause with proximity search.

The trouble with this is of course with the implementation of caller code - 
should the caller code assume presence of an underlying lucene/solr index and 
hence escape the incoming text itself (sure, oak can expose utility methods to 
do that).

My preference tends towards going all the way with supporting lucene syntax and 
let caller code escape (and thereby assuming underlying lucene index). To do it 
though, we'd want to let 'AND' and 'OR' remains upper-cased.

So, for this particular issue, I think AEM's code should escape the string 
passed into contains clause explicitly to manage that search text doesn't 
contain characters which might make query unparseable.

BTW, a bit of justification on why I'm biased towards supporting lucene grammar 
is:
* in-built property index based full-text query is very non-rich
* slow wrt lucene
So, presence of lucene index would change result which I think is not 
technically correct - but the richness it would allow, imo, out-weighs that 
theoretical issue ('theoretical' because I can't imagine a serious deployment 
without lucene index configured to answer queries with contains clause)

> Issue with jcr:contains on tags property
> 
>
> Key: OAK-3769
> URL: https://issues.apache.org/jira/browse/OAK-3769
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Affects Versions: 1.2.7, 1.2.8
>Reporter: Rajeev Duggal
>Assignee: Chetan Mehrotra
> Fix For: 1.4
>
> Attachments: OAK-3769-v1.patch
>
>
> Running the below query, results in Exception pointed by [1]
> /jcr:root/content/dam//element(*,dam:Asset)[jcr:contains(jcr:content/metadata/@cq:tags,
>  'stockphotography:business/business_abstract')] order by @jcr:created 
> descending
> Also if you remove the node at 
> /oak:index/damAssetLucene/indexRules/dam:Asset/properties/cqTags  and 
> re-index the /oak:index/damAssetLucene index, the query works.
> Seems '/' is special character and needs to be escaped by Oak.
> [1]
> {noformat}
> Caused by: 
> org.apache.lucene.queryparser.flexible.core.QueryNodeParseException: Syntax 
> Error, cannot parse stockphotography\:business/business_abstract: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract" 
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.parse(StandardSyntaxParser.java:74)
> at 
> org.apache.lucene.queryparser.flexible.core.QueryParserHelper.parse(QueryParserHelper.java:250)
> at 
> org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.parse(StandardQueryParser.java:168)
> at 
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex.tokenToQuery(LucenePropertyIndex.java:1260)
> ... 138 common frames omitted
> Caused by: 
> org.apache.lucene.queryparser.flexible.standard.parser.TokenMgrError: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract"
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParserTokenManager.getNextToken(StandardSyntaxParserTokenManager.java:937)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_scan_token(StandardSyntaxParser.java:945)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3R_4(StandardSyntaxParser.java:827)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3_2(StandardSyntaxParser.java:739)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_2_2(StandardSyntaxParser.java:730)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Clause(StandardSyntaxParser.java:318)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ModClause(StandardSyntaxParser.java:303)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ConjQuer

[jira] [Commented] (OAK-3769) Issue with jcr:contains on tags property

2016-01-04 Thread Love Sharma (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15081295#comment-15081295
 ] 

Love Sharma commented on OAK-3769:
--

Hi Chetan/Team,

I have a customer who is facing the same error 
(https://daycare.day.com/home/adobe/adobe_eu/wwfo/83254.html) when he tries to 
search a keyword having '/' in it, whether in Assets or Siteadmin.
I replicated the issue, and it happens on any keyword that has a odd number of 
'/', i.e. if there are 1 or 3, or 5 (so on) number of / in the keyword criteria.
if the number of / is even (2, 4, 6 so on), the error doesn't occur.

The issue is same as the one reported here already: "Issue with / as escape 
character in OAK"

The error displayed is the same:
Caused by: 
org.apache.lucene.queryparser.flexible.standard.parser.TokenMgrError: Lexical 
error at line 1, column 7.  Encountered:  after : "/cd"
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParserTokenManager.getNextToken(StandardSyntaxParserTokenManager.java:937)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_scan_token(StandardSyntaxParser.java:945)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3R_4(StandardSyntaxParser.java:827)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3_2(StandardSyntaxParser.java:739)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_2_2(StandardSyntaxParser.java:730)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Clause(StandardSyntaxParser.java:318)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ModClause(StandardSyntaxParser.java:303)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ConjQuery(StandardSyntaxParser.java:234)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.DisjQuery(StandardSyntaxParser.java:204)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Query(StandardSyntaxParser.java:166)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.TopLevelQuery(StandardSyntaxParser.java:147)
at 
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.parse(StandardSyntaxParser.java:65)
... 311 common frames omitted

Best Regards,
Love Sharma


> Issue with jcr:contains on tags property
> 
>
> Key: OAK-3769
> URL: https://issues.apache.org/jira/browse/OAK-3769
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Affects Versions: 1.2.7, 1.2.8
>Reporter: Rajeev Duggal
>Assignee: Chetan Mehrotra
> Fix For: 1.4
>
> Attachments: OAK-3769-v1.patch
>
>
> Running the below query, results in Exception pointed by [1]
> /jcr:root/content/dam//element(*,dam:Asset)[jcr:contains(jcr:content/metadata/@cq:tags,
>  'stockphotography:business/business_abstract')] order by @jcr:created 
> descending
> Also if you remove the node at 
> /oak:index/damAssetLucene/indexRules/dam:Asset/properties/cqTags  and 
> re-index the /oak:index/damAssetLucene index, the query works.
> Seems '/' is special character and needs to be escaped by Oak.
> [1]
> {noformat}
> Caused by: 
> org.apache.lucene.queryparser.flexible.core.QueryNodeParseException: Syntax 
> Error, cannot parse stockphotography\:business/business_abstract: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract" 
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.parse(StandardSyntaxParser.java:74)
> at 
> org.apache.lucene.queryparser.flexible.core.QueryParserHelper.parse(QueryParserHelper.java:250)
> at 
> org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.parse(StandardQueryParser.java:168)
> at 
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex.tokenToQuery(LucenePropertyIndex.java:1260)
> ... 138 common frames omitted
> Caused by: 
> org.apache.lucene.queryparser.flexible.standard.parser.TokenMgrError: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract"
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParserTokenManager.getNextToken(StandardSyntaxParserTokenManager.java:937)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_scan_token(StandardSyntaxParser.java:945)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3R_4(StandardSyntaxParser.java:827)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3_2(StandardSyntaxParser.java:739)
> at 
> org.

[jira] [Commented] (OAK-3769) Issue with jcr:contains on tags property

2016-01-04 Thread Chetan Mehrotra (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15081037#comment-15081037
 ] 

Chetan Mehrotra commented on OAK-3769:
--

[patch|^OAK-3769-v1.patch] with testcase.

Currently Lucene considers [following chars as 
special|https://github.com/apache/lucene-solr/blob/lucene_solr_4_7_1/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java#L983-L995]

{code}
 char c = s.charAt(i);
  // These characters are part of the query syntax and must be escaped
  if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')' 
|| c == ':'
|| c == '^' || c == '[' || c == ']' || c == '\"' || c == '{' || c == 
'}' || c == '~'
|| c == '*' || c == '?' || c == '|' || c == '&' || c == '/') {
sb.append('\\');
  }
{code}

In Oak escaping is done in 
[rewriteQueryText|https://github.com/apache/jackrabbit-oak/blob/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java#L1340]
 method. It cannot directly use Lucene escape as some operator need to be 
passed as is. The list of operators I know are [1]

{noformat}
- - [1]
+ - [1]
^ - For boosting query time
{noformat}

Current case is broken for '/' which I believe was made special char in Lucene 
4.x as regex based searches are supported now. So not sure we just add '/' to 
our escape logic or should be include other chars also

[~teofili] [~catholicon] Thoughts?
[~mreutegg] [~alexparvulescu] From JR2 experience any thoughts on what should 
we do here. 

[1] http://www.day.com/specs/jcr/1.0/6.6.5.2_jcr_contains_Function.html

> Issue with jcr:contains on tags property
> 
>
> Key: OAK-3769
> URL: https://issues.apache.org/jira/browse/OAK-3769
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Affects Versions: 1.2.7, 1.2.8
>Reporter: Rajeev Duggal
>Assignee: Chetan Mehrotra
> Attachments: OAK-3769-v1.patch
>
>
> Running the below query, results in Exception pointed by [1]
> /jcr:root/content/dam//element(*,dam:Asset)[jcr:contains(jcr:content/metadata/@cq:tags,
>  'stockphotography:business/business_abstract')] order by @jcr:created 
> descending
> Also if you remove the node at 
> /oak:index/damAssetLucene/indexRules/dam:Asset/properties/cqTags  and 
> re-index the /oak:index/damAssetLucene index, the query works.
> Seems '/' is special character and needs to be escaped by Oak.
> [1]
> {noformat}
> Caused by: 
> org.apache.lucene.queryparser.flexible.core.QueryNodeParseException: Syntax 
> Error, cannot parse stockphotography\:business/business_abstract: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract" 
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.parse(StandardSyntaxParser.java:74)
> at 
> org.apache.lucene.queryparser.flexible.core.QueryParserHelper.parse(QueryParserHelper.java:250)
> at 
> org.apache.lucene.queryparser.flexible.standard.StandardQueryParser.parse(StandardQueryParser.java:168)
> at 
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex.tokenToQuery(LucenePropertyIndex.java:1260)
> ... 138 common frames omitted
> Caused by: 
> org.apache.lucene.queryparser.flexible.standard.parser.TokenMgrError: Lexical 
> error at line 1, column 45.  Encountered:  after : "/business_abstract"
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParserTokenManager.getNextToken(StandardSyntaxParserTokenManager.java:937)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_scan_token(StandardSyntaxParser.java:945)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3R_4(StandardSyntaxParser.java:827)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_3_2(StandardSyntaxParser.java:739)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.jj_2_2(StandardSyntaxParser.java:730)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Clause(StandardSyntaxParser.java:318)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ModClause(StandardSyntaxParser.java:303)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.ConjQuery(StandardSyntaxParser.java:234)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.DisjQuery(StandardSyntaxParser.java:204)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.Query(StandardSyntaxParser.java:166)
> at 
> org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser.TopLevelQuery(StandardSyntaxParser.java:147)
> at 
> org.apache.lucene.queryparser.