Table of Contents |
---|
Launch Aspire (if it's not already running). See:
An application tag is added to the settings.xml file, for example:
Code Block | ||||
---|---|---|---|---|
| ||||
<application config="com.searchtechnologies.aspire:app-sp2013-content-enrichment" id="13"> <properties> <property name="debug">false</property> <property name="endpoint">http://0.0.0.0:62027/CEWebService.svc</property> <property name="filterReturn">true</property> <property name="returnProperties">Author,Title</property> <property name="contentSource">CEWSWorkflow</property> <!-- only required in versions before 2.2 --> <property name="workflowReloadPeriod">15s</property> <property name="workflowErrorTolerant">false</property> </properties> </application> |
Once the SP2013 Content Enrichment service has been created, you can modify the workflow responsible for populating the properties/fields returned to SharePoint. Only the onProcess workflow is available, but all Aspire workflow functions may be used.
For more information on groovy scripting go here.
CEWS allows different types of return values. These must be defined when adding them to the Aspire object, for example an array of strings:
Code Block | ||||
---|---|---|---|---|
| ||||
import java.util.Arrays; def CEWSString = doc.add("CEWSString").setAttribute("type", "PropertyOfArrayOfstring"); CEWSString.setContent(Arrays.asList("External SharePoint", "External SharePoint|External Teamsites")); |
Integer values should be handled as the following example suggests:
Code Block | ||||
---|---|---|---|---|
| ||||
def CEWSInteger = doc.add("CEWSInteger").setAttribute("type", "PropertyOfint"); CEWSInteger.setContent(11); |
Numeric arrays (Integer and Double) should be handled as the following example:
Code Block | ||||
---|---|---|---|---|
| ||||
def CEWSArrayInteger = doc.add("CEWSArrayInteger").setAttribute("type", "PropertyOfArrayOfint"); Arrays.asList("750", "850").each() { val -> CEWSArrayInteger.add("value", val); } def CEWSArrayDouble = doc.add("CEWSArrayDouble").setAttribute("type", "PropertyOfArrayOfdouble"); Arrays.asList("750.8888", "850.4444").each() { val -> CEWSArrayDouble.add("value", val); } |
Possible value types are:
The Aspire CEWS service returns those fields by default:
Name | Type | Value |
---|---|---|
aspireCEEndpoint | PropertyOfstring | Address of Aspire CEWS endpoint, e.g. http://dehensve79.henkelgroup.net:62028/CEWebService.svc |
aspireCESchema | PropertyOfstring | http://schemas.microsoft.com/office/server/search/contentprocessing/2012/01/ContentProcessingEnrichment |
aspireFeederLabel | PropertyOfstring | ceWebService |
Additionally, all fields passed into the service are returned as well.
Those fields must be defined when configuring SharePoint.
Info |
---|
For details on using the Workflow section, please refer to Workflow introduction. |
On the SharePoint box we need to configure CEWS to communicate with the our new Aspire endpoint. We need to specify which properties Aspire will be consuming and which properties we will be returning.
We also can configure how to handle the raw document.
Below are the PowerShell commands required to update the CEWS configuration:
Code Block | ||||
---|---|---|---|---|
| ||||
# Get the Search Service Application for later $ssa = Get-SPEnterpriseSearchServiceApplication # Create a new CEWS config $config = New-SPEnterpriseSearchContentEnrichmentConfiguration # Set the endpoint value $config.Endpoint = "<URLToWebService>" # Set the Debug value $config.DebugMode = $False ############################################################## # IMPORTANT! if you set debug on then the next two parameters# # are ignored! # # Debug sends all managed properties instead of the ones you # # are requesting. It will also ignore any response you send! # ############################################################## # Set all properties you will send to CEWS, # You can also use $config.InputProperties.add("xxx") $config.InputProperties = "Author", "Filename", "Title" # Set properties you will export Same process as import properties $config.OutputProperties = "Author", "Title" # Do you want the full document to be sent via CEWS (this is a relatively significant performance impact.) ? $config.SendRawData = $True # Set the max size of the raw document to 8MB or as desired. $config.MaxRawDataSize = 8192 # Update the configuration sending the Config and The SSA you just defined Set-SPEnterpriseSearchContentEnrichmentConfiguration -SearchApplication $ssa -ContentEnrichmentConfiguration $config |
The configuration can be removed with:
Code Block | ||||
---|---|---|---|---|
| ||||
# Get the Search Service Application for later $ssa = Get-SPEnterpriseSearchServiceApplication Remove-SPEnterpriseSearchContentEnrichmentConfiguration -SearchApplication $ssa |
You can get the current configuration for review or update with:
Code Block | ||||
---|---|---|---|---|
| ||||
Get-SPEnterpriseSearchContentEnrichmentConfiguration |