XMLWordPrintableJSON

Details

    • Technical task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.5.7, 1.6.0
    • query
    • None

    Description

      In Oak one can define an index anywhere in the repository under a special node name oak:index. For e.g. if you want a property index for sling:resourceType at root level then you can create the index at /oak:index/resourceType and this index would store the index content at /oak:index/resourceType/:index.

      1. Writing - At time of commit the IndexEditor would need to decide where the indexed content for a given path should be stored. To start with it can make use of PathToStoreMapper to decide which node to use the indexed content. For e.g. for /libs the indexed content is stored under :index-pr and for /content :index-sr is used. This is simpler for PropertyIndex where IndexStoreStrategy can be passed the right node
      2. Reading - At time of reading the QueryIndex implementation would need to provide a union cursor which can perform lookup from all such store directories for a given index.

      Open Items

      1. Supporting unique indexes
      2. Introducing new oak:index - Node under oak:index node are special. Depending on parent path it might be possible that they would have to be created in both repositories. For e.g. /oak:index would have to be present in both PR and SR. While /content/foo/oak:index can live only in SR.

      Attachments

        1. OAK-3403-v1.patch
          50 kB
          Chetan Mehrotra
        2. OAK-3403-v2.patch
          78 kB
          Alex Deparvu
        3. OAK-3403-v3.patch
          75 kB
          Alex Deparvu
        4. OAK-3403-v4.patch
          75 kB
          Alex Deparvu
        5. OAK-3403-v5.patch
          71 kB
          Alex Deparvu
        6. OAK-3403-v6.patch
          71 kB
          Alex Deparvu

        Issue Links

          Activity

            People

              stillalex Alex Deparvu
              chetanm Chetan Mehrotra
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: