You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2014/08/18 16:37:20 UTC
[jira] [Updated] (OAK-2005) Use separate Lucene index for
performing property related queries
[ https://issues.apache.org/jira/browse/OAK-2005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chetan Mehrotra updated OAK-2005:
---------------------------------
Attachment: OAK-2005-1.patch
Initial patch for above feature. Currently one testcase failing and rest all passing
* Multiple Lucene property index definition supported. For example to index {{propa}} create a definition like
{code:javascript}
{
"jcr:primaryType": "oak:QueryIndexDefinition",
"type": "lucene",
"fulltextEnabled": false,
"includePropertyNames": ["propa"],
"propa" : {"propertyType" : "long"}
}
{code}
The above defintion created a lucene based property index which indexes property {{propa}} of type long. Multiple property names can be provided as part of same definition
*TODO*
* Support for restricting property definitions by nodeTypes i.e. support for {{declaraingNodeTypes}}
* Support for restricting index to properties present in certain paths
* Support for in clause
> Use separate Lucene index for performing property related queries
> ------------------------------------------------------------------
>
> Key: OAK-2005
> URL: https://issues.apache.org/jira/browse/OAK-2005
> Project: Jackrabbit Oak
> Issue Type: New Feature
> Components: oak-lucene
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Fix For: 1.1
>
> Attachments: OAK-2005-1.patch
>
>
> 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'
--
This message was sent by Atlassian JIRA
(v6.2#6252)