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
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