예제 #1
0
 @Override
 public void processSingle(IndexMaster index, ContentRequest req, XMLWriter xml)
     throws BerliozException, IOException {
   String facets = req.getParameter("facets", "");
   int maxNumber = req.getIntParameter("max-facets", 20);
   SearchQuery query = buildQuery(req, index.getCatalog());
   if (query == null) {
     xml.emptyElement("index-search");
     return;
   }
   SearchPaging paging = buildPaging(req);
   try {
     SearchResults results = index.query(query, paging);
     List<FieldFacet> facetsList =
         Facets.getFacets(
             Arrays.asList(facets.split(",")), maxNumber, query.toQuery(), index.getIndex());
     outputResults(query, results, facetsList, xml);
   } catch (IndexException ex) {
     LOGGER.warn(
         "Fail to retrieve search result using query: {}", (Object) query.toString(), (Object) ex);
   }
 }