<% /****************************************************************************** * Copyright (c) 2000-2004 e-Deal * * e-Deal S.A. * 55 rue Brillat Savarin * 75013 Paris * France * * T: +33 (0)1 53 80 80 30 * F: +33 (0)1 73 01 69 77 * http://www.e-deal.com * * La diffusion de ce code source sous quelque forme que ce soit sans * l'autorisation de E-DEAL est interdite. * * Vous êtes autorisés à modifier ce code source uniquement pour votre usage * propre et sous réserve que les mentions de copyright demeurent intactes. * * Ce code est fourni en l'état. Aucune garantie d'aucune sorte, explicite ou * implicite n'est donnée. En aucun cas E-DEAL ne pourra être tenu pour * responsable des dommages pouvant résulter de l'utilisation de ce code * source. * * ******************************************************************************/ %> <%@ page session="true" contentType="text/html; charset=UTF-8"%> <%@ page import="java.util.List" %> <%@ page import="java.util.Map" %> <%@ page import="java.util.Iterator" %> <%@ page import="com.edeal.frontline.navigation.FlRequest" %> <%@ page import="com.edeal.frontline.FlContext" %> <%@ page import="com.edeal.frontline.Utils" %> <%@ page import="com.edeal.frontline.navigation.WebUtils"%> <%@ page import="com.edeal.frontline.DataDictionary"%> <%@ page import="org.apache.solr.common.SolrDocumentList"%> <%@ page import="org.apache.solr.common.SolrDocument"%> <%@ page import="org.apache.solr.client.solrj.response.QueryResponse"%> <%@ page import="org.apache.solr.client.solrj.response.SpellCheckResponse"%> <%@ page import="org.apache.solr.client.solrj.response.FacetField" %> <%@ taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl" %> <% final org.apache.commons.logging.Log logger = org.apache.commons.logging.LogFactory.getLog(getClass()); FlRequest flRequest = new FlRequest(request); FlContext context = flRequest.getContext(); DataDictionary dico = context.getDataDictionary(); String sfwID = flRequest.getRequestParameterOrAttribute("SfwID"); String query = flRequest.getParameter("query"); Boolean deepen = "on".equals(flRequest.getParameter("deepen")); QueryResponse rsp = (QueryResponse) flRequest.getAttribute("solr_response"); %> <%--@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"--%> " ou="/search.fl">
" style="font-family:Arial,Verdana,sans-serif;font-weight:bold;font-size:12px;height:18px;border:0;outline:none;" id="plainTextSearchQuery" class="queryInput" type="text" size="100" tabindex="1">
<% if (sfwID != null) { %> <% } %>
 
  />
<% // Query formating error if (flRequest.getAttribute("query_failed") != null) { %> <% //Display results } if (rsp != null) { SolrDocumentList results = rsp.getResults(); List facets = rsp.getLimitingFacets(); Map>> highlight = rsp.getHighlighting(); SpellCheckResponse spell = rsp.getSpellCheckResponse(); boolean fFilteredResult=Boolean.TRUE.equals(rsp.getHeader().get("filtered_result")); %> <% if (fFilteredResult) {%> <% } %> <% //SpellChecker if (spell != null && spell.getCollatedResult() != null) { %> <% } %> <% //Display facets if (facets != null && facets.size() > 0) {%> <%} %> <%}%>
 (<%=results.getNumFound()%>)

: <% String urlSearch= "/search.fl?query="+WebUtils.urlEncode(context, spell.getCollatedResult()) + (deepen ?"&deepen=on":""); %> " />"> <%= spell.getCollatedResult() %>

 : 

<% for (FacetField f : facets) { %>
" style="vertical-align: middle"> <%=dico.getFieldByName(f.getName().replace("facet_", "")).getFldDisplay()%>  (<%=f.getValueCount()%>) :
<% } %>
 
<% //Display results table boolean color = true; for (int i = 0; i < results.size(); ) { String last_obj = results.get(i).getFieldValue("meta_cat").toString(); //Display category %> " style="vertical-align: middle"> <% String fldValue=results.get(i).getFieldValue("meta_cat_title").toString();%> <%= fldValue %>
<% while (i < results.size() && (last_obj.equals(results.get(i).getFieldValue("meta_cat")))) { //Display category content %> <% String strColor=(color ? "background-color: #EBF4F6" : ""); %>

<% //Print title w/ link if (results.get(i).getFieldValue("meta_reader") != null) out.print("" + results.get(i).getFieldValue("meta_title") + ""); else // Title w/o link out.print(results.get(i).getFieldValue("meta_title")); //Note : meta_title is allocated with EDEAL object's title in IndexSearch.java //basing on object's ID. For non EDEAL objects null is replaced by "[x]" %>

<% //Print text field(s) String str = results.get(i).getFieldValue("all").toString(); //Add highlighting if ((highlight.get(results.get(i).getFieldValue("id")) != null) && highlight.get(results.get(i).getFieldValue("id")).get("all") != null) { for (String hl : highlight.get(results.get(i).getFieldValue("id")).get("all")) { str = str.replace(hl, "" + hl + ""); } } int len=str.length(); str=str.substring(0,(len<250)?len:250); int startSubstr=(str.startsWith("["))?1:0; int lenSubstr=(str.endsWith("]"))?1:0; %> <%=str.substring(startSubstr,str.length()-lenSubstr)%>

<% color = !(color); i++; } %>
<% } %>