How to Enable External Query Processing

This feature enables you to process the Type-Ahead, NLQ Enables users to find information by making requests as if they were speaking to a person. or Search queries before being executed by the SmartHub federation engine

How it Works

  1. When the user enters text in the Type-Ahead, JavaScript code for the provider calls the Type-Ahead service (TypeAheadService.svc) and requests suggestions.
  2. The service first checks the configuration from the Admin site.
  3. The service then proceeds to call AutoClassifier, and send it:
    1. The query text
    2. Configured properties
    3. Stages to execute
  4. AutoClassifier runs the configured stages and passes the incoming data to the stage for processing.
  5. The output of the stage is then returned to SmartHub.
  6. SmartHub processes the output and returns it to the UI as a list of suggestions to display to the end user for the query they ran.

Configuring the Feature

  1. Go to your SmartHub Admin site.

  2. Navigate to the External Query Processing page.

  3. Configure the Enrichment endpoint address
    1. Point it to your AutoClassifier ContentProcessingJson endpoint:
      1. http://autoclassifier.contoso.com/ContentProcessingJson.svc/ProcessItemJson
  4. Configure the Enrichment parameters 
    1. Specify a comma-separated list of all the stages to be executed
      1. The list typically includes only the NLQ Metadata Capture stage name that you have configured in AutoClassifier

Enabling the Feature so that it can be Used for Type-Ahead

  1. To support the FilterSuggestions TypeAhead provider capability, check the option Enable as type-ahead provider.
    1. Optionally, you can also customize the following settings:
      1. Override enrichment parameters:
        1. Specify a different list of stages that should be executed.
      2. This overrides the list specified in step 4.
      3. Supported Result Source IDs:
        1. Specify a comma-separated list of Result Source GUIDs so that you can restrict when the FilterSuggestions filter is used
          1. If the Type-Ahead on one page is configured with a different Result Source ID then the FilterSuggestions provider won't return anything