[
https://issues.apache.org/jira/browse/SOLR-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12626572#action_12626572
]
shalinmangar edited comment on SOLR-617 at 9/2/08 4:59 AM:
--------------------------------------------------------------------
Thanks for the patch Akshay!
I think we should allow a user to specify his custom IndexDeletionPolicy too.
We can provide a default implementation with all the options specified in the
issue description. So I propose that we have the following syntax:
{code:xml}
<deletionPolicy class="com.MyDeletionPolicy" />
{code}
The default implementation will be SolrIndexDeletionPolicy which can be
configured through a NamedList. Any custom deletion policy will be initialized
with a NamedList if it implements NamedListInitializedPlugin.
{code:xml}
<!-- configure deletion policy here-->
<deletionPolicy class="solr.SolrIndexDeletionPolicy">
<!-- Store only the commits with optimize.Non optimized commits will get
deleted by lucene when
the last IndexWriter/IndexReader using this commit point is closed
-->
<str name="keepOptimizedOnly">true</str>
<!--Maximum no: of commit points stored . Older ones will be cleaned when
they go out of scope-->
<str name="maxCommitsToKeep"></str>
<!-- max age of a stored commit-->
<str name="maxCommitAge"></str>
</deletionPolicy>
{code}
To facilitate replication, we can have a wrapper over the IndexDeletionPolicy
which can provide us the features needed for replication (SOLR-561). We need
access to a list of non-deleted IndexCommit instances, a way to lookup
IndexCommit given a version as well as the latest commit point.
was (Author: shalinmangar):
Thanks for the patch Akshay!
I think we should allow a user to specify his custom IndexDeletionPolicy too.
We can provide a default implementation with all the options specified in the
issue description. So I propose that we have the following syntax:
{code:xml}
<deletionPolicy class="com.MyDeletionPolicy" />
{code}
The default implementation will be SolrIndexDeletionPolicy which can be
configured through a NamedList. Any custom deletion policy will be initialized
with a NamedList if it implements NamedListInitializedPlugin.
{code:xml}
<!-- configure deletion policy here-->
<deletionPolicy class="solr.SolrIndexDeletionPolicy">
<!-- Store only the commits with optimize.Non optimized commits will get
deleted by lucene when
the last IndexWriter/IndexReader using this commit point is closed
-->
<bool name="keepOptimizedOnly">true</bool>
<!--Maximum no: of commit points stored . Older ones will be cleaned when
they go out of scope-->
<int name="maxCommitsToKeep"></int>
<!-- max age of a stored commit-->
<str name="maxCommitAge"></str>
</deletionPolicy>
{code}
To facilitate replication, we can have a wrapper over the IndexDeletionPolicy
which can provide us the features needed for replication (SOLR-561). We need
access to a list of non-deleted IndexCommit instances, a way to lookup
IndexCommit given a version as well as the latest commit point.
> Allow configurable deletion policy
> ----------------------------------
>
> Key: SOLR-617
> URL: https://issues.apache.org/jira/browse/SOLR-617
> Project: Solr
> Issue Type: New Feature
> Components: search, update
> Affects Versions: 1.4
> Reporter: Noble Paul
> Assignee: Shalin Shekhar Mangar
> Priority: Minor
> Fix For: 1.4
>
> Attachments: 617.patch, solr-617.patch
>
>
> Lucene API provides means to configure deletion policy. Solr should be able
> to expose it through configuration in solrconfig.xml. Moreover the new
> replication (SOLR-561) strategy is going to rely on this .
> I propose the configuration go into the <mainIndex> section
> sample configuration
> {code:xml|title=solrconfig.xml}
> <mainIndex>
> <!-- configure deletion policy here-->
> <deletionPolicy>
> <!-- Store only the commits with optimize.Non optimized commits will
> get deleted by lucene when
> the last IndexWriter/IndexReader using this commit point is
> closed -->
> <keepOptimizedOnly>true</keepOptimizedOnly>
> <!--Maximum no: of commit points stored . Older ones will be cleaned
> when they go out of scope-->
> <maxCommitsToKeep></maxCommitsToKeep>
> <!-- max age of a stored commit-->
> <maxCommitAge></maxCommitAge>
> </deletionPolicy>
>
> </mainIndex>
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.