public interface QueryResponseWriter extends NamedListInitializedPlugin
QueryResponseWriter
are used to format responses to query requests.
Different QueryResponseWriter
s are registered with the SolrCore
.
One way to register a QueryResponseWriter with the core is through the solrconfig.xml
file.
Example solrconfig.xml
entry to register a QueryResponseWriter
implementation to
handle all queries with a writer type of "simple":
<queryResponseWriter name="simple" class="foo.SimpleResponseWriter" />
A single instance of any registered QueryResponseWriter is created via the default constructor and is reused for all relevant queries.
Modifier and Type | Field and Description |
---|---|
static String |
CONTENT_TYPE_TEXT_ASCII |
static String |
CONTENT_TYPE_TEXT_UTF8 |
static String |
CONTENT_TYPE_XML_UTF8 |
Modifier and Type | Method and Description |
---|---|
String |
getContentType(SolrQueryRequest request,
SolrQueryResponse response)
Return the applicable Content Type for a request, this method
must be thread safe.
|
void |
init(NamedList args)
init will be called just once, immediately after creation. |
void |
write(Writer writer,
SolrQueryRequest request,
SolrQueryResponse response)
Write a SolrQueryResponse, this method must be thread save.
|
static final String CONTENT_TYPE_XML_UTF8
static final String CONTENT_TYPE_TEXT_UTF8
static final String CONTENT_TYPE_TEXT_ASCII
void write(Writer writer, SolrQueryRequest request, SolrQueryResponse response) throws IOException
Information about the request (in particular: formating options) may be
obtained from req
but the dominant source of information
should be rsp
.
There are no mandatory actions that write must perform. An empty write implementation would fulfill all interface obligations.
IOException
String getContentType(SolrQueryRequest request, SolrQueryResponse response)
QueryResponseWriter's must implement this method to return a valid HTTP Content-Type header for the request, that will logically correspond with the output produced by the write method.
void init(NamedList args)
init
will be called just once, immediately after creation.
The args are user-level initialization parameters that may be specified when declaring a response writer in solrconfig.xml
init
in interface NamedListInitializedPlugin