---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# SimilaritySolution - Global

# SimilaritySolution - Global {#ariaid-title1}

* Release version: Xanadu
* 
* Updated February 3, 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 7 minutes to read

The SimilaritySolution API is a scriptable object used in Predictive Intelligence stores.

This API requires the Predictive Intelligence plugin (com.glide.platform_ml) and is provided within the `sn_ml` namespace.  
The solution setup-to-training flow is as follows:

1. Use the [constructor](https://servicenow-prod.fluidtopics.net/xZSZcyb_NF4dd4dPmDXO3w#SimilaritySol-SimilaritySolution_O "Creates a similarity solution.") to create a similarity solution object.
2. Add the solution object to the similarity solution store using the [SimilaritySolutionStore - add()](https://servicenow-prod.fluidtopics.net/d3qWYcN~SvSrt0UtaDFouQ#SimilarityStore-add_O "Adds a new solution object to the store and returns a unique name.") method.
3. Train the solution using the [submitTrainingJob()](https://servicenow-prod.fluidtopics.net/xZSZcyb_NF4dd4dPmDXO3w#SimilaritySol-submitTrainingJob "Submits a training job.") method. This creates a version of the object that you can manage using the [SimilaritySolutionVersion](https://servicenow-prod.fluidtopics.net/iNbWnnG~evPsIuyCPaWDLQ#SimilaritySolutionVersionAPI "The SimilaritySolutionVersion API is a scriptable object used in Predictive Intelligence stores.") API.
4. Get predictions using the [SimilaritySolutionVersion -- predict()](https://servicenow-prod.fluidtopics.net/iNbWnnG~evPsIuyCPaWDLQ#SimilarityVersion-predict_O_O "Gets the input data for a prediction.") method.

{#SimilaritySolutionAPI__ol_mmm_n1c_dmb}  
Note:  
This API runs with full privileges before the Vancouver Patch 7 Hotfix 2b and Washington DC Patch 7 releases. With later releases, grant access using ACLs. For more information see [Query ACLs](https://www.servicenow.com/docs/access?context=query-acl-rule&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US).

For usage guidelines, refer to [Using ML APIs](https://www.servicenow.com/docs/access?context=using-ml-apis&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US).

## SimilaritySolution - SimilaritySolution(Object config) {#ariaid-title2}

Creates a similarity solution.
{#SimilaritySol-SimilaritySolution_O__table_gm2_yt5_flb__entry__3}{#SimilaritySol-SimilaritySolution_O__solution-obj-domainN-default}{#SimilaritySol-SimilaritySolution_O__solution-obj-lang-desc}{#SimilaritySol-SimilaritySolution_O__solution-obj-stop-desc}

| Name | Type | Description |
|-|-|-|
| config | Object | JavaScript object containing configuration properties of the solution. { "domainName": "String", "label": "String", "lookupDataset": {Object}, "minRowCount": "String", "processingLanguage": "String", "stopwords": [Array], "testDataset": {Object}, "trainingFrequency": "String", "updateFrequency": "String" } |
| config.domainName | String | Optional. Domain name associated with this dataset. See [Domain separation and Predictive Intelligence](https://www.servicenow.com/docs/access?context=domain-separation-predictive-intelligence&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). Default: Current domain, for example, `"global"`. |
| config.label | String | Identifies the prediction task. |
| config.lookupDataset | Object | Name of the [DatasetDefinition](https://servicenow-prod.fluidtopics.net/5PRN6njd2wF_we1ri_egPw#DatasetDefinitionAPI "The DatasetDefinition API provides methods to identify a set of records including a table name, columns, and row selection criteria to use as input for ML training algorithms. Datasets don't contain the actual data.") to use as the lookup set. |
| config.minRowCount | String | Optional. Minimum number of records required in the dataset for training. Default: 10000 |
| config.processingLanguage | String | Optional. Processing language in two-letter ISO 639-1 language code format. Default: "en" |
| config.stopwords | Array | Optional. Preset list of strings that the system automatically generates based on the language property setting. For details, see [Create a custom stopwords list](https://www.servicenow.com/docs/access?context=create-custom-stopwords-list&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). Default: English Stopwords |
| config.testDataset | Object | Name of the [DatasetDefinition](https://servicenow-prod.fluidtopics.net/5PRN6njd2wF_we1ri_egPw#DatasetDefinitionAPI "The DatasetDefinition API provides methods to identify a set of records including a table name, columns, and row selection criteria to use as input for ML training algorithms. Datasets don't contain the actual data.") to scan for similarities with lookupDataset results. |
| config.trainingFrequency | String | Optional. The frequency to retrain the model. Possible values: * every_30_days * every_60_days * every_90_days * every_120_days * every_180_days * run_once {#SimilaritySol-SimilaritySolution_O__ul_pmw_523_plb}Default: run_once |
| config.updateFrequency |   | The frequency at which the model for the solution definition must be rebuilt. Possible values: * do_not_update * every_1_day * every_1_hour * every_6_hours * every_12_hours * every_1_minute * every_15_minutes * every_30_minutes {#SimilaritySol-SimilaritySolution_O__ul_kjm_2jh_3mb}Default: do_not_update |
[Table 1. Parameters]

{#SimilaritySol-SimilaritySolution_O__table_gm2_yt5_flb}  
The following example shows how to create an object and add it to the SimilaritySolution store.

    var incidentData = new sn_ml.DatasetDefinition({
            'tableName' : 'incident',
            'fieldNames' : ['category', 'short_description']        
        });
        var kbData = new sn_ml.DatasetDefinition({
            'tableName' : 'kb_knowledge',
            'fieldNames' : ['short_description'],
            'encodedQuery' : 'active=true'
        });

        var mySolution = new sn_ml.SimilaritySolution({
            'label': "similarity solution",
            'lookupDataset' : kbData,
            'testDataset' : incidentData,              
        });
        
        // add solution
        var solutionName = sn_ml.SimilaritySolutionStore.add(mySolution);

## SimilaritySolution - cancelTrainingJob() {#ariaid-title3}

Cancels a job for a solution object that has been submitted for training.
{#SimilaritySol-cancelTrainingJob__table_bpb_k3z_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 2. Parameters]

{#SimilaritySol-cancelTrainingJob__table_bpb_k3z_llb} {#SimilaritySol-cancelTrainingJob__table_cpb_k3z_llb__entry__2}

| Type | Description |
|-|-|
| None |   |
[Table 3. Returns]

{#SimilaritySol-cancelTrainingJob__table_cpb_k3z_llb}  
The following example shows how to cancel an existing
training job.

    var mySolution = sn_ml.SimilaritySolutionStore.get('ml_sn_global_global_similarity');

    mySolution.cancelTrainingJob();

## SimilaritySolution - getActiveVersion() {#ariaid-title4}

Gets the active
SimilaritySolutionVersion object.
{#SimilaritySol-getActiveVersion__table_tvl_m3z_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 4. Parameters]

{#SimilaritySol-getActiveVersion__table_tvl_m3z_llb} {#SimilaritySol-getActiveVersion__table_uvl_m3z_llb__entry__2}

| Type | Description |
|-|-|
| Object | Active [SimilaritySolutionVersion](https://servicenow-prod.fluidtopics.net/iNbWnnG~evPsIuyCPaWDLQ#SimilaritySolutionVersionAPI "The SimilaritySolutionVersion API is a scriptable object used in Predictive Intelligence stores.") object. |
[Table 5. Returns]

{#SimilaritySol-getActiveVersion__table_uvl_m3z_llb}  
The following example shows how to get an active
SimilaritySolution
version from the store and return its training status.

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_x_snc_global_global_similarity');

    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));

Output:

    {
      "state": "solution_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

## SimilaritySolution - getAllVersions() {#ariaid-title5}

Gets all versions of a SimilaritySolution object.
{#SimilaritySol-getAllVersions__table_tvl_m3z_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 6. Parameters]

{#SimilaritySol-getAllVersions__table_tvl_m3z_llb} {#SimilaritySol-getAllVersions__table_uvl_m3z_llb__entry__2}

| Type | Description |
|-|-|
| Array | Existing versions of a solution object. See also [SimilaritySolutionVersion](https://servicenow-prod.fluidtopics.net/iNbWnnG~evPsIuyCPaWDLQ#SimilaritySolutionVersionAPI "The SimilaritySolutionVersion API is a scriptable object used in Predictive Intelligence stores.") API. |
[Table 7. Returns]

{#SimilaritySol-getAllVersions__table_uvl_m3z_llb}  
The following example shows how to get all SimilaritySolution
version objects and call the getVersionNumber() and
getStatus() solution version methods on them.

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_x_snc_global_global_Similarity');

    var mlSolutionVersions = mlSolution.getAllVersions();

    for (i = 0; i < mlSolutionVersions.length; i++) {
    gs.print("Version " + mlSolutionVersions[i].getVersionNumber() + " Status: " + mlSolutionVersions[i].getStatus() +"\n");

Output:

    Version 3 Status: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}

    Version 2 Status: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}

    Version 1 Status: {"state":"solution_cancelled","percentComplete":"0","hasJobEnded":"true"}

## SimilaritySolution - getLatestVersion() {#ariaid-title6}

Gets the latest version of a solution.
{#SimilaritySol-getLatestVersion__table_tvl_m3z_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 8. Parameters]

{#SimilaritySol-getLatestVersion__table_tvl_m3z_llb} {#SimilaritySol-getLatestVersion__table_uvl_m3z_llb__entry__2}

| Type | Description |
|-|-|
| Object | [SimilaritySolutionVersion](https://servicenow-prod.fluidtopics.net/iNbWnnG~evPsIuyCPaWDLQ#SimilaritySolutionVersionAPI "The SimilaritySolutionVersion API is a scriptable object used in Predictive Intelligence stores.") object corresponding to the latest version of a [SimilaritySolution](https://servicenow-prod.fluidtopics.net/xZSZcyb_NF4dd4dPmDXO3w#SimilaritySol-SimilaritySolution_O "Creates a similarity solution."). |
[Table 9. Returns]

{#SimilaritySol-getLatestVersion__table_uvl_m3z_llb}  
The following example shows how to get the latest version of a solution
and return its training status.{#SimilaritySol-getLatestVersion__mlsol-getLatestVersion-example}

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_x_snc_global_global_Similarity');

    gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus()), null, 2));

Output:

    {
      "state": "solution_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

## SimilaritySolution - getName() {#ariaid-title7}

Gets the name of the object to use for interaction with the store.
{#SimilaritySol-getName__table_pps_43z_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 10. Parameters]

{#SimilaritySol-getName__table_pps_43z_llb} {#SimilaritySol-getName__table_qps_43z_llb__entry__2}

| Type | Description |
|-|-|
| String | Name of the solution object. |
[Table 11. Returns]

{#SimilaritySol-getName__table_qps_43z_llb}  
The following example shows how to update
SimilaritySolution
dataset information and print the name of the object.

    // Update solution
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });

    var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('Similarity'));

    var mySimilarity = new sn_ml.SimilaritySolution({
       'label': "my Similarity solution",
       'dataset' : myIncidentData,
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });

    // update solution
    sn_ml.SimilaritySolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', mySimilarity);

    // print solution name
    gs.print('Solution Name: '+mySimilarity.getName());

Output:

    Solution Name: ml_x_snc_global_global_my_solution_definition_4

## SimilaritySolution - getProperties() {#ariaid-title8}

Gets solution object properties.
{#SimilaritySol-getProperties__table_pps_43z_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 12. Parameters]

{#SimilaritySol-getProperties__table_pps_43z_llb} {#SimilaritySol-getProperties__table_qps_43z_llb__entry__2}

| Type | Description |
|-|-|
| Object | Contents of the Dataset and [SimilaritySolution()](https://servicenow-prod.fluidtopics.net/xZSZcyb_NF4dd4dPmDXO3w#SimilaritySol-SimilaritySolution_O "Creates a similarity solution.") object details in the [SimilaritySolutionStore](https://servicenow-prod.fluidtopics.net/d3qWYcN~SvSrt0UtaDFouQ#SimilaritySolutionStoreAPI "Enables storing and retrieving solutions."). { "domainName": "String", "label": "String", "lookupDatasetProperties": {Object}, "name": "String", "processingLanguage": "String", "scope": "String", "stopwords": [Array], "testDatasetProperties": {Object}, "trainingFrequency": "String", "updateFrequency": "String" } |
| \<Object\>.domainName | Domain name associated with this dataset. See [Domain separation and Predictive Intelligence](https://www.servicenow.com/docs/access?context=domain-separation-predictive-intelligence&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). Data type: String. |
| \<Object\>.label | Identifies the prediction task. { "label": "my first prediction" } Data type: String. |
| \<Object\>.lookupDatasetProperties | Details of the [DatasetDefinition()](https://servicenow-prod.fluidtopics.net/5PRN6njd2wF_we1ri_egPw#DDef-DatasetDefinition_O "Creates an instance of the DatasetDefinition class, enabling you to define a dataset by table name, fields, and query.") object used as the lookup set. { "encodedQuery": "String", "fieldDetails": [Array], "fieldNames": [Array], "tableName": "String" } Data type: Object. |
| \<Object\>.lookupDatasetProperties.tableName | Name of the table for the dataset. For example, `"tableName" : "Incident"`. Data type: String. |
| \<Object\>.lookupDatasetProperties.fieldNames | List of field names from the specified table as strings. For example, `"fieldNames" : ["short_description", "priority"]`. Data type: Array. |
| \<Object\>.lookupDatasetProperties.fieldNames.fieldDetails | List of JavaScript objects that specify field properties. [ { "name": "String", "type": "String" } ] Data type: Array. |
| \<Object\>.lookupDatasetProperties.fieldNames.fieldDetails.\<object\>.name | Name of the field defining the type of information to restrict this dataset to. Data type: String. |
| \<Object\>.lookupDatasetProperties.fieldDetails.\<object\>.type | Machine-learning field type. Data type: String. |
| \<Object\>.lookupDatasetProperties.fieldDetails.encodedQuery | Encoded query string in standard Glide format. See [Encoded query strings](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US). Data type: String. |
| \<Object\>.name | System-assigned name. Data type: String. |
| \<Object\>.processingLanguage | Processing language in two-letter ISO 639-1 language code format. Data type: String. |
| \<Object\>.scope | Object scope. Currently the only valid value is `global`. Data type: String |
| \<Object\>.stopwords | Optional. Preset list of strings that the system automatically generates based on the language property setting. For details, see [Create a custom stopwords list](https://www.servicenow.com/docs/access?context=create-custom-stopwords-list&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US). Data type: Array. |
| \<Object\>.testDatasetProperties | Details of the [DatasetDefinition()](https://servicenow-prod.fluidtopics.net/5PRN6njd2wF_we1ri_egPw#DDef-DatasetDefinition_O "Creates an instance of the DatasetDefinition class, enabling you to define a dataset by table name, fields, and query.") object used to retrieve similarities between results searched in this model and results found in the lookupDataset. { "encodedQuery": "String", "fieldDetails": [Array], "fieldNames": [Array], "tableName": "String" } Data type: Object. |
| \<Object\>.testDatasetProperties.tableName | Name of the table for the dataset. For example, `"tableName" : "Incident"`. Data type: String. |
| \<Object\>.testDatasetProperties.fieldNames | List of field names from the specified table as strings. For example, `"fieldNames" : ["short_description", "priority"]`. Data type: Array. |
| \<Object\>.testDatasetProperties.fieldNames.fieldDetails | List of JavaScript objects that specify field properties. [ { "name": "String", "type": "String" } ] Data type: Array. |
| \<Object\>.testDatasetProperties.fieldNames.fieldDetails.\<object\>.name | Name of the field defining the type of information to restrict this dataset to. Data type: String. |
| \<Object\>.testDatasetProperties.fieldDetails.\<object\>.type | Machine-learning field type. Data type: String. |
| \<Object\>.testDatasetProperties.fieldDetails.encodedQuery | Encoded query string in standard Glide format. See [Encoded query strings](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US). Data type: String. |
| \<Object\>.trainingFrequency | The frequency to retrain the model. Possible values: * every_30_days * every_60_days * every_90_days * every_120_days * every_180_days * run_once {#SimilaritySol-getProperties__ul_pmw_523_plb}Default: run_once Data type: String. |
| \<Object\>.updateFrequency | The frequency at which the model for the solution definition must be rebuilt. Possible values: * do_not_update * every_1_day * every_1_hour * every_6_hours * every_12_hours * every_1_minute * every_15_minutes * every_30_minutes {#SimilaritySol-getProperties__ul_kjm_2jh_3mb}Default: do_not_update Datatype: String |
[Table 13. Returns]

{#SimilaritySol-getProperties__table_qps_43z_llb}  
The following example gets properties of a solution object in the store.{#SimilaritySol-getProperties__mlsol-getProps-example-other2}

    var mySolution = sn_ml.SimilaritySolutionStore.get('ml_sn_global_global_similarity_solution');

    gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));

Output:

    *** Script: {
      "domainName": "global",
      "label": "similarity",
      "lookupDatasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "short_description"
        ]
      },
      "name": "ml_x_snc_global_global_similarity",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "testDatasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "short_description"
        ]
      },
      "trainingFrequency": "every_30_days",
      "updateFrequency": "do_not_update"
    }

## SimilaritySolution - getVersion(String version) {#ariaid-title9}

Gets a solution by provided version number.
{#SimilaritySol-getVersion_S__table_pps_43z_llb__entry__3}{#SimilaritySol-getVersion_S__mlsol-gerversion-returns-other}

| Name | Type | Description |
|-|-|-|
| version | String | Existing version number of a solution. |
[Table 14. Parameters]

{#SimilaritySol-getVersion_S__table_pps_43z_llb} {#SimilaritySol-getVersion_S__table_qps_43z_llb__entry__2}

| Type | Description |
|-|-|
| Object | Specified version of the [SimilaritySolution()](https://servicenow-prod.fluidtopics.net/xZSZcyb_NF4dd4dPmDXO3w#SimilaritySol-SimilaritySolution_O "Creates a similarity solution.") object on which you can call [SimilaritySolutionVersion](https://servicenow-prod.fluidtopics.net/iNbWnnG~evPsIuyCPaWDLQ#SimilaritySolutionVersionAPI "The SimilaritySolutionVersion API is a scriptable object used in Predictive Intelligence stores.") API methods. |
[Table 15. Returns]

{#SimilaritySol-getVersion_S__table_qps_43z_llb}  
The following example shows how to get the training status of a solution
by version number.{#SimilaritySol-getVersion_S__mlsol-gerversion-example-other}

    var mlSolution = sn_ml.SimilaritySolutionStore.get('ml_x_snc_global_global_similarity');

    gs.print(JSON.stringify(JSON.parse(mlSolution.getVersion('1').getStatus()), null, 2));

Output:

    {
      "state": "solution_complete",
      "percentComplete": "100",
      "hasJobEnded": "true"
    }

## SimilaritySolution - setActiveVersion(String version) {#ariaid-title10}

Activates a specified version of a solution in the store.
{#SimilaritySol-setActiveVersion_S__table_pps_43z_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| version | String | Name of the [SimilaritySolution()](https://servicenow-prod.fluidtopics.net/xZSZcyb_NF4dd4dPmDXO3w#SimilaritySol-SimilaritySolution_O "Creates a similarity solution.") object version to activate. Activating this version deactivates any other version. |
[Table 16. Parameters]

{#SimilaritySol-setActiveVersion_S__table_pps_43z_llb} {#SimilaritySol-setActiveVersion_S__table_qps_43z_llb__entry__2}

| Type | Description |
|-|-|
| None |   |
[Table 17. Returns]

{#SimilaritySol-setActiveVersion_S__table_qps_43z_llb}  
The following example shows how to activate a solution version in the store.{#SimilaritySol-setActiveVersion_S__mlsol-setActive-example2}

    sn_ml.SimilaritySolution.setActiveVersion("ml_x_snc_global_similarity_solution");

## SimilaritySolution - submitTrainingJob() {#ariaid-title11}

Submits a training job.
Note:  
Before running this method, you must first add a solution to the store using the [SimilaritySolutionStore - add()](https://servicenow-prod.fluidtopics.net/d3qWYcN~SvSrt0UtaDFouQ#SimilarityStore-add_O "Adds a new solution object to the store and returns a unique name.") method.
{#SimilaritySol-submitTrainingJob__table_xmd_33z_llb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 18. Parameters]

{#SimilaritySol-submitTrainingJob__table_xmd_33z_llb} {#SimilaritySol-submitTrainingJob__table_ymd_33z_llb__entry__2}

| Type | Description |
|-|-|
| Object | [SimilaritySolutionVersion](https://servicenow-prod.fluidtopics.net/iNbWnnG~evPsIuyCPaWDLQ#SimilaritySolutionVersionAPI "The SimilaritySolutionVersion API is a scriptable object used in Predictive Intelligence stores.") object corresponding to the [SimilaritySolution](https://servicenow-prod.fluidtopics.net/xZSZcyb_NF4dd4dPmDXO3w#SimilaritySol-SimilaritySolution_O "Creates a similarity solution.") being trained. |
[Table 19. Returns]

{#SimilaritySol-submitTrainingJob__table_ymd_33z_llb}  

    // Create a dataset 
    var incidentData = new sn_ml.DatasetDefinition({
        'tableName' : 'incident',
        'fieldNames' : ['category', 'short_description']
    });

    var kbData = new sn_ml.DatasetDefinition({
        'tableName' : 'kb_knowledge',
        'fieldNames' : ['short_description'],
        'encodedQuery' : 'active=true'
    });

    // Create a solution 
    var encoder = sn_ml.EncoderStore.get('GloVe');
    var mySolution = new sn_ml.SimilaritySolution({
        'label': "similarity solution",
        'lookupDataset' : kbData,
        'testDataset' : incidentData,
        'encoder' : encoder,
    });

    // Add solution
    var solutionName = sn_ml.SimilaritySolutionStore.add(mySolution);


    // Train the solution - this is a long running job 
    var mySimilarityVersion = mySolution.submitTrainingJob();


