[ 
https://issues.apache.org/jira/browse/SOLR-5463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13845588#comment-13845588
 ] 

Hoss Man commented on SOLR-5463:
--------------------------------

bq. Maybe "continuation"/"nextContinuation" or "continue"/"nextContinue" or 
"pos"/"nextPos"? (I don't love any of them.)

Of all the ideas so far, i _dislike_ {{cursor}} & {{cursorAdvance}} the _least_ 
of all.

But i think you're on to something here...

bq. You want to convey a (resumption) position in a result sequence. A cursor 
is not itself a position; it's a movable pointer to a position. The value of 
the cursor param is not the cursor itself; rather, it's the position from which 
to resume iterating over a result sequence.

Perhaps the key here is to pick a param name that makes it clear it's not a 
"cursor name" is a "position along the progression of a cursor" ... things like 
{{cursorPosition}}, {{cursorPoint}}, and {{cursorValue}} seems like they could 
all easily suffer the same confusion as {{searchAfter}} .. but perhaps we could 
find a suitable "attribute" qualifier on cursor that is more clearly and 
obviously disjoint from something the user might think they can define on their 
own?

* {{cursorMark}} / {{nextCursorMark}}
* {{cursorPhase}} / {{nextCursorPhase}}
* {{cursorToken}} / {{nextCursorToken}}
* {{cursorPosToken}} / {{nextCursorPosToken}}

Any of this sounding resoundingly better then the existing ideas to anyone?  I 
think my new favorite is {{cursorMark}} / {{nextCursorMark}} ... they seem 
suitably abstract that people won't try to presume they know what they mean.

> Provide cursor/token based "searchAfter" support that works with arbitrary 
> sorting (ie: "deep paging")
> ------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-5463
>                 URL: https://issues.apache.org/jira/browse/SOLR-5463
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Hoss Man
>            Assignee: Hoss Man
>         Attachments: SOLR-5463__straw_man.patch, SOLR-5463__straw_man.patch, 
> SOLR-5463__straw_man.patch, SOLR-5463__straw_man.patch, 
> SOLR-5463__straw_man.patch, SOLR-5463__straw_man.patch, 
> SOLR-5463__straw_man.patch, SOLR-5463__straw_man.patch, 
> SOLR-5463__straw_man.patch
>
>
> I'd like to revist a solution to the problem of "deep paging" in Solr, 
> leveraging an HTTP based API similar to how IndexSearcher.searchAfter works 
> at the lucene level: require the clients to provide back a token indicating 
> the sort values of the last document seen on the previous "page".  This is 
> similar to the "cursor" model I've seen in several other REST APIs that 
> support "pagnation" over a large sets of results (notable the twitter API and 
> it's "since_id" param) except that we'll want something that works with 
> arbitrary multi-level sort critera that can be either ascending or descending.
> SOLR-1726 laid some initial ground work here and was commited quite a while 
> ago, but the key bit of argument parsing to leverage it was commented out due 
> to some problems (see comments in that issue).  It's also somewhat out of 
> date at this point: at the time it was commited, IndexSearcher only supported 
> searchAfter for simple scores, not arbitrary field sorts; and the params 
> added in SOLR-1726 suffer from this limitation as well.
> ---
> I think it would make sense to start fresh with a new issue with a focus on 
> ensuring that we have deep paging which:
> * supports arbitrary field sorts in addition to sorting by score
> * works in distributed mode



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to