Inicio de mvnForum Bienvenido Guest   | Iniciar sesión
  Búsqueda  
  Indice  | Temas Recientes  | Quién Está en Línea  | Lista de Usuarios  | Nuevo Usuario  | Búsqueda  | Ayuda  | RSS feeds


Ir a »
Estado del tema: Normal
Total de mensajes en este tema: 3
[Añadir a Mis Favoritos] [Añadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 8831 veces y tiene 2 respuestas Tema Siguiente
Masculino cristinagonzalez
Stranger



Ingresó: 15-nov-2012
Mensajes: 3
Estado: Desconectados

confused   Busqueda con solr en opencms 8.5 Responder a este mensaje
Responder citando

Buenas estoy intentando replicar en mi portal la parte de
/sites/default/flower-en/flower-search/
/sites/default/flower-en/flower-search-result/ pero cuando le doy a buscar no obtengo resultados
he estado mirando y no se donde estan configurando el indice de búsqueda en
/system/modules/com.alkacon.opencms.v8.solr/elements/ que es el elemento que se esta añadiendo en la búsquedas del default
lo estoy intentando con búsquedas simples

Agradecería un ejemplo básico de búsquedas con solr en opencms 8.5
[15-nov-2012 11:44:46] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino RobertoMS
Stranger



Ingresó: 27-abr-2010
Mensajes: 19
Estado: Desconectados

Re: Busqueda con solr en opencms 8.5 Responder a este mensaje
Responder citando

Buenos días Cristina. Te copio un trozo de mi wiki personal donde tengo mis apuntes sobre solr en OpenCms 8.5.

------------

Una query en solr tiene el siguiente formato:

fq=category_exact:location/europe/&fq=type:v8event

Si enviamos ese parámetro en una variable "query" podríamos cargar todos los resultados de la búsqueda de solr mediante el siguiente código.

<c:set var="query" value="${param.query}" />
<c:if test="${!empty query}">
<cms:resourceload collector="byQuery" param="${query}" preload="true">
<cms:contentinfo var="info" />
<c:if test="${info.resultSize > 0}">
<h4><fmt:message key="v8.solr.results" /></h4>
<div class="boxbody">
<cms:resourceload>
<cms:resourceaccess var="res" />
<c:set var="resource" value="${res.resource}" />
<c:set var="typeId" value="${resource.typeId}" />
<c:set var="typeName"><%= OpenCms.getResourceManager().getResourceType(pageContext.getAttributesScope("typeId")).getTypeName() %></c:set>
<div class="boxbody_listentry">
<div class="twocols">
<div><strong>${res.readProperties['Title']}</strong> [ <fmt:message key="v8.solr.type" />: ${typeName}, <fmt:message key="v8.solr.modified" />: <fmt:formatDate value="${cms:convertDate(resource.dateLastModified)}" dateStyle="SHORT" timeStyle="SHORT" type="both" />, <fmt:message key="v8.solr.size" />: ${res.file.length} Bytes ]</div>
<div><strong><fmt:message key="v8.solr.path" />:</strong> ${resource.rootPath}</div>
</div>
</div>
</cms:resourceload>
</div>
</c:if>
</cms:resourceload>
</c:if>

Si necesitamos cargar los datos desde un cms:contentload pasamos a tener una estructura diferente. Para empezar la query a lanzar sería la siguiente:

q=category_exact:municipios/cadiz/ AND type:sidocumento

Para cargar los contenidos ya no usaríamos resourceload, sino el más convencional contentload. Un ejemplo sería el siguiente:

<cms:contentload collector="byQuery" param="<%=query%>">
<cms:contentinfo var="info" scope="page" />
<c:if test="${info.resultSize > 0}">
<div class="documento">
<cms:contentaccess var="resource" />
<div class="documento_contenido">
<div class="documento_titulo">
<h3><a href="<cms:link>${resource.filename}</cms:link>">${resource.value.Titulo}</a></h3>
</div>
<div class="documento_descripcion">
<c:set var="_texto">${resource.value.Descripcion}</c:set>
<%
String texto = (String)pageContext.getAttribute("_texto");
boolean recortar=false;
int cont = 300;
if(texto.replaceAll("\\<.*?\\>", "").length()>cont){
texto = texto.replaceAll("\\<.*?\\>", "");
while(texto.charAt(cont) != ' ' && texto.charAt(cont) != '.')
cont++;
texto = texto.substring(0, cont);
recortar = true;
}
%>
<p><%=texto%><% if(recortar){%><a href="<cms:link>${resource.filename}</cms:link>">[...]</a><%}%></p>
</div>
</div>
<div class="documento_enlace_bottom"><a href="<cms:link>${resource.value.Documento}</cms:link>">Descargar: ${resource.value.Titulo}</a></div>
</div>
</c:if>
</cms:contentload>

---------------------------

En ambos ejemplos he creado una variable query. En el primer ejemplo se construye así:
<%
String query = "fq=category_exact:location/europe/&fq=type:v8event";
%>

Si necesitas más información sobre solr trataré de echarte un cable. Estoy aún un poco verde en esta parte pero trataré de ser de ayuda wink
[23-nov-2012 7:44:12] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Femenino beatrizprados3
Member



Ingresó: 26-oct-2012
Mensajes: 60
Estado: Desconectados

Re: Busqueda con solr en opencms 8.5 Responder a este mensaje
Responder citando

Hola,

cuando intento crear un índice solr con la siguiente configuración:
Configuración de campos_: solr_fields

Me da error:

org.opencms.search.solr.CmsSolrField cannot be cast to org.opencms.search.fields.CmsSearchField

¿Sabes porqué puede ser? Gracias
[17-dic-2012 13:20:48] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]