Class AbstractResponse
- java.lang.Object
- 
- com.lucidworks.apollo.solr.response.AbstractResponse
 
- 
- All Implemented Interfaces:
- WriteableResponse
 - Direct Known Subclasses:
- QueryableResponse,- RawResponse
 
 public abstract class AbstractResponse extends java.lang.Object implements WriteableResponse 
- 
- 
Field SummaryFields Modifier and Type Field Description static java.lang.StringFUSION_NODE- 
Fields inherited from interface com.lucidworks.apollo.solr.response.WriteableResponseDEFAULT_CHARSET
 
- 
 - 
Constructor SummaryConstructors Constructor Description AbstractResponse()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description abstract voidappendMultiMap(java.lang.String name, MultivaluedMap<java.lang.String,java.lang.String> params)abstract voidappendString(java.lang.String name, java.lang.String value)abstract voidappendStringList(java.lang.String name, java.util.List<java.lang.String> values)abstract java.util.Optional<java.lang.String>getCursorMark()java.util.List<java.lang.String>getDocIds()Convenience method for returning all doc idsabstract java.util.List<java.lang.String>getDocIds(java.lang.String id)abstract java.util.List<java.util.Map<java.lang.String,java.lang.Object>>getDocumentFieldValuesForCollapseExpandGroupValue(java.lang.String groupField, java.lang.String groupValue)Return documents of a specific group value under both "response/doc" and "expanded" sections in response Makes defensive copies, detached from underlying response object.abstract java.util.List<java.util.Map<java.lang.String,java.lang.Object>>getDocumentFieldValuesForGroupValue(java.lang.String groupField, java.lang.String groupValue)java.util.List<ResponseDocument>getDocuments()Returns documents.java.util.List<ResponseDocument>getDocumentsForGroupValue(java.lang.String groupValue)Deprecated.java.util.List<ResponseDocument>getDocumentsForGroupValue(java.lang.String groupField, java.lang.String groupValue)Returns documents (corresponding to groupValue) Makes defensive copies, detached from underlying response object.abstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>>getExpandedResults()Returns all collapse expanded results as a map of collapse field name to grouping data that includes list of docsabstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>>getFacets()Return facet info as nested objects: {facet type -> field name -> facet count entries} NOTE: The actual Java type of facet count entries may differ between implementations.abstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>>getGroupedResults()Returns all grouped results as a map of string grouped expression (a field name or a query) to grouping data that includes list of groups For comparison getGroups(String groupField) returns a list of groups for a particular grouping expresionabstract java.util.List<java.util.Map<java.lang.String,java.lang.Object>>getGroups(java.lang.String groupField)Return groups in the response with all accompanying document data Each list entry contains information about the groupValue and the Solr doclist (which includes the docs as well as numFound and rows info).abstract java.util.List<java.lang.String>getGroupValues()Deprecated.abstract java.util.List<java.lang.String>getGroupValues(java.lang.String groupField)If group=true, return an ordered list of group valuesabstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>>getHighlighting()Return highlighting info as nested objects: {Doc ID -> Field name -> Snippets} Makes defensive copies, detached from underlying response object.abstract java.util.Map<java.lang.String,java.lang.Object>getJsonFacets()abstract java.util.Optional<java.lang.Double>getMaxScore()Return Solr maxScoreabstract java.util.Optional<java.lang.Long>getNumFound()Return Solr numFoundabstract java.util.Optional<java.lang.Long>getQTime()Return Solr QTimeabstract java.util.Map<java.lang.String,java.lang.Object>getResponseHeaderParams()Get params in responseHeader Makes defensive copies, detached from underlying response object.abstract java.util.Map<java.lang.String,java.lang.Object>getSpellcheck()Returns response of Solr spellcheck handlerabstract java.util.Optional<java.lang.Long>getStart()abstract java.util.Optional<java.lang.Long>getTotalTime()Return Fusion Query Pipeline timeabstract java.lang.ObjectgetUnderlyingObject()abstract booleanisGrouped()Checks to see if response is grouped (group=true Solr parameter) See https://lucene.apache.org/solr/guide/7_4/result-grouping.htmlabstract voidreorderGroupValues(java.lang.String groupField, java.util.List<java.lang.String> groupValues)Reorder group values in the response.abstract voidsetNumFound(java.lang.Long numFound)abstract voidsetStart(java.lang.Long start)abstract booleansetTotalTime(java.lang.Long time)Set Fusion Query Pipeline time if and only if the responseHeader object already exists.byte[]toByteArray()java.lang.StringtoString()abstract voidupdateDocumentFieldValuesForCollapseExpandGroupValue(java.lang.String groupField, java.lang.String groupValue, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> updatedDocuments)Update documents (corresponding to groupValue) in underlying response object The list of updatedDocuments should include all documents under the groupValue as this method updates both "response/doc" and "expanded" sections in response The list of updatedDocuments cannot be emptyabstract voidupdateDocumentFieldValuesForGroupValue(java.lang.String groupField, java.lang.String groupValue, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> updatedDocuments)voidupdateDocuments(java.util.List<ResponseDocument> updatedDocuments)Update documents in underlying response object Use this method to commit changes (like reordering, redactions, rewritings) made to document objects returned fromgetDocuments()voidupdateDocumentsForGroupValue(java.lang.String groupField, java.lang.String groupValue, java.util.List<ResponseDocument> updatedDocuments)Update documents (corresponding to groupValue) in underlying response objectvoidupdateDocumentsForGroupValue(java.lang.String groupValue, java.util.List<ResponseDocument> updatedDocuments)Deprecated.abstract voidupdateFacets(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> facets)Update facets in underlying response objectabstract voidupdateHighlighting(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> highlighting)Update highlighting in underlying response objectabstract booleanupdateResponseHeaderParams(java.util.Map<java.lang.String,java.lang.Object> responseHeaderParams)Update responseHeader params if and only if responseHeader already exists.- 
Methods inherited from class java.lang.Objectequals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface com.lucidworks.apollo.solr.response.WriteableResponsegetContentCharset, getContentType, getMediaType, write
 
