[ http://issues.apache.org/jira/browse/SOLR-49?page=all ]
Bertrand Delacretaz updated SOLR-49:
------------------------------------
Attachment: solr-XSLTResponseWriter-files.tar.gz
Here's a new patch, I've reworked the code into an XSLTResponseWriter.
Must be configured like this in solrconfig.xml:
<queryResponseWriter name="xslt"
class="org.apache.solr.request.XSLTResponseWriter"/>
And the following request parameters activate it:
wt = xslt
tr = my-xslt-transform.xsl
ct = text/html (which is the default value)
(don't you love terse param names ;-)
The XSLT transform is read using SolrConfig.config.openResource(...), so it
must be available in the solr/conf directory when running the Solr example
config.
> PATCH: XSLTServletFilter
> ------------------------
>
> Key: SOLR-49
> URL: http://issues.apache.org/jira/browse/SOLR-49
> Project: Solr
> Issue Type: New Feature
> Components: search
> Environment: Tested on macosx 10.4.7, JDK 1.5.0_06
> Reporter: Bertrand Delacretaz
> Priority: Minor
> Attachments: solr-XSLTResponseWriter-files.tar.gz,
> xslt-filter-files.tar.gz
>
>
> Patch that implements server-side XSLT transforms of query results.
> The filter is activated by using select/html instead of select/ to run
> queries, and optionally adding a transform parameter to specify the XSLT
> transform to use, for example:
> http://localhost:8983/solr/select/html?q=usage&transform=my.xsl
> In which case my.xsl should be found in solr/conf/xslt/ with the example
> configuration. The default transform (solr/conf/xslt/query-to-html.xsl)
> outputs a simplistic HTML format.
> Performance is suboptimal, as the filter reparses the XML output generated by
> Solr. Modifying the XMLWriter to output to a ContentHandler would be more
> efficient, but I didn't have time to go that far.
> The TransformerProvider trivially caches the last Transformer used, could be
> improved using an LRU cache of several transformers, I haven't checked if
> Solr's infrastructure contains such an animal already.
> The patch is all new files, except for adding this in web.xml before the
> first <servlet>:
> <filter>
> <filter-name>xslt</filter-name>
> <filter-class>org.apache.solr.xslt.XSLTServletFilter</filter-class>
> </filter>
> <!-- apply the XSLT filter when select/html is used to make queries -->
> <filter-mapping>
> <filter-name>xslt</filter-name>
> <url-pattern>/select/html/*</url-pattern>
> </filter-mapping>
> I've left the client-side XSLT stuff (stylesheet parameter) as is for the
> moment.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira