Package org.apache.solr.search
Class CursorMark
java.lang.Object
org.apache.solr.search.CursorMark
An object that encapsulates the basic information about the current Mark Point of a "Cursor"
based request.
CursorMark objects track the sort values of the last document
returned to a user, so that SolrIndexSearcher can then be asked to find all documents
"after" the values represented by this CursorMark.-
Constructor Summary
ConstructorsConstructorDescriptionCursorMark(IndexSchema schema, SortSpec sortSpec) Generates an empty CursorMark bound for use with the specified schema andSortSpec. -
Method Summary
Modifier and TypeMethodDescriptioncreateNext(List<Object> nextSortValues) Generates an new CursorMark bound for use with the sameSortSpecas the current CursorMark but using the new SortValues.org.apache.lucene.search.FieldDocReturns a synthetically constructedFieldDocwhoseFieldDoc.fieldsmatch the values of this object.Generates a Base64 encoded serialized representation of the sort values encapsulated by this object, for use in cursor requests.Returns the SortSpec used by this object.Returns a copy of the (raw, unmarshalled) sort values used by this object, or null if first page of docs should be returned (ie: no sort after)voidparseSerializedTotem(String serialized) Parses the serialized version of a CursorMark from a client (which must conform to the existing sortSpec) and populates this object.voidsetSortValues(List<Object> input) Sets the (raw, unmarshalled) sort values (which must conform to the existing sortSpec) to populate this object.
-
Constructor Details
-
CursorMark
Generates an empty CursorMark bound for use with the specified schema andSortSpec.- Parameters:
schema- used for basic validationsortSpec- bound to this totem (un)marshalling serialized values
-
-
Method Details
-
createNext
Generates an new CursorMark bound for use with the sameSortSpecas the current CursorMark but using the new SortValues. -
setSortValues
Sets the (raw, unmarshalled) sort values (which must conform to the existing sortSpec) to populate this object. If null, then there is nothing to "search after" and the "first page" of results should be returned. -
getSortValues
Returns a copy of the (raw, unmarshalled) sort values used by this object, or null if first page of docs should be returned (ie: no sort after) -
getSortSpec
Returns the SortSpec used by this object. -
parseSerializedTotem
Parses the serialized version of a CursorMark from a client (which must conform to the existing sortSpec) and populates this object.- See Also:
-
getSerializedTotem
Generates a Base64 encoded serialized representation of the sort values encapsulated by this object, for use in cursor requests.- See Also:
-
getSearchAfterFieldDoc
public org.apache.lucene.search.FieldDoc getSearchAfterFieldDoc()Returns a synthetically constructedFieldDocwhoseFieldDoc.fieldsmatch the values of this object.Important Notes:
ScoreDoc.docwill always be set toInteger.MAX_VALUEso that the tie breaking logic used byIndexSearcherwon't select the same doc again based on the internal lucene docId when the SolruniqueKeyvalue is the same.ScoreDoc.scorewill always be set to 0.0F since it is not used when applyingsearchAfterlogic. (Even if the sort values themselves contain scores which are used in the sort)
- Returns:
- a
FieldDocto "search after" or null if the initial page of results is requested.
-