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:
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:
Normalmente dice SharedServiceProvider1.
3) Bajo el titulo de Serach, seleccione Search Settings, como muestra a continuación:
4) Luego seleccione Metadata property mappings
5) Luego seleccione New Managed Property
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.
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.
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.
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