<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="javax.servlet.*" import="javax.servlet.http.*" import="java.io.*" import="java.util.*" import="java.net.*" import="net.nutch.html.Entities" import="net.nutch.searcher.*" %><% NutchBean bean = NutchBean.get(application); // set the character encoding to use when interpreting request values request.setCharacterEncoding("UTF-8"); bean.LOG.info("query request from " + request.getRemoteAddr()); // get query from request String queryString = request.getParameter("query"); if (queryString == null) queryString = ""; String htmlQueryString = Entities.encode(queryString); int start = 0; // first hit to display String startString = request.getParameter("start"); if (startString != null) start = Integer.parseInt(startString); int hitsPerPage = 10; // number of hits to display String hitsString = request.getParameter("hitsPerPage"); if (hitsString != null) hitsPerPage = Integer.parseInt(hitsString); int hitsPerSite = 4; // max hits per site String hitsPerSiteString = request.getParameter("hitsPerSite"); if (hitsPerSiteString != null) hitsPerSite = Integer.parseInt(hitsPerSiteString); Query query = Query.parse(queryString); bean.LOG.info("query: " + queryString); String language = ResourceBundle.getBundle("org.nutch.jsp.search", request.getLocale()) .getLocale().getLanguage(); String requestURI = HttpUtils.getRequestURL(request).toString(); String base = requestURI.substring(0, requestURI.lastIndexOf('/')); %> <% // To prevent the character encoding declared with 'contentType' page // directive from being overriden by JSTL (apache i18n), we freeze it // by flushing the output buffer. // see http://java.sun.com/developer/technicalArticles/Intl/MultilingualJSP/ out.flush(); %> <%@ taglib uri="http://jakarta.apache.org/taglibs/i18n" prefix="i18n" %> Sheetmusic: <%= queryString %>
"/>
Find Sheetmusic: ">
<%@include file="adsense-sky-wide.jsp" %>
<% // perform query Hits hits = bean.search(query, start + hitsPerPage, hitsPerSite); int end = (int)Math.min(hits.getLength(), start + hitsPerPage); int length = end-start; Hit[] show = hits.getHits(start, length); HitDetails[] details = bean.getDetails(show); String[] summaries = bean.getSummary(details, query); bean.LOG.info("total hits: " + hits.getTotal()); %> <% for (int i = 0; i < length; i++) { // display the hits Hit hit = show[i]; HitDetails detail = details[i]; String title = detail.getValue("title"); String url = detail.getValue("url"); String summary = summaries[i]; String id = "idx=" + hit.getIndexNo() + "&id=" + hit.getIndexDocNo(); if (title == null || title.equals("")) // use url for docs w/o title title = url; %>

<%=Entities.encode(title)%> <% if (!"".equals(summary)) { %>
<%=summary%>
<% } %> <%=Entities.encode(url)%> () () <% if (hit.moreFromSiteExcluded()) { String more = "query="+URLEncoder.encode("site:"+hit.getSite()+" "+queryString) +"&start="+start+"&hitsPerPage="+hitsPerPage+"&hitsPerSite="+0;%> ( <%=hit.getSite()%>) <% } %> <% } %> <% if ((hits.totalIsExact() && end < hits.getTotal()) // more hits to show || (!hits.totalIsExact() && (hits.getLength() >= start+hitsPerPage))) { %>
">
<% } if ((!hits.totalIsExact() && (hits.getLength() < start+hitsPerPage))) { %>
">
<% } %>