You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Ard Schrijvers (JIRA)" <ji...@apache.org> on 2007/08/27 13:01:44 UTC

[jira] Issue Comment Edited: (JCR-1064) Optimize queries that check for the existence of a property

    [ https://issues.apache.org/jira/browse/JCR-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12522978 ] 

aschrijvers edited comment on JCR-1064 at 8/27/07 4:00 AM:
--------------------------------------------------------------

Marcel Reutegger wrote:
"One more thing, please"include a check in SearchIndex.doInit(), which compares the IndexFormatVersion of 'this' with the parent query handler (if there is one). They have to be the same, otherwise queries might return wrong results. "

The current patch is without this test in the parent query handler, because AFAICS everything works without this test (the parent handler does not need to have the PROPERTY_SET fieldname AFAIU ). 

Futhermore, I added a boolean 'newWorkSpaceIndex' to the MultiIndex.java, since the initial index creation when none exists is done there. As Marcel suggested, SearchIndex.doInit() might be a better place for this index creation. 

Do you think the current patch can be applied to the trunk? 

      was (Author: aschrijvers):
    Marcel Reutegger wrote:
One more thing, please"include a check in SearchIndex.doInit(), which compares the IndexFormatVersion of 'this' with the parent query handler (if there is one). They have to be the same, otherwise queries might return wrong results. "

The current patch is without this test in the parent query handler, because AFAICS everything works without this test (the parent handler does not need to have the PROPERTY_SET fieldname AFAIU ). 

Futhermore, I added a boolean 'newWorkSpaceIndex' to the MultiIndex.java, since the initial index creation when none exists is done there. As Marcel suggested, SearchIndex.doInit() might be a better place for this index creation. 

Do you think the current patch can be applied to the trunk? 
  
> 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-DEPR.patch
>
>
> //*[@mytext] 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.