jueves, 23 de octubre de 2008

Tip SharePoint: Pasos para incluir un columna en el motor de búsqueda

Para los que no estaban enterados MOSS 2007 es decir SharePoint Server 2007 extiende la funcionalidad del motor de búsqueda, a nivel de un buscador de la red. Pero la pregunta es como lo ponemos a trabajar para nosotros. Primo vamos a ver como hacer que la metada este incluida en el crawling de SharePoint y luego como esto lo podemos utilizar para desarrollar WebParts personalizados de búsqueda.

Iniciemos con la metada; Es la información sobre la data. La información dentro de SharePoint identificadas como columnas de una lista o un documento.

1) Debemos indicarle que dichas columnas se utilizaran como índices de la búsqueda, para ello vaya a la lista o documento , seleccione Settings y en la caso de Libreria de Documentos Document Library Settings, Index Columns, y seleccione aquellas columnas que desea sean incluídas en la busqueda como aparece abajo:

image

Presione Ok. , antes de pasar al segundo paso, debemos de crear un elemento de la librería de documentos o de la lista y luego ejecutar un crawling para que la columna aparezca disponible para ello haga los pasos 8 y9.

2) Vaya al Proveedor de Servicios Compartidos (Esta opcional solo la tiene Moss 2007 y no Services y deberá estar instalada). Para acceder a ella vaya a "Central Administration". Que es el sitio de administrador normalmente esta en http://nombreservidor:puertoasignado. Luego en el menu del proveedor de servicios compartidos como se muestra abajo:

image

Normalmente dice SharedServiceProvider1.

3) Bajo el titulo de Serach, seleccione Search Settings, como muestra a continuación:

image

4) Luego seleccione Metadata property mappings

image

5) Luego seleccione New Managed Property

image

6) Ingrese un nombre que puede utilizar el nombre de la columna entre tanto no sea un nombre que ya se haya utilizado, seleccione de que tiempo, seleccione el botón de add mappings para buscar la columna indexada.

image

Importante seleccione la opción: Allow this property to be used in scopes. Ya que esto nos permitirá utilizarla en el código en el modelo de búsqueda, como por ejemplo, si nuestra propiedad del ejemplo es Ubicacion podrías hacer lo siguiente: "select Id, Title, Ubicacion from scopes() where FREETEXT(Ubicacion,"Oeste") order by Title" (En otro post hablaremos detallaremos mas esto).

7) Si no lo encuentra debe de ejecutar un crawling y para que el crawling incluya esta columna el índice por lo menos un elemento del documento o lista.

image

8) Para finalizar debemos de ejecutar un crawling de Búsqueda. Seleccione nuevamente Search Settings.

9) Luego Content sources and crawl schedules, haga clic derecho sobre la fuente de contenido a la que pertenece la columna, normalmente es local Office SharePoint Server Sites y seleccione Full o Incremental, por ultimo selección Search Settings, y espere unos minutos y haga refresh a la pagina para ver si ya termino.

image

10) Para finalizar realice una busque con un valor de esta columna y debería mostrarle por lo menos esa información.

Saludos amigos del planeta SharePoint, Hasta la próxima!,

Manolo Herrera

1 comentario:

jose dijo...

Hola teniamos una duda de si es posible EXCLUIR una columna del motor de búsqueda, lo que queremos es que el rastreador no indece por las columnas Modificado por, publicado por, desprotegido, etc ....
Te explico cual es nuetro problema, si en la busqueda introducimos cualquier usuario que haya estado trabajando con sharepoint el motor de busqueda encuentra los documentos, listas, paginas aspx, etc que el usuario haya subido, creado, modificado o desprotegido.
Un Saludo.
Muchas gracias por cualquier ayuda.