[ https://issues.apache.org/jira/browse/JCR-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523228 ]
Ard Schrijvers commented on JCR-1064: ------------------------------------- Implemented the new indexing format again. There is a subtle difficulty though: When I have one sysIndex and 2 workspace indices in format style like: sysIndex = old ws1Index = old ws2Index = old now, only deleting the sysIndex, will generate a sysIndex in new format style in index.createInitialIndex(). Since ws1Index and ws2Index are old, the parentQueryHandler should be set to old index style again. This is implemented. Now, when you would have again sysIndex = old ws1Index = old ws2Index = old and remove sysIndex *and* ws1Index, then at doInit() we would get sysIndex = new --> old (but changed to old when ws2Index is initialised) ws1Index = new ws2Index = old but, when querying ws1Index, this might give problems, because sysIndex is reverted to "old" when ws2Index was initialized. To solve this, at getIndexFormatVersion() always a check is done wether parent handler and current index format are the same. If not, default back to old style. This implies, that when updating jackrabbit version, you will *only* get the new indexing format style if and only if you re-index all the existing indices you have so far. Hope my explanation is clear! I'll prepare the patch > Optimize queries that check for the existence of a property > ----------------------------------------------------------- > > Key: JCR-1064 > URL: https://issues.apache.org/jira/browse/JCR-1064 > Project: Jackrabbit > Issue Type: Improvement > Components: indexing > Affects Versions: 1.3.1 > Reporter: Ard Schrijvers > Priority: Minor > Fix For: 1.4 > > Attachments: JCR-1064-2.patch, JCR-1064-2.patch, JCR-1064-2.patch, > JCR-1064-DEPR.patch > > > //[EMAIL PROTECTED] is transformed into the > org.apache.jackrabbit.core.query.lucene.MatchAllQuery, that through the > MatchAllWeight uses the MatchAllScorer. The calculateDocFilter() in > MatchAllScorer does not scale and becomes slow for growing number of nodes. > Solution: lucene documents will get a new Field: > public static final String PROPERTIES_SET = "_:PROPERTIES_SET".intern(); > that holds the available properties of this document. > NOTE: Lucene indices build without this performance improvement should still > work and fall back to the original implementation -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.