{"id":472,"date":"2013-06-11T11:00:52","date_gmt":"2013-06-11T10:00:52","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=472"},"modified":"2013-07-16T10:06:21","modified_gmt":"2013-07-16T09:06:21","slug":"sharepoint-2013-acceso-a-las-busquedas-mediante-programacion","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/","title":{"rendered":"[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n"},"content":{"rendered":"<p style=\"text-align: left;\">En este art\u00edculo vamos a introducirnos en el mundo de las b\u00fasquedas dentro de SharePoint 2013. En esta versi\u00f3n hay muchas novedades relacionadas con la b\u00fasqueda, alguna de ellas muy sonadas como el <strong>Content Query by Search<\/strong> (que abordar\u00e9 pr\u00f3ximamente) y la introducci\u00f3n ya plena de <strong>FAST<\/strong> como motor principal para realizar las b\u00fasquedas.<\/p>\n<p style=\"text-align: left;\">Hoy vamos a ver c\u00f3mo poder acceder a la informaci\u00f3n que nos da el servicio de b\u00fasquedas: utilizando la <strong>API Rest<\/strong>, el <strong>modelo de objetos cliente<\/strong> y el <strong>modelo de objetos servidor<\/strong>.<\/p>\n<p style=\"text-align: left;\">Antes de ponernos manos a la obra hay que tener en cuenta que el <strong>servicio Web<\/strong> que se utilizaba en anteriores versiones para hacer consultas de forma remota <strong>est\u00e1 obsoleto<\/strong> y que la sintaxis SQL Query se ha eliminado por completo.<br \/>\n<a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/ArquitecturaSearchSharePoint2013.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-475\" alt=\"Arquitectura motor de busquedas\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/ArquitecturaSearchSharePoint2013-1024x474.png\" width=\"500\" height=\"200\" \/><\/a><\/p>\n<p style=\"text-align: left;\"><!--more--><\/p>\n<h3><strong>Utilizando el motor de b\u00fasqueda usando REST<\/strong><\/h3>\n<p>Como hemos visto en esta versi\u00f3n de SharePoint, Microsoft ha optado por hacer una versi\u00f3n mas proxima a los estandares web. Para ello, cada punto de acceso a un artefacto de SharePoint tiene su correspondiente servicio Rest para acceder a \u00e9l independientemente de la plataforma. Para acceder al servicio Rest de la b\u00fasqueda tenemos que acceder a la siguiente direcci\u00f3n :<strong>http:\/\/\/_api\/search<\/strong>.<\/p>\n<p>A continuaci\u00f3n vemos un ejemplo de c\u00f3mo hacer una llamada a la API Rest utilizando JavaScript<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nfunction getSearch(term) {\r\n    $.ajax(\r\n       {\r\n           url: appweburl + &quot;\/_api\/search\/query?querytext='&quot;+terme + &quot;'&quot;,\r\n           method: &quot;GET&quot;,\r\n           headers: { &quot;Accept&quot;: &quot;application\/json; odata=verbose&quot; },\r\n           success: function (data) {\r\n               successSearch(data);\r\n           },\r\n           error: function (xhr, ajaxOptions, thrownError) {\r\n               failSearch(xhr, ajaxOptions, thrownError);\r\n           }\r\n       }\r\n   );\r\n}\r\nfunction successSearch(data)\r\n{\r\n    var stringData = JSON.stringify(data);\r\n    var jsonObject = JSON.parse(stringData);\r\n\r\n    var result = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results;\r\n    var html = &quot;&quot;;\r\n    for(var i=0;i&lt;result.length;i++)\r\n    {\r\n        html += &quot;Resultado &quot; + i + &quot; :&quot; + result&#x5B;i].Cells.results&#x5B;3].Value +&quot;&lt;br\/&quot;;\r\n    }\r\n    $(&quot;#MySearch&quot;).empty();\r\n    $(&quot;#MySearch&quot;).html(html);\r\n}\r\nfunction failSearch(xhr, ajaxOptions, thrownError)\r\n{\r\n    alert(&quot;GET error:\\n&quot; + xhr.status + &quot;\\n&quot; + thrownError);\r\n}\r\n<\/pre>\n<p>Como vemos en el c\u00f3digo, hemos implementando una funci\u00f3n que como par\u00e1metro de entrada recibe el contenido a buscar. Realizamos la llamada a la API Rest enviando un GET y que nos devuelve el formato de respuesta de tipo JSon. Para finalizar, nos definimos dos funciones, una en caso de que la llamada funcione a la perfecci\u00f3n y, otro, en caso de que nos devuelva alg\u00fan tipo de error. En caso de \u00e9xito, extraemos la informaci\u00f3n de la b\u00fasqueda y la mostramos donde estimemos oportuno, en nuestro caso, dentro del identificador \u00abMySearch\u00bb. Si se produce un error, optamos por mostrar un mensaje indicando el error que se ha producido.<\/p>\n<p><strong>Tip para el uso de la API Rest<\/strong><br \/>\nA parte de mirar la documentaci\u00f3n para saber qu\u00e9 objetos no va a devolver, para comprobar que estoy realizando la llamada correcta y los campos que me devuelve, lo que hago es realizar una llamada a la API Rest desde el propio navegador:<br \/>\n<a href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/RestServidor.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-481\" alt=\"Llamada Rest\" src=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/RestServidor.png\" width=\"500\" height=\"300\" \/><\/a><\/p>\n<p>\u00bfCual es la ventaja? La principal ventaja es que verificas que estas realizando <strong>la llamada REST correctamente<\/strong> y ademas obtienes la estructura de lo que te devuelve y de esta forma accedes directamente a la informaci\u00f3n que necesites.<\/p>\n<h3><strong>Utilizando el modelo de objetos cliente .NET<\/strong><\/h3>\n<p>Para hacer uso de ello, en primer lugar tenemos que a\u00f1adir las referencias a las librer\u00edas clientes de SharePoint nativas y a las de b\u00fasqueda que son las siguientes: Microsoft.SharePoint.Client.Search.dll, Microsoft.SharePoint.Client.dll y Microsoft.SharePoint.Client.Runtime.dll.<br \/>\nUna vez a\u00f1adidas las referencias vamos a crear un procedimiento que devuelve los diez primeros elementos. Para ello, implementamos la siguiente funci\u00f3n:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nIEnumerable&lt;string&gt; GetResult(string words)\r\n        {\r\n            var result = new List&lt;string&gt;();\r\n\r\n            using(ClientContext context= new ClientContext(&quot;http:\/\/myserver&quot;))\r\n            {\r\n                var query= new KeywordQuery(context);\r\n                query.QueryText=words;\r\n                var search= new SearchExecutor(context);\r\n                ClientResult&lt;ResultTableCollection&gt; myResult= search.ExecuteQuery(query);\r\n                context.ExecuteQuery();\r\n                foreach(var itemResult in myResult.Value&#x5B;0].ResultRows)\r\n                {\r\n                    result.Add(itemResult&#x5B;&quot;Title&quot;];\r\n                }\r\n            }\r\n\r\n            return result;\r\n        }\r\n<\/pre>\n<p>Tambi\u00e9n hay un modelo de objetos cliente para <strong>JavaScript<\/strong>, pero como he comentado otras veces, en lugar de utilizar este modelo de objetos considero m\u00e1s adecuado y una mejor practica, utilizar la API Rest ya que nos proporciona lo mismo que el modelo de objetos en cliente y adem\u00e1s nos vale en todas las plataformas.<\/p>\n<h3><strong>Utilizando el modelo de objetos servidor<\/strong><\/h3>\n<p>Al igual que en el modelo de objeto cliente, tendremos que a\u00f1adir una serie de referencia. En este caso las dll son las siguientes: Microsoft.Office.Server.Search.dll y Microsoft.Office.Server.Search.Query.dll.<\/p>\n<p>Una vez a\u00f1adidas a nuestro proyecto, realizaremos un procedimiento similar al del modelo de objetos cliente en el que visualizaremos los diez primeros elementos. El c\u00f3digo resultante seria el siguiente:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nDataTable GetResult(string words)\r\n        {\r\n            var result = new DataTable();\r\n            var site = SPContext.Current.site;\r\n            using(KeywordQuery myQuery= new KeywordQuery(site))\r\n            {\r\n                    myQuery.QueryText=words;\r\n                    myQuery.KeywordInclusion=KeywordInclusion.AllKeywords;\r\n                    myQuery.RowLimit=500;\r\n                    myQuery.SelectProperties.Add(&quot;Path&quot;);\r\n                    myQuery.SelectProperties.Add(&quot;IsDocument&quot;);\r\n\r\n                    var mySearchExecutor = new SearchExecutor();\r\n\r\n                    var myResult = mySearchExecutor.ExecuteQuery(myQuery);\r\n\r\n                    if(myResult.Count&gt;0)\r\n                    {\r\n                        var results = myResult.Filter(&quot;TableType&quot;, KnowTableTypes.RelevantResults);\r\n                        if (results != null &amp;&amp; results.Count() == 1) result.Load(results.First(), LoadOption.OverwriteChanges);\r\n                    }\r\n            }\r\n            return result;\r\n        }\r\n<\/pre>\n<p>Como podemos observar, el c\u00f3digo es muy similar al modelo de objetos en cliente. Creamos una variable para la consulta y usando el objeto \u00abSearchExecutor\u00bb para enviar la consulta al servidor. Una vez obtenemos los resultados, lo almacenamos en el DataTable y devolvemos este valor de la funci\u00f3n.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>En este post hemos visto c\u00f3mo utilizar programaticamente los servicios de b\u00fasqueda en nuestros desarrollos. En esta versi\u00f3n se ha dado un paso al frente con la finalidad de que podamos hacer uso del sistema de b\u00fasqueda desde cualquier dispositivo y en cualquier desarrollo que lo necesitemos. Esto, en anteriores versiones era relativamente complejo y con resultados bastantes malos para el esfuerzo empleado en los mismos. Pero el servicio de b\u00fasqueda no solamente tiene estas novedades. Para mi, el nuevo servicio de b\u00fasqueda es uno de los puntos fuertes que tiene esta versi\u00f3n de SharePoint que ya iremos desmenuzando pr\u00f3ximamente.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><span class=\"et_bloom_bottom_trigger\"><\/span>","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo vamos a introducirnos en el mundo de las b\u00fasquedas dentro de SharePoint 2013. En esta versi\u00f3n hay muchas novedades relacionadas con la b\u00fasqueda, alguna de ellas muy sonadas como el Content Query by Search (que abordar\u00e9 pr\u00f3ximamente) &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":8,"featured_media":475,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56,11],"tags":[153,57,151],"class_list":["post-472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-busquedas","category-sharepoint-2013","tag-busquedas","tag-fast","tag-sharepoint-2013"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v28.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"En este post introducimos como acceder a las b\u00fasquedas de SharePoint a trav\u00e9s de la API Rest, modelo de objetos en cliente y modelo de objetos en servidor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"En este post introducimos como acceder a las b\u00fasquedas de SharePoint a trav\u00e9s de la API Rest, modelo de objetos en cliente y modelo de objetos en servidor.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/ArquitecturaSearchSharePoint2013.png\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adri\u00e1n D\u00edaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n\",\"datePublished\":\"2013-06-11T10:00:52+00:00\",\"dateModified\":\"2013-07-16T09:06:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/\"},\"wordCount\":1088,\"commentCount\":0,\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/06\\\/ArquitecturaSearchSharePoint2013.png\",\"keywords\":[\"busquedas\",\"fast\",\"sharepoint 2013\"],\"articleSection\":[\"busquedas\",\"sharepoint 2013\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/\",\"url\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/\",\"name\":\"[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/06\\\/ArquitecturaSearchSharePoint2013.png\",\"datePublished\":\"2013-06-11T10:00:52+00:00\",\"dateModified\":\"2013-07-16T09:06:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"En este post introducimos como acceder a las b\u00fasquedas de SharePoint a trav\u00e9s de la API Rest, modelo de objetos en cliente y modelo de objetos en servidor.\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"http:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/06\\\/ArquitecturaSearchSharePoint2013.png\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/wp-content\\\/uploads\\\/sites\\\/8\\\/2013\\\/06\\\/ArquitecturaSearchSharePoint2013.png\",\"width\":1572,\"height\":729,\"caption\":\"Arquitectura motor de busquedas\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/\",\"name\":\"Desarrollando sobre SharePoint\",\"description\":\"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\",\"name\":\"Adri\u00e1n D\u00edaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"caption\":\"Adri\u00e1n D\u00edaz\"},\"description\":\"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/author\\\/desarrollandosobresharepoint\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n - Desarrollando sobre SharePoint","description":"En este post introducimos como acceder a las b\u00fasquedas de SharePoint a trav\u00e9s de la API Rest, modelo de objetos en cliente y modelo de objetos en servidor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/","twitter_card":"summary_large_image","twitter_title":"[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n - Desarrollando sobre SharePoint","twitter_description":"En este post introducimos como acceder a las b\u00fasquedas de SharePoint a trav\u00e9s de la API Rest, modelo de objetos en cliente y modelo de objetos en servidor.","twitter_image":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/ArquitecturaSearchSharePoint2013.png","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/#article","isPartOf":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n","datePublished":"2013-06-11T10:00:52+00:00","dateModified":"2013-07-16T09:06:21+00:00","mainEntityOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/"},"wordCount":1088,"commentCount":0,"image":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/ArquitecturaSearchSharePoint2013.png","keywords":["busquedas","fast","sharepoint 2013"],"articleSection":["busquedas","sharepoint 2013"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/","url":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/","name":"[SharePoint 2013] Acceso a las b\u00fasquedas mediante programaci\u00f3n - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/#primaryimage"},"image":{"@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/ArquitecturaSearchSharePoint2013.png","datePublished":"2013-06-11T10:00:52+00:00","dateModified":"2013-07-16T09:06:21+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"En este post introducimos como acceder a las b\u00fasquedas de SharePoint a trav\u00e9s de la API Rest, modelo de objetos en cliente y modelo de objetos en servidor.","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/sharepoint-2013-acceso-a-las-busquedas-mediante-programacion\/#primaryimage","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/ArquitecturaSearchSharePoint2013.png","contentUrl":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-content\/uploads\/sites\/8\/2013\/06\/ArquitecturaSearchSharePoint2013.png","width":1572,"height":729,"caption":"Arquitectura motor de busquedas"},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/","name":"Desarrollando sobre SharePoint","description":"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb","name":"Adri\u00e1n D\u00edaz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","caption":"Adri\u00e1n D\u00edaz"},"description":"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/author\/desarrollandosobresharepoint\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/comments?post=472"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/472\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media\/475"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}