- 
 
- 
- 
- 
Field Detail- 
FUSION_NODEpublic static final java.lang.String FUSION_NODE - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
appendStringpublic abstract void appendString(java.lang.String name, java.lang.String value)
 - 
appendStringListpublic abstract void appendStringList(java.lang.String name, java.util.List<java.lang.String> values)
 - 
appendMultiMappublic abstract void appendMultiMap(java.lang.String name, MultivaluedMap<java.lang.String,java.lang.String> params)
 - 
getUnderlyingObjectpublic abstract java.lang.Object getUnderlyingObject() 
 - 
getQTimepublic abstract java.util.Optional<java.lang.Long> getQTime() Return Solr QTime- Returns:
 
 - 
getTotalTimepublic abstract java.util.Optional<java.lang.Long> getTotalTime() Return Fusion Query Pipeline time- Returns:
 
 - 
setTotalTimepublic abstract boolean setTotalTime(java.lang.Long time) Set Fusion Query Pipeline time if and only if the responseHeader object already exists.- Returns:
- true if update was successful
 
 - 
getNumFoundpublic abstract java.util.Optional<java.lang.Long> getNumFound() Return Solr numFound- Returns:
 
 - 
getMaxScorepublic abstract java.util.Optional<java.lang.Double> getMaxScore() Return Solr maxScore- Returns:
 
 - 
setNumFoundpublic abstract void setNumFound(java.lang.Long numFound) 
 - 
getStartpublic abstract java.util.Optional<java.lang.Long> getStart() 
 - 
getCursorMarkpublic abstract java.util.Optional<java.lang.String> getCursorMark() 
 - 
setStartpublic abstract void setStart(java.lang.Long start) 
 - 
getResponseHeaderParamspublic abstract java.util.Map<java.lang.String,java.lang.Object> getResponseHeaderParams() Get params in responseHeader Makes defensive copies, detached from underlying response object. CallupdateResponseHeaderParams(Map)()} to commit the changes to the actual underlying response object.- Returns:
- responseHeader params
 
 - 
updateResponseHeaderParamspublic abstract boolean updateResponseHeaderParams(java.util.Map<java.lang.String,java.lang.Object> responseHeaderParams) Update responseHeader params if and only if responseHeader already exists.- Returns:
- true if update was successful
 
 - 
getDocumentspublic java.util.List<ResponseDocument> getDocuments() Returns documents. Makes defensive copies, detached from underlying response object. CallupdateDocuments(List)to commit the changes to the actual underlying response object.- Returns:
- documents in Solr response
 
 - 
updateDocumentspublic void updateDocuments(java.util.List<ResponseDocument> updatedDocuments) Update documents in underlying response object Use this method to commit changes (like reordering, redactions, rewritings) made to document objects returned fromgetDocuments()- Parameters:
- updatedDocuments-
 
 - 
isGroupedpublic abstract boolean isGrouped() Checks to see if response is grouped (group=true Solr parameter) See https://lucene.apache.org/solr/guide/7_4/result-grouping.html- Returns:
 
 - 
getGroupValues@Deprecated public abstract java.util.List<java.lang.String> getGroupValues() Deprecated.If group=true, return an ordered list of group values- Returns:
 
 - 
getGroupValuespublic abstract java.util.List<java.lang.String> getGroupValues(java.lang.String groupField) If group=true, return an ordered list of group values- Parameters:
- groupField-
- Returns:
 
 - 
getDocumentsForGroupValue@Deprecated public java.util.List<ResponseDocument> getDocumentsForGroupValue(java.lang.String groupValue) Deprecated.Returns documents (corresponding to groupValue) Makes defensive copies, detached from underlying response object. CallupdateDocumentsForGroupValue(String, List)to commit the changes to the actual underlying response object.- Parameters:
- groupValue-
- Returns:
 
 - 
getDocumentsForGroupValuepublic java.util.List<ResponseDocument> getDocumentsForGroupValue(java.lang.String groupField, java.lang.String groupValue) Returns documents (corresponding to groupValue) Makes defensive copies, detached from underlying response object. CallupdateDocumentsForGroupValue(String, String, List)to commit the changes to the actual underlying response object.- Parameters:
- groupField-
- groupValue-
- Returns:
 
 - 
