Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A Caching Split Policy For Real-Time Index Caching [LUCENE-2432] #3506

Open
asfimport opened this issue May 2, 2010 · 0 comments
Open

A Caching Split Policy For Real-Time Index Caching [LUCENE-2432] #3506

asfimport opened this issue May 2, 2010 · 0 comments

Comments

@asfimport
Copy link

asfimport commented May 2, 2010

(Please note that the feature described in #3499 is required reading for this issue.)

he caching split policy builds on the real-time split policy, providing a caching mechanism that serves to buffer writes to the split index.

As one might expect, this policy delays writes to the index, holding them in the RAM-based splits (created by the real-time policy) instead. When a flush is forced (typically through a commit, but in general, through a split rule), then all un-flushed changes (splits) are written to the super-directory.

There are a couple of reasons why one may wish to use the caching split policy opposed to a RAMDirectory. The latter is primarily used to "load a disk-based index into memory", and suffers from a limitation: "the resulting RAMDirectory instance is fully independent from the original Directory (it is a complete copy). Any subsequent changes to the original Directory will not be visible in the RAMDirectory instance". Furthermore, the RAMDirectory gives little control over when changes are flushed to the disk. The caching split policy attempts to address those limitations by allowing (a) changes to the original directory (which we refer to as the super-directory) are in fact visible to the reader and (b) the user to define exactly when to flush writes to the underlying directory.


Migrated from LUCENE-2432 by Karthick Sankarachary
Attachments: LUCENE-2432.patch
Linked issues:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant