Search This Blog

Friday, August 31, 2018

Difference between SharePoint 2010 Search and SharePoint 2013 Search


 Search Features

SharePoint 2010

SharePoint 2013

Installation
Different Installation for SP2010 and FAST Search for SharePoint 2010
Single installation in SharePoint 2013.
Different offering for Search
WSS Search, Microsoft Search Server, Search Server Express
SharePoint Server Search  and SharePoint Foundation search.
Crawling Components
Multiple crawl components on a single server but each component was associated with only one crawl database. 
Crawl components has been replaced by crawl roles in SP2013. ALL crawler roles talk to ALL crawl databases.  So whenever there is content to crawl, every crawl server in the farm can work on it.
Host Distribution Rules
In SP2010, you could pick certain crawl components to crawl a particular URL
Host can be distributed across multiple crawl databases. The new distribution happens on the basis of Content DB Id rather than host URL.
Content Processing Customization
In SP2010 we had pipeline extensibility, which let you write custom code to use in the transformation of crawled content before it got added to the index. 
In SharePoint 2013 the pipeline extensibility model is gone, but it has been replaced with a new web service callout feature.  It is invoked via triggers, which you create and are based on the value of different managed properties. 
Security Information
Search Admin DB was storing the security information (ACL information).
Search Admin DB is not storing any ACL information now. It is storing with index itself in case of SP 2013.
Built In BDC Connector
No Documentum Connector or Term Store Connector
New built-in Documentum Connector and Term Store Connectors are available in SP2013.
HTTP Site Crawling
Anonymous crawling was not supported into SP2010 for HTTP Site.
Anonymous crawling is available in SP2013 for http sites.
Crawling : Continuous Crawl
<NA>
New feature of Continuous Crawl is available in SP2013 only for SharePoint Sources. By default interval for this is “15” minutes, but can be changed through “Set-SPEnterpriseSearchCrawlContentSource” command.
Result Sources
Scopes and Federated Sources
Scopes and Federated Sources in SP2010 are known as Result Sources in SharePoint 2013.
Indexing : Remote SharePoint Source
This functionality was not available in SP2010.
A new feature to index “remote SharePoint Source” is available in SP2013 in which we can crawl a “remote SharePoint Source” available in remote SharePoint Farm in different geo locations using “oAuth Trust” which removes the issue of “kerbaros” authentication between he farms.
Search  Sources
In SP 2010, scopes can only be created by search service admin.
Site and Site Collection admin can configure result sources for a site collection. There is no need of search service admin to intervene into this.
Data  Source
<NA>
Exchange is now a data source for a “result source”
Query Transformation for a Result Source
<NA>
Query Transformation can be applied for a result source in SP 2013.
Indexing PDF Support
Advanced Filter Pack/iFilter being used in SP2010
Indexing PDF Support is OOB feature of SP2013.
Format Handlers
<NA>
New Parsing feature in SP2013.
Automatic file format detection: no longer relies on file extension
Deep link extraction for Word and PowerPoint formats
Visual metadata extraction: titles, authors and dates
High-performance format handlers for HTML, DOCX, PPTX, TXT, Image, XML and PDF formats
New  Filters for Visio and OneNote
<NA>
Available in SP2013 Search.
Entity Extraction – Company
Based on extraction dictionaries being managed in XML files on the file system
Based on inclusion and exclusion dictionaries from within the term store of the Managed Metadata Service. In Addition, You can also do custom entity extraction in SharePoint 2013 using cmdlets and csv files as in FS4SP.
Schema Management
SSA Admin can only create “Crawled “ and “Managed” properties available to the entire farm.
Capability to do limited schema management down to site collection admins. , site collection admins can create custom crawled and managed properties that are only used in their site collection!The managed properties that can be created are limited – meaning they cannot be refinable or sortable and it only supports a text data type. 
Schema Management
In SharePoint 2010, you had to do one full crawl of all your content to create a crawled property.  You could then create a managed property and map it to the crawled property, but you had to do a second full crawl of all your content to populate it with data.
That is no longer required.  To begin with, when you create a new site column in SharePoint 2013, we automatically created a crawled property out of it right then and there – no other full crawl required.  Secondly, after you create a new managed property and map it to your crawled property, you NO LONGER NEED TO CRAWL THE ENTIRE FARM. Instead you can go into any list or library and there is an option now to Re-index the list. Alternatively you can go to the site level and choose to Re-index the Site
Query Spelling Correction
Default spelling dictionaries and the Query Spelling Inclusions list
Customizations to Query Spelling Correction is now managed in the term store – both inclusions and exclusions. In addition to that we still have a dynamic dictionary that is based on content in the index itself, or you can also still choose to go with a static dictionary.
Query Rules
<NA>
Query Rules allow you to have search requests from a user trigger multiple queries and multiple result sets. This differs from SharePoint 2010 where there were only simple queries – one query has one set of results.
Result Types
<NA>
A result type consists primarily of a set of rules that describe which of the items in the search results match that result type. When a user issues a query, the results come back and each result is evaluated against the rules in the result types. SharePoint 2013 includes several predefined result types:
Rich document results for PowerPoint, Word, and Excel documents
Rich conversation results for Newsfeed posts, replies, and community discussions
Rich video results and more…
You can define your own Custom Result type.
Display  Templates
<NA>
A display template is applied to the result based on the result type that it matches.
You can define your own Custom Display Type.
Faceted Navigation
<NA>
It uses a term from the term store to filter what kind of data should be displayed.
 
§   With each term you select which managed properties should be used as refiners for that term
§   Those managed properties must be configured as “Refinable”
Example:
·          You have term store terms Camera and Laptop
 
·          You have managed properties Megapixel Count, Color and Manufacturer
 
·          For Camera term, you add refiners for Megapixel Count and Manufacturer
 
·          For Laptop term you add refiners for Color and Manufacturer
 
Query Suggestions
In SP2010, they are built based on user's performing searches and clicking through results
In SP2013, it is based on :
§   Your personal SharePoint activity factors into the query suggestions, i.e. you have a personal query log
 
§   It includes weighting based on sites that you have previously visited
 
§   It uses the most frequent queries across all users that “match” the search terms
 
Note: You can also add inclusion and exclusion lists for suggestions via the search service application admin pages
 
Query Suggestion Types
<NA>
There are two types of query suggestions – what you see when you are entering a query, and what you see when you get results
 
When entering a query you will see two types of suggestions:
ü  A list of items you have clicked on before from your personal query log
ü  A list of items that others are typing for their queries
 
When you get query results back, you will get another set of suggestions
ü  They are a list of links that you have clicked through at least twice before and that match your search criteria
Thumbnail Preview
Thumbnail preview was available for Office documents with preview of first page in word doc and 3 slides in PPT.
With new webapp engine, you can now browse through the entire document in the preview
§   See all pages, see animations, zoom in, scroll through the entire document
§   The point of this is to allow users to find the exact item they’re looking for right in search results – no more clicking a result, hitting the back button, and on and on until they find the one they’re looking for
 
Previews only work with claims authentication – it will not work with classic Windows authentication.
 
Search Portability
<NA>
Search Portability” supports transferring the following items:
§   results sources
§   query rules
§   result types
§   schema
§   custom ranking models
Transferring can happen between a tenant, site collection or site using import/export search configuration option of CSOM( Client side Object model).
 
