New-SPEnterpriseSearchResultItemType
Creates a new result item type.
Syntax
New-SPEnterpriseSearchResultItemType
[-Name] <String>
[-Rules] <PropertyRuleCollection>
[[-RulePriority] <Int32>]
[[-DisplayProperties] <String>]
[[-SourceID] <Guid>]
[-DisplayTemplateUrl] <String>
-Owner <SearchObjectOwner>
[-AssignmentCollection <SPAssignmentCollection>]
[-Confirm]
[-OptimizeForFrequentUse <Boolean>]
[-SearchApplication <SearchServiceApplicationPipeBind>]
[-SearchApplicationProxy <SearchServiceApplicationProxyPipeBind>]
[-WhatIf]
[<CommonParameters>]
New-SPEnterpriseSearchResultItemType
[[-Name] <String>]
[[-Rules] <PropertyRuleCollection>]
[[-RulePriority] <Int32>]
[[-DisplayProperties] <String>]
[[-SourceID] <Guid>]
[[-DisplayTemplateUrl] <String>]
-ExistingResultItemType <ResultItemTypePipeBind>
-ExistingResultItemTypeOwner <SearchObjectOwner>
-Owner <SearchObjectOwner>
[-AssignmentCollection <SPAssignmentCollection>]
[-Confirm]
[-OptimizeForFrequentUse <Boolean>]
[-SearchApplication <SearchServiceApplicationPipeBind>]
[-SearchApplicationProxy <SearchServiceApplicationProxyPipeBind>]
[-WhatIf]
[<CommonParameters>]
Description
Use the New-SPEnterpriseSearchResultItemType
cmdlet to create a new result item type.
Result item types enable you to change the look of search results based on the type of result. You start by defining a collection of rules, which will be evaluated against the properties of results. Then you define the display template to use for rendering that type of result. Once you have created the result item type, results matching the rules of the result item type will render using the specified display template.
Example use cases:
- Change the look of results for a particular file name extension, for example Word documents.
- Change the look of a particular content type in search results.
- Change the look of results from a particular author.
- Add a result action to results from a particular result source as part of a custom search application.
For permissions and the most current information about Windows PowerShell for SharePoint Products, see the online documentation at SharePoint Server Cmdlets.
Examples
------------------EXAMPLE------------------
$rule = Get-SPEnterpriseSearchPropertyRule -PropertyName "ContentTypeId" -Operator "StartsWith"
$rule.AddValue('0x010063C2F478ACC511DFB869B5BFDFD720851252')
$ruleCollection = Get-SPEnterpriseSearchPropertyRuleCollection
$ruleCollection.Add($rule)
$displayProperties = "WorkId,Rank,Title,Size,Path,Description,SiteName,HitHighlightedSummary,HitHighlightedProperties,ViewsLifeTime"
$displaytemplateUrl = "~sitecollection/_catalogs/masterpage/Display Templates/Search/Item_MyCustomDisplayTemplate.js"
$web = Get-SPWeb https://webUrl
$tenantOwner = Get-SPEnterpriseSearchOwner -Level SPSite -SPWeb $web
$proxy = Get-SPEnterpriseSearchServiceApplicationProxy
New-SPEnterpriseSearchResultItemType -SearchApplicationProxy $proxy `
>> -Name "CustomResultType" `
>> -Rules $ruleCollection `
>> -RulePriority 1 `
>> -DisplayProperties $displayProperties `
>> -DisplayTemplateUrl $displaytemplateUrl `
>> -Owner $tenantOwner
This example first defines the rule to apply to the search results in order to target results with a specific property and adds the rule to the rule collection.
Thereafter the example defines the properties of the result that shall be displayed and the URL to the display template governing the appearance of the rendered results.
Finally, the example defines the rule item type by its name, the rule collection, the display properties, the display template and the tenant owner.
Parameters
-AssignmentCollection
Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.
When the Global parameter is used, all objects are contained in the global store.
If objects are not immediately used, or disposed of by using the Stop-SPAssignment
command, an out-of-memory scenario can occur.
Type: | SPAssignmentCollection |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-Confirm
Prompts you for confirmation before executing the command.
For more information, type the following command: get-help about_commonparameters
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-DisplayProperties
Specifies which result properties to display.
Type: | String |
Aliases: | dp |
Position: | 5 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-DisplayTemplateUrl
Specifies the URL of the display template that shall be used for rendering the results. Specify an absolute URL.
Type: | String |
Aliases: | url |
Position: | 7 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-ExistingResultItemType
Specifies an existing result item type to which new rules or displayed properties can be added.
Type: | ResultItemTypePipeBind |
Aliases: | copy |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-ExistingResultItemTypeOwner
Specifies the search object owner that defines the scope at which an existing result item type was created.
Type: | SearchObjectOwner |
Aliases: | eo |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-Name
Specifies the name of the result item type.
Type: | String |
Aliases: | n |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-OptimizeForFrequentUse
Enable this flag if you always want the properties of this result item type to be requested, regardless of whether the result type is triggered. This will improve performance as long as it is only enabled on the most frequently used result item types.
Type: | Boolean |
Aliases: | opt |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-Owner
Specifies the search object owner that defines the scope at which the result item type is created.
Type: | SearchObjectOwner |
Aliases: | o |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-RulePriority
Specifies which priority the collection of rules has compared to other rules.
Type: | Int32 |
Aliases: | priority |
Position: | 4 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-Rules
Specifies the collection of rules to evaluate the result properties against.
Type: | PropertyRuleCollection |
Aliases: | rule |
Position: | 3 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-SearchApplication
Specifies the search application that contains the result item type. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.
Type: | SearchServiceApplicationPipeBind |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-SearchApplicationProxy
Specifies the proxy of the search application that contains the result item type. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application proxy name (for example, SearchAppProxy1); or an instance of a valid SearchServiceApplicationProxy object.
Type: | SearchServiceApplicationProxyPipeBind |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-SourceID
Identifies the search result source that the result item type applies to. Leave this parameter blank to apply to all result sources.
Type: | Guid |
Aliases: | sid |
Position: | 6 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |
-WhatIf
Displays a message that describes the effect of the command instead of executing the command.
For more information, type the following command: get-help about_commonparameters
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 |