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

Use separate Lucene index for performing property related queries

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.0.8, 1.1.2
    • lucene
    • None

    Description

      Oak Lucene has some support for working with multiple Lucene directories. Currently Oak uses a single Lucene directory to store the full text index. It would be worthwhile to investigate if we can use a separate Lucene index to store specific properties only and use it to perform property related queries.

      • A separate Lucene directory would be used to store explicitly configured list of properties
      • The properties would be stored with there type
        • JCR Long - long
        • JCR Double - double
        • JCR Date - long - The data value can be stored in long but with lesser precision say upto second or even minutes
      • The values would stored "as is" i.e. without tokenization

      Possible benefits of such an index would be (ofcourse need be validated!)

      • Compact storage - Less memory would be used to store the index
      • Native support for Order By
      • Improved performance for like query - Specifically 'foo%', '%foo'

      Usage documentation avialable at http://jackrabbit.apache.org/oak/docs/query/lucene.html

      Attachments

        1. OAK-2005-1.patch
          106 kB
          Chetan Mehrotra
        2. OAK-2005-2.patch
          112 kB
          Chetan Mehrotra
        3. OAK-2005-fixes.patch
          4 kB
          Amit Jain
        4. OAK-2005-sort.patch
          13 kB
          Amit Jain

        Issue Links

          Activity

            People

              chetanm Chetan Mehrotra
              chetanm Chetan Mehrotra
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: