Class SolrQueryResponse
- java.lang.Object
-
- org.apache.solr.response.SolrQueryResponse
-
public class SolrQueryResponse extends Object
SolrQueryResponse
is used by a query handler to return the response to a query request.Note On Returnable Data...
ASolrQueryResponse
may contain the following types of Objects generated by theSolrRequestHandler
that processed the request.String
Integer
Long
Float
Double
Boolean
Date
DocList
SolrDocument
(since 1.3)SolrDocumentList
(since 1.3)Map
containing any of the items in this listNamedList
containing any of the items in this listCollection
containing 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 Exception
err
protected boolean
httpCaching
Should this response be tagged with HTTP caching headers?static String
NAME
static String
RESPONSE_HEADER_PARTIAL_RESULTS_KEY
static String
RESPONSE_HEADER_SEGMENT_TERMINATED_EARLY_KEY
protected ReturnFields
returnFields
protected NamedList<Object>
toLog
Container for storing information that should be logged by Solr before returning.protected NamedList<Object>
values
Container for user defined values
-
Constructor Summary
Constructors Constructor Description SolrQueryResponse()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(String name, Object val)
Appends a named value to the list of named values to be returned.void
addHttpHeader(String name, String value)
Adds a response header with the given name and value.void
addResponse(Object response)
Set responsevoid
addResponseHeader(NamedList<Object> header)
Set response headervoid
addToLog(String name, Object val)
Add a value to be logged.Exception
getException()
Returns an Exception if there was a fatal error in processing the request.String
getHttpHeader(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.Object
getResponse()
Return responseNamedList<Object>
getResponseHeader()
Response header to be loggedReturnFields
getReturnFields()
Gets the document field names of fields to return by default when returning DocListsNamedList<Object>
getToLog()
Get loggable items.String
getToLogAsString()
String
getToLogAsString(String prefix)
Returns a string of the form "prefix name1=value1 name2=value2 ..."NamedList<Object>
getValues()
Gets data to be returned in this responseIterator<Map.Entry<String,String>>
httpHeaders()
Returns a new iterator of response headersboolean
isHttpCaching()
Should this response emit HTTP caching headers?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)Collection<String>
removeHttpHeaders(String name)
Removes all previously added headers with the given name.void
removeResponseHeader()
Clear response headervoid
setAllValues(NamedList<Object> nameValuePairs)
Sets data to be returned in this responsevoid
setException(Exception e)
Causes an error to be returned instead of the results.void
setHttpCaching(boolean httpCaching)
Enables or disables the emission of HTTP caching headers for this response.void
setHttpHeader(String name, String value)
Sets a response header with the given name and value.void
setReturnFields(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
-
toLog
protected 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 NamedList<Object> getValues()
Gets data to be returned in this response- See Also:
- Note on Returnable Data
-
setAllValues
public void setAllValues(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.
-
removeResponseHeader
public void removeResponseHeader()
Clear response header
-
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
-
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
null
if 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)
Collection
of 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
null
if 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
Collection
with all the values of the removed entries. It returnsnull
if no entries are found for the given name
-
-