Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-4906

Lucene: Support relative property based query by transforming the path

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.7.7, 1.8.0
    • Component/s: lucene
    • Labels:
      None
    • Sprint:
      L10

      Description

      PropertyIndex supports query like below

      /jcr:root//*[jcr:content/@keywords]
      

      For such query keywords property is indexed and the as part of Cursor returned for the query the path is transformed to return the parent path if the parent node is jcr:content

      Currently LucenePropertyIndex supports indexing relative properties wrt base node like jcr:content/metadata/status. Here it would index the relative property by refererring to its relative name.

      To simplify switch to LucenePropertyIndex (as part of hybrid index support) LucenePropertyIndex should also support for such queries where property index definition only specifies indexing keywords but the query is using a relative property. So LucenePropertyIndex should

      1. First check if it has a property definition for jcr:content/keywords
      2. If not check if the indexingRule is for nt:base
      3. If yes check if it has property definition for keywords
      4. If yes then use the index to evaluate the query and return transformed result

      LucenePropertyIndex already do such transformations for fulltext constraints. With this we extend that support for property restrictions also

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                chetanm Chetan Mehrotra
                Reporter:
                chetanm Chetan Mehrotra
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: