In all the previous versions of SharePoint, the traditional way of retrieving content was using CAML queries and displaying them using your custom UI or use one of the OOTB web parts like Content Query Web Parts or List web parts. Search was not used that often or effectively. When CAML queries are not created carefully, then can be pretty expensive in terms of resources. You can see SQL resources go up, huge SQL queries getting created. To avoid all of this and make the querying and rendering process a lot simpler and efficient, SharePoint 2013 introduces the Content By Search Web Parts.
Search Driven Web Parts:
In SharePoint 2013, all the content can now be surfaced using search. The “Search driven “ web parts have their own Querying Builder user Interface which makes it very easy to select, filter and display the data that you want. The SDWP (Search Driven Web Parts) web parts will also show you a preview of the search results.
Another new feature in SharePoint 2013 is the “catalogs”. This is particularly interesting and powerful. Any SharePoint list in any site collection in any web application (in the same farm) can be published so that other site collections can connect to it and consume that data. This enables the user to author the content in one site collection and then consume the list in another site collection which might be in a different web application altogether. E.g. Authoring content in a authoring web application which might be internal facing and then another web application which might be internet facing which consumes the data from the published lists in the authoring web application.
To publish a list as a catalog, go to the List Settings-> Catalog Settings
The Catalog Settings Page:
Check the Catalog Sharing checkbox to enable sharing. Select the field(s) that make up the primary key to uniquely identify the record/item. Specify the managed metadata field that the consuming site can use to integrate in its own navigation. E.g. If you tag your items with Category Term set, then on the consumer side, your navigation could potentially integrate the terms in the top navigation, so that people can easily get to the information and based on your catalog your navigation will remain up to date.
Once you click okay, you will see a popup telling you that certain fields are not managed properties and you would have to map them manually. (Title, HTML field type, Client ID, etc.). If you have your own columns which are site columns then you should be okay and they will be available for refining.
To consume the list from another site collection, go to the Site Settings of that site collection and click on “Manage Catalog Connections” under “Site Administration”.
Clicking on “Connect to a Catalog” link, will take the user to a screen where all the catalogs that have been published will be listed.
Note: The catalogs are only picked up after a crawl. So, if you have published a list and don’t see the list in the catalogs list, then run a crawl and then it should be in the list.
Click on “Connect”.
There are a couple of options to choose from on this screen.
1. Connection Integration: It gives the option to integrate the catalog in the navigation in addition to making the content available. Or just to make content available and not integrate in the navigation.
2. Navigation Hierarchy: Select the column from the list that will drive the navigation. The category values will appear in the navigation itself.
3. Navigation Position: This is pretty self-explanatory. It provides the option of adding the catalog’s item category terms as a root navigation node or under an existing one.
4. Navigation Pinning: Pinning a term will not allow any changes to the term set.
5. Catalog Item URL Behavior: When you display the contents decide where you want your users to navigate to. Should the URL’s be relative to the site where the data is consumed or should the URL’s be pointing to the site where the catalog exists.
6. Catalog Item URL Format: Lets the user define the URL of the items
7. Category Page: Creates a new page layout for the catalog or lets you choose an existing one. This acts a rollup page.
8. Item Page: Creates a new page layout for a catalog items which will display the item information in detail or lets the user choose an existing one.
Once you click “OK” the catalog items are now available for you access.
You can use the “Items from a catalog” web part to display the results. Add the web part to a page. Click on Edit Web Part Properties link. Click on “Search Query”.
This allows modifying your search results, defining your refiners and settings (Priority, Loading Behavior, etc.).The query builder will also show you the results that the query will return.
Once you have set the query and get the expected results, you can choose what template to use to display the results.
You can choose to map the properties that are used in template to the properties that you have the content in.
Once you set the properties, the web part will display the content using the display template that was selected.
You can use other Search Driven web parts to display content. The search driven web parts along with catalogs is really a cool feature that in my opinion will be very efficient to manage and deliver content.