[
https://issues.apache.org/jira/browse/OAK-8114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16789158#comment-16789158
]
Nitin Gupta edited comment on OAK-8114 at 3/11/19 6:05 AM:
-----------------------------------------------------------
*//// Properties on Property node*
- name (string) // Any change here will lead to different properties being
indexed - so reindexing is needed
- boost (double)// We only use Query time boost - so no reindexing req while
modifying this
- index (boolean)// reindexing req -> if set , additional nodes might be
added to the index that have this property, if unset there might be scope for
freeing up index space
- useInExcerpt (boolean)// If set - the property is stored separately in
index - so reindexing req on change
- notNullCheckEnabled (boolean)// change in property will change in number
of nodes being indexed - so reindexing req
- nullCheckEnabled (boolean)// change in property will change in number of
nodes being indexed - so reindexing req
- weight (long)// Used in cost estimation - reindexing not req
- useInSpellCheck // reindexing required otherwise index don't get updated
to return proper spellcheck results
- useInSuggest // same as above
- ordered (boolean)// Requires re indexing as new details are added to index
- refer OAK-2196
- analyzed (boolean)// This should req reindexing as changing this will lead
to different content in the index
- isRegexp (boolean)// should req reindexing as more nodes can be added in
index in case they match the regex now
*Not quite sure above these 4 below - I think all of these would require
reindexing*
*- nodeScopeIndex (boolean)//*
*- type (string)//*
*- propertyIndex (boolean)//*
*- excludeFromAggregation (boolean)//*
*//// Properties on indexNode*
- type (string) = 'lucene' mandatory // no handling req as there is no scope
for change
- async (string) = 'async' mandatory // Already handled
*- blobSize (long) = 32768 // IMO , reindexing should be required for
changes here - since change here might lead to reduction/inc in index file
size - but not sure here ?*
*- maxFieldLength (long) = 10000 // This should req reindexing on any change
- but I am a bit doubtul ?*
*- evaluatePathRestrictions (boolean) = false // Docs says that enabling
this will incur slight inc in index size - so reindexing should be req - but on
surface this seems like a query time parameter - maybe some additional info
needs to be stored in index ?*
- name (string) // No reindexing required here in case this is changed as
this is just used for logging purposes
- compatVersion (long) = 2 // no handling req as there is no scope for change
- includedPaths (string) multiple // Reindexing would be req as any change
here directly affects what nodes are indexed
- excludedPaths (string) multiple // Same as above
- queryPaths (string) multiple = ['/'] // Same as above
- indexPath (string) // Reindexing should be req.
- codec (string) // Any change here would req reindexing as there would be
changes around index compression and such
- refresh (boolean) // no handling req here as it gets auto removed if added
was (Author: nitigup):
*//// Properties on Property node*
- name (string) // Any change here will lead to different properties being
indexed - so reindexing is needed
- boost (double)// We only use Query time boost - so no reindexing req while
modifying this
- index (boolean)// reindexing req -> if set , additional nodes might be
added to the index that have this property, if unset there might be scope for
freeing up index space
- useInExcerpt (boolean)// If set - the property is stored separately in
index - so reindexing req on change
- notNullCheckEnabled (boolean)// change in property will change in number of
nodes being indexed - so reindexing req
- nullCheckEnabled (boolean)// change in property will change in number of
nodes being indexed - so reindexing req
- weight (long)// Used in cost estimation - reindexing not req
- useInSpellCheck // reindexing required otherwise index don't get updated to
return proper spellcheck results
- useInSuggest // same as above
- ordered (boolean)// Requires re indexing as new details are added to index
- refer OAK-2196
- analyzed (boolean)// This should req reindexing as changing this will lead
to different content in the index
*Not quite sure above these 5 below*
*- nodeScopeIndex (boolean)//*
*- isRegexp (boolean)//*
*- type (string)//*
*- propertyIndex (boolean)//*
*- excludeFromAggregation (boolean)//*
*//// Properties on indexNode*
- type (string) = 'lucene' mandatory // no handling req as there is no scope
for change
- async (string) = 'async' mandatory // Already handled
- blobSize (long) = 32768 // IMO , reindexing should be required for changes
here - since change here might lead to reduction/inc in index file size - but
not sure here ?
- maxFieldLength (long) = 10000 // This should req reindexing on any change -
but I am a bit doubtul ?
- evaluatePathRestrictions (boolean) = false // Docs says that enabling this
will incur slight inc in index size - so reindexing should be req - but on
surface this seems like a query time parameter - maybe some additional info
needs to be stored in index ?
- name (string) // No reindexing required here in case this is changed as
this is just used for logging purposes
- compatVersion (long) = 2 // no handling req as there is no scope for change
- includedPaths (string) multiple // Reindexing would be req as any change
here directly affects what nodes are indexed
- excludedPaths (string) multiple // Same as above
- queryPaths (string) multiple = ['/'] // Same as above
- indexPath (string) // Reindexing should be req.
- codec (string) // Any change here would req reindexing as there would be
changes around index compression and such
- refresh (boolean) // no handling req here as it gets auto removed if added
> IndexDefinitionBuilder should be smarter when to reindex while updating a
> definition
> ------------------------------------------------------------------------------------
>
> Key: OAK-8114
> URL: https://issues.apache.org/jira/browse/OAK-8114
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: lucene, search
> Reporter: Vikas Saurabh
> Priority: Major
> Attachments: OAK-8114_1.patch
>
>
> {{IndexDefinitionBuilder}} currently sets reindex flag while building an
> index definition if there is a difference in existing def v/s what it builds.
> The only place it acts smarter is while setting up nrt or sync flag. There
> are quite a few properties which only affect querying or cost-estimation and
> don't imply a change in indexed data. For such cases, simply setting
> {{refresh=true}} should suffice.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)