pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.5.0 / lucene / contrib / xml-query-parser / src / test / org / apache / lucene / xmlparser / albumFilteredQuery.xsl
diff --git a/lucene-java-3.5.0/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/albumFilteredQuery.xsl b/lucene-java-3.5.0/lucene/contrib/xml-query-parser/src/test/org/apache/lucene/xmlparser/albumFilteredQuery.xsl
new file mode 100644 (file)
index 0000000..58ca7fb
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:template match="/Document">
+<!-- This template uses an efficient, cached filter for the "genre" field".
+       Other query fields are fed directly through an analyzer and so do not need to adhere to  
+       traditional Lucene query syntax. Terms within a field are ORed while different fields are ANDed
+ -->   
+<FilteredQuery>
+       <Query>
+               <BooleanQuery>
+                       <xsl:if test="count(artist)>0">
+                           <Clause occurs="must">
+                             <TermsQuery fieldName="artist"><xsl:value-of select="artist"/></TermsQuery>
+                          </Clause>
+                  </xsl:if>
+                       <xsl:if test="count(album)>0">
+                           <Clause occurs="must">
+                             <TermsQuery fieldName="album"><xsl:value-of select="album"/></TermsQuery>
+                          </Clause>
+                  </xsl:if>
+                       <xsl:if test="count(releaseDate)>0">
+                           <Clause occurs="must">
+                             <TermsQuery fieldName="releaseDate"><xsl:value-of select="releaseDate"/></TermsQuery>
+                          </Clause>
+                  </xsl:if>
+       </BooleanQuery>
+       </Query>
+       <Filter>
+               <CachedFilter>
+                       <!-- Example filter to be cached for fast, repeated use -->
+                       <TermsFilter fieldName="genre">                 
+                               <xsl:value-of select="genre"/>
+                       </TermsFilter>
+               </CachedFilter>         
+       </Filter>       
+</FilteredQuery>
+</xsl:template>
+</xsl:stylesheet>
\ No newline at end of file