Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-1064

Optimize queries that check for the existence of a property

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.4
    • indexing, jackrabbit-core
    • None

    Description

      //*[@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

      Attachments

        1. JCR-1064-DEPR.patch
          16 kB
          Ard Schrijvers
        2. JCR-1064-2.patch
          64 kB
          Ard Schrijvers
        3. JCR-1064-2.patch
          20 kB
          Ard Schrijvers
        4. JCR-1064-2.patch
          20 kB
          Ard Schrijvers
        5. JCR-1064-2.patch
          20 kB
          Ard Schrijvers
        6. JCR-1064-3.patch
          23 kB
          Marcel Reutegger
        7. JCR-1064-4.patch
          23 kB
          Christoph Kiehl

        Issue Links

          Activity

            People

              Unassigned Unassigned
              aschrijvers Ard Schrijvers
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: