This is what FAST does in ESP. When a new version of a partition is built, it 
is staged in its own process and co-exists alongside the old one. The 
query-dispatcher sees both and routes traffic based on requested "generation 
id".

Should probably not invest in such a feature until there's a clear demand in 
form of in-the-field bug reports.

--
Jan Høydahl, search solution architect
Cominvent AS - www.cominvent.com

On 12. okt. 2010, at 04.20, Yonik Seeley wrote:

> On Mon, Oct 11, 2010 at 8:32 PM, Peter Keegan <peterlkee...@gmail.com> wrote:
>> I listened with great interest to Grant's presentation of the NoSQL
>> comparisons/alternatives to Solr/Lucene. It sounds like the jury is still
>> out on much of this. Here's a use case that might favor using a NoSQL
>> alternative for storing 'stored fields' outside of Lucene.
>> 
>> When Solr does a distributed search across shards, it does this in 2 phases
>> (correct me if I'm wrong):
>> 
>> 1. 1st query to get the docIds and facet counts
>> 2. 2nd query to retrieve the stored fields of the top hits
>> 
>> The problem here is that the index could change between (1) and (2), so it's
>> not an atomic transaction.
> 
> Yep.
> 
> As I discussed with Peter at Lucene Revolution, if this feature is
> important to people, I think the easiest way to solve it would be via
> leases.
> 
> During a query, a client could request a lease for a certain amount of
> time on whatever index version is used to generate the response.  Solr
> would then return the index version to the client along with the
> response, and keep the index open for that amount of time.  The client
> could make consistent additional requests (such as the 2nd phase of a
> distributed request)  by requesting the same version of the index.
> 
> -Yonik

Reply via email to