Saturday, 5 July 2014

The SharePoint 2013 Search Query APIs

Introduction 
In this article I'll go through the details of the SharePoint 2013 Search REST API. This new REST service is the best way to go in a variety of application scenarios. SharePoint Apps built using JavaScript is a good example. External Applications to SharePoint that require search functionality can also leverage this service as the endpoint for communication into the Search platform.

The old search.asmx SOAP web service is marked as deprecated in SharePoint 2013 and the new Search REST service is the replacement.

Location of the Search Rest service
The Search REST service is located at the following URI: http://host/site/_api/search

The Search REST API
The Search REST service exposed by the URI specified above provides the following methods or entry points.

The new Result Source feature in SharePoint 2013 is really cool, writing queries against them is not. With scopes you could specify them by name (that is, All Sites or People). However with result sources, you must specify the id not the name. This can make it tricky to develop custom coded solutions. In comparing an on-premises installation of SharePoint 2013 with a SharePoint Online Preview tenant, here is the list I came up with. Hopefully, it will save you some time when you need to write a query.
Result SourceID
Documentse7ec8cee-ded8-43c9-beb5-436b54b31e84
Items matching a content type5dc9f503-801e-4ced-8a2c-5d1237132419
Items matching a tage1327b9c-2b8c-4b23-99c9-3730cb29c3f7
Items related to current user48fec42e-4a92-48ce-8363-c2703a40e67d
Items with same keyword as this item5c069288-1d17-454a-8ac6-9c642a065f48
Local People Resultsb09a7990-05ea-4af9-81ef-edfab16c4e31
Local Reports And Data Results203fba36-2763-4060-9931-911ac8c0583b
Local SharePoint Results8413cd39-2156-4e00-b54d-11efd9abdb89
Local Video Results78b793ce-7956-4669-aa3b-451fc5defebf
Pages5e34578e-4d08-4edc-8bf3-002acf3cdbcc
Pictures38403c8c-3975-41a8-826e-717f2d41568a
Popular97c71db1-58ce-4891-8b64-585bc2326c12
Recently changed itemsba63bbae-fa9c-42c0-b027-9a878f16557c
Recommended Itemsec675252-14fa-4fbe-84dd-8d098ed74181
Wiki9479bf85-e257-4318-b5a8-81a180f5faa1
 
Example : set a search scope for People:
  1.  <script>    
  2.     $(document).ready(function () {         
  3.         $.ajax({    
  4.             url: _spPageContextInfo.webAbsoluteUrl +    
  5.   "?querytext='*'&sourceid='b09a7990-05ea-4af9-81ef-edfab16c4e31'" +    
  6.   "&selectproperties='AccountName',PictureURL,PreferredName'" +    
  7.   "&rowlimit=99",    
  8.             method: "GET",    
  9.             headers: { "Accept""application/json; odata=verbose" },    
  10.             cache: false,    
  11.             success: function (result) {    
  12.             } // success function    
  13.         }); //.ajax    
  14.     }); //docReady    
  15. </script> 

No comments:

Post a Comment

SharePoint 2013 - Uploading Multiple Attachments To The New Item On List Using JSOM And REST API

  Introduction In this article, we will explore how we can attach multiple attachments to the new item on list using JSOM and REST API. Ther...