Hmmm interesting, that will definitely work and may be the way to go. Ideally, I'd rather store the older versions within a field of the newest if possible. Can one create a custom field that holds other objects?
Nick On Mon, 28 May 2012 17:07:06 -0700, Lance Norskog <goks...@gmail.com> wrote: > You can use the document id and timestamp as a compound unique id. > Then the search would also sort by id, then by timestamp. Result > grouping might let you pick the most recent document from each of the > sorted docs. > > On Mon, May 28, 2012 at 3:15 PM, Nicholas Ball > <nicholas.b...@nodelay.com> wrote: >> >> Hello all, >> >> For the first step of the distributed snapshot isolation system I'm >> developing for Solr, I'm going to need to have a MVCC mechanism as >> opposed >> to the single-version concurrency control mechanism already developed >> (DistributedUpdateProcessor class). I'm trying to find the very best way >> to >> develop this into Solr 4.x (trunk) and so any help would be greatly >> appreciated! >> >> Essentially I need to be able to store multiple version of a document so >> that when you look up a document with a given timestamp, you're given the >> correct version (anything the same or older, not fresher). The older >> versioned documents need to be stored in the index itself to ensure they >> are durable and can be manipulated as other Solr data can be. >> >> One way to do this is to store the old versioned Solr documents within >> the >> latest Solr Document, but I'm not sure this is even possible? >> Alternatively, I could have the latest versioned Document store the >> unique >> keys which point to other older documents. The problem with this is that >> it >> complicates things having various partial objects which all combine as >> one >> logically document. >> >> Are there any suggestions as to the best way to develop this feature? >> >> Thank you in advance for any help you can spare! >> >> Nicholas