getDocumentFieldValuesForGroupValuepublic abstract java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getDocumentFieldValuesForGroupValue(java.lang.String groupField, java.lang.String groupValue)
 - 
getDocumentFieldValuesForCollapseExpandGroupValuepublic abstract java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getDocumentFieldValuesForCollapseExpandGroupValue(java.lang.String groupField, java.lang.String groupValue)Return documents of a specific group value under both "response/doc" and "expanded" sections in response Makes defensive copies, detached from underlying response object. CallupdateDocumentFieldValuesForCollapseExpandGroupValue(String, String, List)to persist the changes to the actual underlying response object.- Parameters:
- groupField-
- groupValue-
- Returns:
 
 - 
updateDocumentsForGroupValue@Deprecated public void updateDocumentsForGroupValue(java.lang.String groupValue, java.util.List<ResponseDocument> updatedDocuments)Deprecated.Update documents (corresponding to groupValue) in underlying response object- Parameters:
- groupValue-
- updatedDocuments-
 
 - 
updateDocumentsForGroupValuepublic void updateDocumentsForGroupValue(java.lang.String groupField, java.lang.String groupValue, java.util.List<ResponseDocument> updatedDocuments)Update documents (corresponding to groupValue) in underlying response object- Parameters:
- groupField-
- groupValue-
- updatedDocuments-
 
 - 
updateDocumentFieldValuesForCollapseExpandGroupValuepublic abstract void updateDocumentFieldValuesForCollapseExpandGroupValue(java.lang.String groupField, java.lang.String groupValue, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> updatedDocuments)Update documents (corresponding to groupValue) in underlying response object The list of updatedDocuments should include all documents under the groupValue as this method updates both "response/doc" and "expanded" sections in response The list of updatedDocuments cannot be empty- Parameters:
- groupField-
- groupValue-
- updatedDocuments-
 
 - 
updateDocumentFieldValuesForGroupValuepublic abstract void updateDocumentFieldValuesForGroupValue(java.lang.String groupField, java.lang.String groupValue, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> updatedDocuments)
 - 
getGroupedResultspublic abstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> getGroupedResults() Returns all grouped results as a map of string grouped expression (a field name or a query) to grouping data that includes list of groups For comparison getGroups(String groupField) returns a list of groups for a particular grouping expresion
 - 
getExpandedResultspublic abstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> getExpandedResults() Returns all collapse expanded results as a map of collapse field name to grouping data that includes list of docs
 - 
getGroupspublic abstract java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getGroups(java.lang.String groupField) Return groups in the response with all accompanying document data Each list entry contains information about the groupValue and the Solr doclist (which includes the docs as well as numFound and rows info).
 - 
reorderGroupValuespublic abstract void reorderGroupValues(java.lang.String groupField, java.util.List<java.lang.String> groupValues)Reorder group values in the response.- Parameters:
- groupField- group field
- groupValues- a list of all group values in the desired order
 
 - 
getHighlightingpublic abstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> getHighlighting() Return highlighting info as nested objects: {Doc ID -> Field name -> Snippets} Makes defensive copies, detached from underlying response object. CallupdateHighlighting(Map)to commit the changes to the actual underlying response object.- Returns:
 
 - 
updateHighlightingpublic abstract void updateHighlighting(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> highlighting) Update highlighting in underlying response object- Parameters:
- highlighting-
 
 - 
getFacetspublic abstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> getFacets() Return facet info as nested objects: {facet type -> field name -> facet count entries} NOTE: The actual Java type of facet count entries may differ between implementations. This is not ideal, but it would take a lot of work to support all the different variations of Solr responses that exist. At the time of this writing: - XMLResponse returns a LinkedHashMap - JSONResponse will return a List. The Java type of the list's contents will depend on what json.nl parameter was used in the Solr request. See https://lucene.apache.org/solr/guide/7_4/response-writers.html for complete list. We use Jackson to translate JSON -> Java types. Makes defensive copies, detached from underlying response object. CallupdateFacets(Map)to commit the changes to the actual underlying response object.- Returns:
 
 - 
getJsonFacetspublic abstract java.util.Map<java.lang.String,java.lang.Object> getJsonFacets() 
 - 
updateFacetspublic abstract void updateFacets(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> facets) Update facets in underlying response object- Parameters:
- facets-
 
 - 
getSpellcheckpublic abstract java.util.Map<java.lang.String,java.lang.Object> getSpellcheck() Returns response of Solr spellcheck handler- Returns:
- spellcheck results or empty map
 
 - 
getDocIdspublic java.util.List<java.lang.String> getDocIds() Convenience method for returning all doc ids- Returns:
 
 - 
getDocIdspublic abstract java.util.List<java.lang.String> getDocIds(java.lang.String id) 
 - 
toByteArraypublic byte[] toByteArray() throws java.io.IOException- Throws:
- java.io.IOException
 
 - 
toStringpublic java.lang.String toString() - Overrides:
- toStringin class- java.lang.Object
 
 
- 
 
-