Re: How can I get a monotonically increasing field value for docs?

2015-10-04 Thread Gili Nachum
Glad I made that silly statement. I came to know cursorMark, after noticing how much inefficient is native deep paging in Solr, where each shard returns rowXstart worth of data to the shard servicing the query. I then *wrongly* assumed that cursorMark records the returned doc # of the result set

Re: How can I get a monotonically increasing field value for docs?

2015-09-30 Thread Chris Hostetter
: Small potato: I assume cursor mark breaks when the number of shards changes : while keeping the original values doesn't, since the relative position is : encoded per shard...But that's an edge case. I don't understand your question ... the encoded cursorMark values don't know about thing

Re: How can I get a monotonically increasing field value for docs?

2015-09-29 Thread Gili Nachum
/cwiki.apache.org/confluence/display/solr/Pagination+of+Results > > > > > > : Date: Mon, 21 Sep 2015 21:32:33 +0300 > : From: Gili Nachum <gilinac...@gmail.com> > : Reply-To: solr-user@lucene.apache.org > : To: solr-user@lucene.apache.org > : Subject: Re: How can

Re: How can I get a monotonically increasing field value for docs?

2015-09-29 Thread Chris Hostetter
solr-user@lucene.apache.org : Subject: Re: How can I get a monotonically increasing field value for docs? : : Thanks for the indepth explanation! : : The secondary sort by uuid would allow me to read a series of docs with : identical time over multiple batches by specifying filtering : time>time

How can I get a monotonically increasing field value for docs?

2015-09-21 Thread Gili Nachum
I've implemented a custom solr2solr ongoing unidirectional replication mechanism. A Replicator (acting as solrJ client), crawls documents from SolrCloud1 and writes them to SolrCloud2 in batches. The replicator crawl logic is to read documents with a time greater/equale to the time of the last

Re: How can I get a monotonically increasing field value for docs?

2015-09-21 Thread Shawn Heisey
On 9/21/2015 3:09 AM, Upayavira wrote: > Effectively, all it does is return the value of NOW according to the > request, as the default value. > > You could construct that on a per invocation basis, using > System.getMillis() or whatever. The millisecond timestamp isn't guaranteed to always

Re: How can I get a monotonically increasing field value for docs?

2015-09-21 Thread Shawn Heisey
On 9/21/2015 9:01 AM, Gili Nachum wrote: > TimestampUpdateProcessorFactory takes place only on the leader shard, or on > each shard replica? > if on each replica then I would get different values on each replica. > > My alternative would be to perform secondary sort on a UUID to ensure order. If

Re: How can I get a monotonically increasing field value for docs?

2015-09-21 Thread Gili Nachum
TimestampUpdateProcessorFactory takes place only on the leader shard, or on each shard replica? if on each replica then I would get different values on each replica. My alternative would be to perform secondary sort on a UUID to ensure order. Thanks. On Mon, Sep 21, 2015 at 12:09 PM, Upayavira

Re: How can I get a monotonically increasing field value for docs?

2015-09-21 Thread Gili Nachum
Thanks for the indepth explanation! The secondary sort by uuid would allow me to read a series of docs with identical time over multiple batches by specifying filtering time>timeOnLastReadDoc or (time=timeOnLastReadDoc and uuid>uuidOnLastReaDoc) which essentially creates a unique sorted value to

Re: How can I get a monotonically increasing field value for docs?

2015-09-21 Thread Upayavira
There's nothing to stop you creating your own TimestampUpdateProcessorFactory, here's the entire source for it: public class TimestampUpdateProcessorFactory extends AbstractDefaultValueUpdateProcessorFactory { @Override public UpdateRequestProcessor getInstance(SolrQueryRequest req,