You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Chetan Mehrotra <ch...@gmail.com> on 2014/12/08 15:49:04 UTC

[discuss] Use QueryParser instead of custom parsing of fulltext constraint in LucenePropertyIndex

Hi,

Currently the Oak QueryEngine parses the fulltext expression and
produces the FulltextExpression. This was required for runtime
aggregation to work. This allowe [d the LuceneIndex to just convert
the given text (in FulltextTerm) to corresponding Lucene Query [1].

Note that JCR contract for fulltext clause [2] supports some grammer
which was so far handled by the Oak QueryEngine.

Now when moving to index time aggregation it was realized that such
parsing of fulltext expression is problamatic [3] in presence of
different analyzers. As we fix that we need also support the
requirements mentioned in [2]. JR2 used to do that via Lucene
QueryParser [4].

So should oak-lucene also switch to using Lucene's QueryParser to
support the requirements mentioned in [2]

Chetan Mehrotra
[1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java#L913
[2] http://www.day.com/specs/jcr/1.0/6.6.5.2_jcr_contains_Function.html
[3] https://issues.apache.org/jira/browse/OAK-2301
[4] https://github.com/apache/jackrabbit/blob/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JackrabbitQueryParser.java