1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3 <xsl:template match="/Document">
4 <!-- This template uses an efficient, cached filter for the "genre" field".
5 Other query fields are fed directly through an analyzer and so do not need to adhere to
6 traditional Lucene query syntax. Terms within a field are ORed while different fields are ANDed
11 <xsl:if test="count(artist)>0">
12 <Clause occurs="must">
13 <TermsQuery fieldName="artist"><xsl:value-of select="artist"/></TermsQuery>
16 <xsl:if test="count(album)>0">
17 <Clause occurs="must">
18 <TermsQuery fieldName="album"><xsl:value-of select="album"/></TermsQuery>
21 <xsl:if test="count(releaseDate)>0">
22 <Clause occurs="must">
23 <TermsQuery fieldName="releaseDate"><xsl:value-of select="releaseDate"/></TermsQuery>
30 <!-- Example filter to be cached for fast, repeated use -->
31 <TermsFilter fieldName="genre">
32 <xsl:value-of select="genre"/>