[
https://issues.apache.org/jira/browse/LUCENE-2632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shai Erera updated LUCENE-2632:
-------------------------------
Attachment: LUCENE-2632-trunk.patch
Patch brings the latest patch upto trunk. There have been many changes to the
API, and currently TestTeeCodec fails. I still didn't dig deep into it, but
sometimes it succeeds to call IW.close(), only to fail on a missing segments_1
later on.
I don't know if the test passed before, to judge if it's something that broke
following the migration to trunk API. I'll try to dig deeper later.
Also, I noticed that the patch includes a FilteringCodec. I thought that
TeeCodec will extend it, but it doesn't. Also, LUCENE-4391 added FilterCodec,
so I think FilteringCodec can be removed from this issue. And potentially we
should make TeeCodec extend FilterCodec.
I've kept FilteringCodec in this patch though.
> FilteringCodec, TeeCodec, TeeDirectory
> --------------------------------------
>
> Key: LUCENE-2632
> URL: https://issues.apache.org/jira/browse/LUCENE-2632
> Project: Lucene - Core
> Issue Type: New Feature
> Components: core/index
> Affects Versions: 4.0-ALPHA
> Reporter: Andrzej Bialecki
> Attachments: LUCENE-2632.patch, LUCENE-2632.patch, LUCENE-2632.patch,
> LUCENE-2632.patch, LUCENE-2632.patch, LUCENE-2632-trunk.patch
>
>
> This issue adds two new Codec implementations:
> * TeeCodec: there have been attempts in the past to implement parallel
> writing to multiple indexes so that they are all synchronized. This was
> however complicated due to the complexity of IndexWriter/SegmentMerger logic.
> The solution presented here offers a similar functionality but working on a
> different level - as the name suggests, the TeeCodec duplicates index data
> into multiple output Directories.
> * TeeDirectory (used also in TeeCodec) is a simple abstraction to perform
> Directory operations on several directories in parallel (effectively
> mirroring their data). Optionally it's possible to specify a set of suffixes
> of files that should be mirrored so that non-matching files are skipped.
> * FilteringCodec is related in a remote way to the ideas of index pruning
> presented in LUCENE-1812 and the concept of tiered search. Since we can use
> TeeCodec to write to multiple output Directories in a synchronized way, we
> could also filter out or modify some of the data that is being written. The
> FilteringCodec provides this functionality, so that you can use like this:
> {code}
> IndexWriter --> TeeCodec
> | |
> | +--> StandardCodec --> Directory1
> +--> FilteringCodec --> StandardCodec --> Directory2
> {code}
> The end result of this chain is two indexes that are kept in sync - one is
> the full regular index, and the other one is a filtered index.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]