You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Nitin Gupta (Jira)" <ji...@apache.org> on 2022/01/18 10:55:00 UTC
[jira] [Assigned] (OAK-9662) Perform inequality matches in Lucene+Elastic, rather than just in the query engine
[ https://issues.apache.org/jira/browse/OAK-9662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nitin Gupta reassigned OAK-9662:
--------------------------------
Assignee: Nitin Gupta
> Perform inequality matches in Lucene+Elastic, rather than just in the query engine
> ----------------------------------------------------------------------------------
>
> Key: OAK-9662
> URL: https://issues.apache.org/jira/browse/OAK-9662
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Reporter: Nitin Gupta
> Assignee: Nitin Gupta
> Priority: Major
>
> Currently it appears that inequality matches are never fully performed inside Lucene (whereas obviously equality matches ARE).
>
> Inequality query like
> {code:java}
> /jcr:root/test/a//element(*, nt:base)[testProp != 'sample'] {code}
> This yields the plan which includes the Lucene query like below - effectively matching documents with _any_ value of this field and relying on the Query Engine to filter out those which are not equal to the passed value.
> {code:java}
> +:ancestors:/test/a +testProp:[* TO *] {code}
> And then all the results are fetched and the inequality condition is satisfied by QueryEngine - this leads to slower queries and even IndexTraversed read limit being exceeded in case of large repositories.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)