Class SolrQueryResponse
- java.lang.Object
-
- org.apache.solr.response.SolrQueryResponse
-
public class SolrQueryResponse extends Object
SolrQueryResponseis used by a query handler to return the response to a query request.Note On Returnable Data...
ASolrQueryResponsemay contain the following types of Objects generated by theSolrRequestHandlerthat processed the request.StringIntegerLongFloatDoubleBooleanDateDocListSolrDocument(since 1.3)SolrDocumentList(since 1.3)Mapcontaining any of the items in this listNamedListcontaining any of the items in this listCollectioncontaining any of the items in this list- Array containing any of the items in this list
- null
Other data types may be added to the SolrQueryResponse, but there is no guarantee that QueryResponseWriters will be able to deal with unexpected types.
- Since:
- solr 0.9
-
-
Field Summary
Fields Modifier and Type Field Description protected Exceptionerrprotected booleanhttpCachingShould this response be tagged with HTTP caching headers?static StringNAMEstatic StringRESPONSE_HEADER_KEYstatic StringRESPONSE_HEADER_PARTIAL_RESULTS_KEYstatic StringRESPONSE_HEADER_SEGMENT_TERMINATED_EARLY_KEYprotected ReturnFieldsreturnFieldsprotected org.apache.solr.common.util.NamedList<Object>toLogContainer for storing information that should be logged by Solr before returning.protected org.apache.solr.common.util.NamedList<Object>valuesContainer for user defined values
-
Constructor Summary
Constructors Constructor Description SolrQueryResponse()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(String name, Object val)Appends a named value to the list of named values to be returned.voidaddHttpHeader(String name, String value)Adds a response header with the given name and value.voidaddResponse(Object response)Set responsevoidaddResponseHeader(org.apache.solr.common.util.NamedList<Object> header)Set response headervoidaddToLog(String name, Object val)Add a value to be logged.ExceptiongetException()Returns an Exception if there was a fatal error in processing the request.StringgetHttpHeader(String name)Gets the value of the response header with the given name.Collection<String>getHttpHeaders(String name)Gets the values of the response header with the given name.ObjectgetResponse()Return responseorg.apache.solr.common.util.NamedList<Object>getResponseHeader()Response header to be loggedReturnFieldsgetReturnFields()Gets the document field names of fields to return by default when returning DocListsorg.apache.solr.common.util.NamedList<Object>getToLog()Get loggable items.StringgetToLogAsString()StringgetToLogAsString(String prefix)Returns a string of the form "prefix name1=value1 name2=value2 ..."org.apache.solr.common.util.NamedList<Object>getValues()Gets data to be returned in this responseIterator<Map.Entry<String,String>>httpHeaders()Returns a new iterator of response headersbooleanisHttpCaching()Should this response emit HTTP caching headers?StringremoveHttpHeader(String name)Removes a previously added header with the given name (only the first one if multiple are present for the same name)Collection<String>removeHttpHeaders(String name)Removes all previously added headers with the given name.voidremoveResponseHeader()Clear response headervoidsetAllValues(org.apache.solr.common.util.NamedList<Object> nameValuePairs)Sets data to be returned in this responsevoidsetException(Exception e)Causes an error to be returned instead of the results.voidsetHttpCaching(boolean httpCaching)Enables or disables the emission of HTTP caching headers for this response.voidsetHttpHeader(String name, String value)Sets a response header with the given name and value.voidsetReturnFields(ReturnFields fields)Sets the document field names of fields to return by default when returning DocLists
-
-
-
Field Detail
-
NAME
public static final String NAME
- See Also:
- Constant Field Values
-
RESPONSE_HEADER_PARTIAL_RESULTS_KEY
public static final String RESPONSE_HEADER_PARTIAL_RESULTS_KEY
- See Also:
- Constant Field Values
-
RESPONSE_HEADER_SEGMENT_TERMINATED_EARLY_KEY
public static final String RESPONSE_HEADER_SEGMENT_TERMINATED_EARLY_KEY
- See Also:
- Constant Field Values
-
RESPONSE_HEADER_KEY
public static final String RESPONSE_HEADER_KEY
- See Also:
- Constant Field Values
-
values
protected org.apache.solr.common.util.NamedList<Object> values
Container for user defined values
-
toLog
protected org.apache.solr.common.util.NamedList<Object> toLog
Container for storing information that should be logged by Solr before returning.
-
returnFields
protected ReturnFields returnFields
-
err
protected Exception err
-
httpCaching
protected boolean httpCaching
Should this response be tagged with HTTP caching headers?
-
-
Method Detail
-
getValues
public org.apache.solr.common.util.NamedList<Object> getValues()
Gets data to be returned in this response- See Also:
- Note on Returnable Data
-
setAllValues
public void setAllValues(org.apache.solr.common.util.NamedList<Object> nameValuePairs)
Sets data to be returned in this response- See Also:
- Note on Returnable Data
-
setReturnFields
public void setReturnFields(ReturnFields fields)
Sets the document field names of fields to return by default when returning DocLists
-
getReturnFields
public ReturnFields getReturnFields()
Gets the document field names of fields to return by default when returning DocLists
-
add
public void add(String name, Object val)
Appends a named value to the list of named values to be returned.- Parameters:
name- the name of the value - may be null if unnamedval- the value to add - also may be null since null is a legal value- See Also:
- Note on Returnable Data
-
setException
public void setException(Exception e)
Causes an error to be returned instead of the results.In general, new calls to this method should not be added. In most cases you should simply throw an exception and let it bubble out to RequestHandlerBase, which will set the exception thrown.
-
getException
public Exception getException()
Returns an Exception if there was a fatal error in processing the request. Returns null if the request succeeded.
-
addResponseHeader
public void addResponseHeader(org.apache.solr.common.util.NamedList<Object> header)
Set response header
-
removeResponseHeader
public void removeResponseHeader()
Clear response header
-
getResponseHeader
public org.apache.solr.common.util.NamedList<Object> getResponseHeader()
Response header to be logged
-
addResponse
public void addResponse(Object response)
Set response
-
getResponse
public Object getResponse()
Return response
-
addToLog
public void addToLog(String name, Object val)
Add a value to be logged.- Parameters:
name- name of the thing to logval- value of the thing to log
-
getToLog
public org.apache.solr.common.util.NamedList<Object> getToLog()
Get loggable items.- Returns:
- things to log
-
getToLogAsString
public String getToLogAsString()
-
getToLogAsString
public String getToLogAsString(String prefix)
Returns a string of the form "prefix name1=value1 name2=value2 ..."
-
setHttpCaching
public void setHttpCaching(boolean httpCaching)
Enables or disables the emission of HTTP caching headers for this response.- Parameters:
httpCaching- true=emit caching headers, false otherwise
-
isHttpCaching
public boolean isHttpCaching()
Should this response emit HTTP caching headers?- Returns:
- true=yes emit headers, false otherwise
-
setHttpHeader
public void setHttpHeader(String name, String value)
Sets a response header with the given name and value. This header will be included in the HTTP response If the header had already been set, the new value overwrites the previous ones (all of them if there are multiple for the same name).- Parameters:
name- the name of the headervalue- the header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)- See Also:
addHttpHeader(java.lang.String, java.lang.String),HttpServletResponse.setHeader(java.lang.String, java.lang.String)
-
addHttpHeader
public void addHttpHeader(String name, String value)
Adds a response header with the given name and value. This header will be included in the HTTP response This method allows response headers to have multiple values.- Parameters:
name- the name of the headervalue- the additional header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)- See Also:
setHttpHeader(java.lang.String, java.lang.String),HttpServletResponse.addHeader(java.lang.String, java.lang.String)
-
getHttpHeader
public String getHttpHeader(String name)
Gets the value of the response header with the given name.If a response header with the given name exists and contains multiple values, the value that was added first will be returned.
NOTE: this runs in linear time (it scans starting at the beginning of the list until it finds the first pair with the specified name).
- Parameters:
name- the name of the response header whose value to return- Returns:
- the value of the response header with the given name, or
nullif no header with the given name has been set on this response
-
getHttpHeaders
public Collection<String> getHttpHeaders(String name)
Gets the values of the response header with the given name.- Parameters:
name- the name of the response header whose values to return- Returns:
- a (possibly empty)
Collectionof the values of the response header with the given name
-
removeHttpHeader
public String removeHttpHeader(String name)
Removes a previously added header with the given name (only the first one if multiple are present for the same name)NOTE: this runs in linear time (it scans starting at the beginning of the list until it finds the first pair with the specified name).
- Parameters:
name- the name of the response header to remove- Returns:
- the value of the removed entry or
nullif no value is found for the given header name
-
removeHttpHeaders
public Collection<String> removeHttpHeaders(String name)
Removes all previously added headers with the given name.- Parameters:
name- the name of the response headers to remove- Returns:
- a
Collectionwith all the values of the removed entries. It returnsnullif no entries are found for the given name
-
-