Social Icons

miércoles, 22 de octubre de 2008

Edición de ámbitos en la búsqueda avanzada de MOSS para dummies

Como hoy no tengo muchas ganas de postear vamos con algo vistoso y facilón (si sabes cómo hacerlo).

Empezaré con el sitio de Búsqueda Avanzada por defecto. Lo primero que tenemos que hacer es quitar lo de las búsquedas por idiomas, ¿quién decidió que los tres idiomas que deberían de aparecer por defecto fueran Español, Alemán y Francés? pa haberlo matao.

Como es natural, lo primero que tenemos que hacer es quitar eso de los idiomas a la mayor brevedad posible. Editamos la página y nos vamos a las propiedades del webpart de Cuadro de búsqueda avanzada. Una vez allí desplegamos Ámbitos añadimos Mostrar el selector de ámbito y quitamos el tag de Mostrar el selector de idiomas, nos debe de quedar así:

Configuramos el Cuadro de búsqueda avanzada

Por si no lo has adivinado, la flecha roja significa PELIGRO, y es que deshabilitamos el tag de Mostrar el selector de tipo de resultado el webpart se rompe y solo queda eliminarlo y añadir otro igual. Bueno a lo que vamos, si sólo tocamos donde marcan las flechitas azules nos quedará el webpart parecido a este:

Cuadro de búsqueda avanzada

Si no sale a la primera habrá que refrescar la página, este webpart es un poco tontito.

Una vez que tenemos el Cuadro de búsqueda avanzada de esta forma nos vamos a definir un ámbito nuevo. Para ello nos vamos a la Administración central, a nuestro Sharepoint Services Provider favorito, que casi siempre es SharedServices1 en los servidores de pre y desde allí a Configuración de búsquedas.

Una vez aquí haremos click en Ver ámbitos:

Ver ámbitos

Allí haremos click en Nuevo ámbito, ponemos un nombre a nuestro nuevo ámbito y pulsamos aceptar. Yo para ser original lo he llamado Ámbito de Chan. Tras ésto voleremos a la ventana Ver ámbitos y ya podremos ver nuestra nueva creación. Ahora pulsamos Agregar reglas y seleccionamos el Tipo de regla de ámbito y su comportamiento:

Agregar regla de ámbito

Es importante que nos fijemos en que podemos hacer ámbitos por Dirección web, por propiedades, por Origen de contenido o seleccionando directamente todo a saco y luego con el comportamiento y sumando varias reglas a un ámbito podemos hacer selecciones bastante potentes. Yo haré una regla simple de Consulta de propiedad y requerir que el Autor sea Chan:

Configuramos regla de ámbito

Una vez que tenemos nuestro ámbito (no es mala idea compilarlo para que contenga datos) nos iremos al sitio raíz de nuestra colección de sitios y entraremos en Acciones del sitio, Modificar toda la configuración del sitio y desde allí nos vamos a Ambitos de búsqueda:

Ambitos de búsqueda en la configuración del sitio

Allí desplegaremos el Grupo de presentación: Búsqueda avanzada

Grupo de presentación

Y hacemos click en el tag de nuestro nuevo ámbito, y por último Aceptar:

Configurar grupo de presentación

Y con ésto hemos acabado. Ahora si vamos a nuestra página de búsquedas avanzadas, ¡Oh Sorpresa!

Busquedas avanzadas personalizadas

Algunos de los informadores de nuestro departamento de inteligencia de SharePoint han detectado que si el ámbito está vacío (contiene cero elementos) no se muestra, ya que MOSS es tan listo que no se molesta en hacer búsquedas en ámbitos vacíos por lo que no los muestra para total desesperación de las personas que, pese a haberlo configurado perfectamente, no tuvieron la preacución de compilar el ámbito y tras tarle mil vueltas a lo mismo terminaron por suicidarse.

Menos mal que iba a ser un post cortito...

9 comentarios:

Anónimo dijo...

