[
https://issues.apache.org/jira/browse/JCR-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12522508
]
Ard Schrijvers commented on JCR-1064:
-------------------------------------
Hmmm, having a problem.
When the index is empty at startup, the multiIndex seems to index some
documents
if (indexNames.size() == 0) {
reindexing = true;
This means, that
index.getIndexReader().numDocs() == 0; is always false in SearchIndex doInit().
I can try to add in MultiIndex when reindexing = true to add default
fieldNames.PROPERTY_SET, but I am afraid, if somebody makes a change, it might
break again. It is kind of a problem of the
allFieldNames.contains(FieldNames.PROPERTIES_SET) || numDocs == 0
test, which assumes some parts, and can be easy to break.
WDOT? Shall I add it to MultiIndex, when reindexnig is true that PROPERTY_SET
FieldName is added? I do not really like it though.
> 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
>
>
> //[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.