[ https://issues.apache.org/jira/browse/OAK-5858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Mueller updated OAK-5858: -------------------------------- Fix Version/s: (was: 1.20.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 > > 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 (v8.3.4#803005)