Interface QueryResponseWriter
-
- All Superinterfaces:
NamedListInitializedPlugin
- All Known Subinterfaces:
BinaryQueryResponseWriter
- All Known Implementing Classes:
BinaryResponseWriter
,CSVResponseWriter
,GeoJSONResponseWriter
,GraphMLResponseWriter
,JSONResponseWriter
,PHPResponseWriter
,PHPSerializedResponseWriter
,PythonResponseWriter
,RawResponseWriter
,RubyResponseWriter
,SchemaXmlResponseWriter
,SmileResponseWriter
,XMLResponseWriter
,XSLTResponseWriter
public interface QueryResponseWriter extends NamedListInitializedPlugin
Implementations ofQueryResponseWriter
are used to format responses to query requests. DifferentQueryResponseWriter
s are registered with theSolrCore
. One way to register a QueryResponseWriter with the core is through thesolrconfig.xml
file.Example
solrconfig.xml
entry to register aQueryResponseWriter
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.
-
-
Field Summary
Fields Modifier and Type Field Description static String
CONTENT_TYPE_TEXT_ASCII
static String
CONTENT_TYPE_TEXT_UTF8
static String
CONTENT_TYPE_XML_UTF8
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method 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.
-
-
-
Field Detail
-
CONTENT_TYPE_XML_UTF8
static final String CONTENT_TYPE_XML_UTF8
- See Also:
- Constant Field Values
-
CONTENT_TYPE_TEXT_UTF8
static final String CONTENT_TYPE_TEXT_UTF8
- See Also:
- Constant Field Values
-
CONTENT_TYPE_TEXT_ASCII
static final String CONTENT_TYPE_TEXT_ASCII
- See Also:
- Constant Field Values
-
-
Method Detail
-
write
void write(Writer writer, SolrQueryRequest request, SolrQueryResponse response) throws IOException
Write a SolrQueryResponse, this method must be thread save.Information about the request (in particular: formatting options) may be obtained from
req
but the dominant source of information should bersp
.There are no mandatory actions that write must perform. An empty write implementation would fulfill all interface obligations.
- Throws:
IOException
-
getContentType
String getContentType(SolrQueryRequest request, SolrQueryResponse response)
Return the applicable Content Type for a request, this method must be thread safe.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.
- Returns:
- a Content-Type string, which may not be null.
-
init
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
- Specified by:
init
in interfaceNamedListInitializedPlugin
-
-