FAST Search Server 2010 Deprecated  Features in SharePoint 2013
Feature Description
Reason for Change
Migration Path in SP2013
DB Connector :The “FAST Search database”connector is not supported in SharePoint 2013
The connector framework for SharePoint 2013 is combined with the BCS framework and the Business Data Catalog connectors.
Replace the FAST Search database connector with the Business Data Catalog-based indexing connectors in the BCS framework.
LotusNotes Connector: The “FAST Search Lotus Notes” connector is not supported in SharePoint 2013.
The connector framework for SharePoint 2013 is combined with the BCS framework and the Business Data Catalog connectors.
Replace the FAST Search Lotus Notes connector with the Lotus Notes indexing connector, or with a third-party connector.
Web Crawler:The FAST Search web crawler is not supported in SharePoint 2013.
The SharePoint 2013 crawler provides similar functionality to the FAST Search web crawler. The crawler capabilities are merged into one crawler implementation for consistency and ease of use.
Use the standard SharePoint 2013 crawler.
Find similar results: The Find similar results feature is not available in SharePoint 2013. The Find similar results feature is supported in FAST Search Server 2010 for SharePoint to search for results that resemble results that you have already retrieved.
The Find similar results feature is available only within the query integration interfaces, and it does not consistently provide good results in many scenarios.
As The Find similar results feature is not available in SharePoint 2013. There is no migration path available.
Anti-phrasing:Anti-phrasing removes phrases that do not have to be indexed from queries, such as “who is”, “what is”, or “how do I”. These anti-phrases are listed in a static dictionary that the user cannot edit.
The FAST Search Server 2010 for SharePoint feature has limited usage due to the limited number of customization options.
Anti-phrasing is not supported in SharePoint 2013.
None: In SharePoint 2013, such phrases are not removed from the query. Instead, all query terms are evaluated when you search the index.
Offensive content filtering: In FAST Search Server 2010 for SharePoint, you can choose to filter offensive content. Offensive content filtering is not enabled by default.
The feature has limited usage.
None: The filtering of offensive content in search is deprecated in SharePoint 2013. In SharePoint 2013, you can no longer block documents that contain potentially offensive content from being indexed.
Substring search: In FAST Search Server 2010 for SharePoint, substring search (N-gram indexing) can be used in addition to the statistical tokenizer in East Asian languages.
The feature has limited usage, and has very extensive hard disk requirements for the index.
None: The substring search feature was removed in SharePoint 2013.
Person names and location extractions: In SharePoint 2013, you cannot extract person names and locations from documents by using predefined extractors.
This feature has limited usage and usually requires extensive customization. In most cases, we recommend that you use customer-specific dictionaries.
Use custom extractors for person names and locations. In SharePoint 2013, you can create custom extractors to extract person names and locations. The difference between the predefined extractors in FAST Search Server2010 for SharePoint, and custom extractors in SharePoint 2013, is that custom extractors are only based on dictionary entries, whereas the predefined extractors also use extraction rules.
Number of custom entity extractors: In SharePoint 2013, the number of custom entity extractors that you can define is limited to 12.
By using a predefined set of custom entity extractors, the content processing architecture is more simple and easier to use.
Use the predefined set of custom entity extractors.
In FAST Search Server 2010 for SharePoint Service Pack 1 (SP1), you can define an unlimited number of custom extractors. You can use custom entity extractors to populate refiners on the search result page.
There are 12 predefined custom entity extractors in SharePoint 2013.
 
Supported document formats: SharePoint 2013 no longer supports rarely used and older document formats that are supported in FAST Search Server 2010 for SharePoint by enabling the Advanced Filter Pack. Both the ULS logs and the crawl log indicate the items that were not crawled.
The file formats for indexing are older formats and are no longer supported.
In SharePoint 2013, the set of supported formats that are enabled by default is extended, and the quality of document parsing for these formats has improved.
 
You can work with partners to create IFilter-based versions of the file formats that can no longer be indexed.
Custom XML item processing:FAST Search Server 2010 for SharePoint includes a custom XML item processing feature as part of the content processing pipeline
In SharePoint 2013, the content processing architecture has changed. Custom XML item processing was removed and we recommend that you implement a mapping functionality outside SharePoint.
Custom XML item processing is not supported in SharePoint 2013.
Custom XML item processing can be performed outside the content processing pipeline, for example by mapping XML content to a SharePoint list, or to a database table.
Adding a test item to the index: DocPush is a test and diagnostic command-line tool that submits test documents to the FAST Search Server 2010 for SharePoint index. A similar command-line tool is not available in SharePoint 2013.
The administration and diagnostics of feeding and crawling has changed in SharePoint 2013.
None. No similar command-line tool is not available in SharePoint 2013.
You can create test documents or test lists in SharePoint to test crawling and feeding. To remove items from the search index or to verify that there are any errors on an item, you can use the crawl log

Apps in SharePoint

What are Apps?

Over the last few years, desktops became laptops.  Laptops gave way to Notebooks. Notebooks became Ultra Books and the trend is moving towards Tablets and Smartphones.
As a result of this, web applications are paving the way for Apps.

Reasons for “Apps” development

  • No custom code execution on server side. It avoids application / server outages.
  • Custom code will be executed in Client-Browser, or IIS or Windows Azure, which are completely out of SharePoint’s scope.
  • The Server Object Model (SOM) code is replaced by Rest Services Client Side Object Model (CSOM) using which apps can communicate with a server. Authentication is done by OAuth.
  • Installation/updation /uninstallation of apps can be done without affecting the SharePoint site.
  • Better usability in mobile and tablets devices.
  • Takes SharePoint to the next level in terms of usability, deployment, development and hosting (Cloud).
  • Finally, everything in SharePoint 2013 is an App.

Types of Apps for SharePoint

SharePoint-hosted
  • Complete client-side code
  • Deployed to SharePoint On-premises, SharePoint online or in Office 365
