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 "Davide Giannella (JIRA)" <ji...@apache.org> on 2019/04/09 10:37:14 UTC

[jira] [Updated] (OAK-5858) Lucene index may return the wrong result if path is excluded

     [ https://issues.apache.org/jira/browse/OAK-5858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Davide Giannella updated OAK-5858:
----------------------------------
    Fix Version/s: 1.14.0

> Lucene index may return the wrong result if path is excluded
> ------------------------------------------------------------
>
>                 Key: OAK-5858
>                 URL: https://issues.apache.org/jira/browse/OAK-5858
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: lucene
>            Reporter: Thomas Mueller
>            Priority: Major
>             Fix For: 1.12.0, 1.14.0
>
>
> If a query uses a Lucene index that has "excludedPaths", the query result may be wrong (not contain all matching nodes). This is case even if there is a property index available for the queried property. Example:
> {noformat}
> Indexes:
> /oak:index/resourceType/type = "property"
> /oak:index/lucene/type = "lucene"
> /oak:index/lucene/excludedPaths = ["/etc"]
> /oak:index/lucene/indexRules/nt:base/properties/resourceType
> Query:
> /jcr:root/etc//*[jcr:like(@resourceType, "x%y")]
> Index cost:
> cost for /oak:index/resourceType is 1602.0
> cost for /oak:index/lucene is 1001.0
> Result:
> (empty)
> Expected result:
> /etc/a
> /etc/b
> {noformat}
> Here, the lucene index is picked, even thought the query explicitly queries for /etc, and the lucene index has this path excluded.
> I think the lucene index should not be picked in case the index does not match the query path.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)