Hola buenos dias, estamos trabajando con las busquedas y tenemos algunas preguntas.
La primera es posible que no se rastren ciertas propiedades, hemos eliminado la asignación propiedades rastreadas a la propiedad administrada "ModifiedBy" y hemos desactivado la opción "Incluir los valores de esta propiedad en el índice de búsqueda" pero resulta que nos sigue saliendo el usuario que ha modificado el documento, cuando realizamos alguna busqueda por un nombre de usuario nos sale "DOMAIN\Usuario" en las busquedas. ¿ Tenemos que mirar alguna otra propiedad administrada ?.
Es posible decirle a servicio de indexacion que solo rastree ciertas propiedades, nosotros solo necesitamos que las busquedas se realicen por los tipo de contenido que hemos personalizado nosotros no nos interesa para nada que los rastreos se hagan por las propuedades "ModifiedBy","Autor","Creador" etc.
Un Saludo
Muchas gracias por cualquier ayuda.

Er Chan dijo...

Creo entender que lo que vosotros necesitais es que NO salga el usuario en los resultados de las búsquedas. Para esto debéis editar el XSL del webpart de búsquedas y allí eliminar las referencias a Author.

Si necesitáis más ayuda a este respecto hago un post, que últimamente estoy falto de ideas.

Saludos,

Anónimo dijo...

Muchas gracias por tu rapidez en la respuesta, te explico lo que hemos hecho en las propiedades del elemento web de consulta avanzada hemos quitado de la "PropertyDefs" los siguientes elementos ("autor", "writer", "created", "CreatedBy", "ModifiedBy" y "Manager") con esto no nos aparece en el combo de propiedad de busqueda.
Tambien en el tags "ResultTypes" hemos eliminado ("Author", "CreatedBy" , "ModifiedBy", "Write" y Created") pero cuando realizamos una busqueda nos sigue apareciendo la persona que ha publicado el documento.
No se si hemos hecho algo mal.
Saludos

Er Chan dijo...

Para que no se muestre el autor en los resultados de búsqueda debeis ir a la página de resultados y editar allí el webpart que muestra los resultados. En ese webpart abrid el xsl y eliminad la referencia al campo Author.

Saludos,

Anónimo dijo...

Hola otra vez, al final voy a ser un poco pesado, te voy a explicar lo que hemos hecho en el elemento web "Resultados principales de la búsqueda" en la opción "Opciones de consulta de resultados" en "Columnas seleccionadas" hemos modificado el xslt borrando la entrada "Column Name="Author", pero nos sigue pasando lo mismo.Segun entendemos este elemento web solo muestra resultados, nosotros lo que queremos es que no solo los muestre sino que ni siquiera realice la busqueda.
Te explico el problema que tenemos si en el cuadro de busqueda se escribe mi nombre, en los resultado me muestra las paginas que hen sido creadas por mi, modificadas por mi o que yo haya publicado. Y lo que intentamos es que si se escribe el nombre de cualquier desarrollador no busque por estas propiedades.

Un saludo.

Er Chan dijo...

Hmmm, pues no sé... el problema que tenéis es que las páginas aspx contienen vuestros nombres de usuario y si decís al motor de búsqueda que no busque en los aspx no va a mirar en ninguna página del portal... Se me ocurre una cosa no muy bonita, la verdad, ¿Por qué no creais una regla de reemplazo en el diccionario del motor que dirija las búsquedas de DOMAIN\USER a búsquedas por alguna palabra neutra como el nombre del portal o una que nunca vaya a aparecer como ciclopentanoperhidrofenantreno?

Suerte.

Anónimo dijo...

Muchas gracias por tu ayuda y por el interes mostrado, nosotros seguiremos intentandolo, hemos visto varias cosillas interesantes, dentro de la configuración del sitio Columnas en las que se pueden realizar búsquedas, tambien a nivel de las listas hay una opcion en configuración avanzada de la lista en la que podemos permitir que una lista aparezca en un resultado de busqueda, ya te ire comentado como vamos y si hemos sido capaces de realizarlo que que deseamos, que esperamos que si. :-)

Saludos

Jose Antonio Marmol

Anónimo dijo...

hola q tal una pregunta enla busqueda avanzada quiero agregar mas metadas y que aparescan en el combo yo tengo una biblioteca llamada proyectos q contiene mis columnas :sesion,asamblea lo que yo quiero agregar es a mi combo en busuqedas avanzadas me puedes ayudar mi correo es este:

alonsohorna@hotmail.com

Er Chan dijo...

Perdona por el retraso, hoy mismo he creado un post que creo que te ayudará: http://developingispainful.blogspot.com/2009/04/agregar-tipo-de-resultado-yo.html

Saludos.