Provider-hosted
  • Deployed to a different on-premises server (not SharePoint) or the cloud
Auto-hosted
  • Automatically provisions resources to SQL Azure and Windows Azure
Diagram of a possible Hybrid approach with some components in SharePoint and others residing in the Cloud:
apps-in-sharepoint-01

SharePoint-hosted Apps:

apps-in-sharepoint-02
  • App components hosted in isolated app domain
  • No server-side code – can use HTML, JavaScript and CSS

Provider-hosted Apps:

apps-in-sharepoint-03
  • App components can be hosted anywhere ( on-premises or Cloud )
  • Authorized using JavaScript cross-domain library or OAuth
  • IncludesWindows Azure Web Sites
  • Can use ANY implementation language (ASP.NET, PHP, etc.)

Auto-hosted Apps:

apps-in-sharepoint-04
  • App components are hosted in SQL Azure and Windows Azure
  • Automatically provisioned when app is installed
  • Authorized using the JavaScript cross-domain library or OAuth
  • Only available in SharePoint Online
  • Infrastructure is in preview status
  • Production use not recommended
  • Office Store not yet accepted

Host Web and App/Remote Web:

apps-in-sharepoint-05
  • Each app is deployed to a SharePoint site known as the host web
  • Each app installation has its own unique URL
  • App web provisioned with app installation
    • https://[app prefix][app hash].[app domain]/[relative site URL]/[app name]
    • Required for Share Point hosted apps, optional for cloud-hosted apps
  • Cloud-hosted apps have a remote web
    • In Office 365, the remote web for Auto hosted apps is under 365apps.net
    • Name reminds us that this web doesn’t live on the SharePoint server

App Development Tools:

  • Office development tools for Visual Studio 2012/2013
    apps-in-sharepoint-06
  • “Napa” Office 365 development tools
  • Browser-based development environment (SharePoint-hosted apps only)

Office Development Tools for Visual Studio:

apps-in-sharepoint-07
apps-in-sharepoint-08
  • NET web application projects include classes to handle app AuthZ and AuthN (using OAuth)
  • SharePointContext.cs
    • Functions to manage SharePoint context across page requests
    • Can create app contexts and/or user for app and/or host webs
  • TokenHelper.cs
    • Functions to create and obtain AccessToken and ContextToken objects
  • On other platforms, you have to do the OAuth implementation and manage tokens yourself
  • Convert existing web application project to an App for SharePoint project
    apps-in-sharepoint-09

Accessing SharePoint data remotely:

  • JavaScript client object model (JSOM)
  • .NET Managed client object model (CSOM)
  • REST endpoints with OData

App authentication/authorization:

  • We can’t interact with data stored in SharePoint unless we (our apps) are authenticated to SharePoint and authorized to access data
    • Authentication: Are you who you say you are?
    • Authorization: Do you have permission to do what you are trying to do?
  • How can cloud-hosted apps for Share Point securely access data from the remote web?
    • Firewalls could be between servers
    • Code and script could be running on different domains
    • The external web server might not even be running Windows!

App authorization policy types:

  • User-only
    • Only the user identity is considered (non-app interactions with Share Point)
  • App + User
    • “Access denied” if one and/or the other lacks permissions
    • Both the app identity and the user identity are considered
  • App-only
    • Only the app identity is considered
    • Only supported for server-side code in cloud-hosted apps
    • Can’t be used with certain APIs (e.g., Search, Project Server)
    • Allows for elevation above current user’s permissions (or when there is no current user)

App permissions:

  • Trust must be explicitly granted by the user installing the app (nothing or all)
  • User installing the app must also have all permissions the app is requesting
    apps-in-sharepoint-10

Deploying provider-hosted apps:

  • To use OAuth, you must register an app principal
    • Automatically handled for Auto-hosted apps and <F5> local host deployments
    • Requires a visit to /_layouts/15/AppRegNew.aspx for provider-hosted apps
      apps-in-sharepoint-11
  • Update <appSettings> values in web.config file
    <add key=”ClientId” value=”xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” /><add key=”ClientSecret” value=”xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=” />
  • Deploy/publish your remote web project
  • Set full URL for Start page in AppManifest.xml
    apps-in-sharepoint-12
  • Right-click and “Publish…” the app project
  • Click Package the app to generate .app file
    apps-in-sharepoint-13
  • Deploy the .app file to your app catalog
    apps-in-sharepoint-14
  • Click the link to launch the app
  • Grant permissions the app requests
    apps-in-sharepoint-10