lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wettin (JIRA)" <>
Subject [jira] Updated: (LUCENE-550) InstantiatedIndex - faster but memory consuming index
Date Sat, 10 Feb 2007 21:31:06 GMT


Karl Wettin updated LUCENE-550:

    Attachment: trunk.diff.bz2

Can now be loaded from, and be persisted in an FSDirectory. 

The actual implementation is a bit more abtract than that though. It is not super nice yet,
but all low level index comparator tests pass. 

Introduced functionallity to load an instantiated from any index reader (e.g. a FSDirectory)

   * Creates a new instantiated index that looks just like the index in a specific state as
represented by a reader.
   * @param sourceIndexReader the source index this new instantiated index will be copied
   * @throws IOException if the source index is not optimized, or when accesing the source.
  public InstantiatedIndex(IndexReader sourceIndexReader) throws IOException {

Also introduced class SimpleSychronizedIndex, a class that kind of works like unix command
"tee", makes sure that all changes to a main index (e.g. an instantiated index) also is applied
to a mirror index (e.g. the fs directory loaded to the instantiated index at constructor time).

Some class that handles these two things a single entity will probably be added soon.

Basiacally this is replicating changes to a secondary index on commits. Thus it takes about
twice the time to insert documents. Perhaps the secondary index should be updated in a secondary

> InstantiatedIndex - faster but memory consuming index
> -----------------------------------------------------
>                 Key: LUCENE-550
>                 URL:
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Store
>    Affects Versions: 2.0.0
>            Reporter: Karl Wettin
>         Assigned To: Karl Wettin
>         Attachments: lucene-550.jpg,, trunk.diff.bz2, trunk.diff.bz2,
> An non file centrinc all in memory index. Consumes some 2x the memory of a RAMDirectory
(in a term satured index) but is between 3x-60x faster depending on application and how one
counts. Average query is about 8x faster. IndexWriter and IndexModifier have been realized
in InterfaceIndexWriter and InterfaceIndexModifier. 
> InstantiatedIndex is wrapped in a new top layer index facade (class Index) that comes
with factory methods for writers, readers and searchers for unison index handeling. There
are decorators with notification handling that can be used for automatically syncronizing
searchers on updates, et.c. 
> Index also comes with FS/RAMDirectory implementation.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message