[ 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.16.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.14.0, 1.16.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)