Managing Fields

Managing Fields

📘

API Docs

Detailed technical documentation is available here - Managing Fields API Documentation

Field API Methods

Create a Field

This API allows you to create a field in the Hawksearch dashboard and manage the field configurations.

Example use case: Create a Brand field that can be used as a facet filter.

Request

EndpointMethodHeader Key
api/v11/FieldPOSTX-HawkSearch-ApiKey: {API key}

REST reference: Create field

Parameters

The request body is a Field Object. See Field Object section.

Examples

{
    "FieldId": 0,
    "SyncGuid": "00000000-0000-0000-0000-000000000000",
    "Name": "brand",
    "FieldType": "facet",
    "Label": "Brand",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 0,
    "PartialQuery": "",
    "IsKeywordText": true,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": "",
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "02-04-2021",
    "ModifyDate": "02-04-2021"
}

Response

The response is a Field Object, a series of key-value pairs. See Field Object section.

Examples

{
    "FieldId": 479976,
    "SyncGuid": "1a0db291-d004-4cfa-a894-1ac8cadbe110",
    "Name": "Brand",
    "FieldType": "facet",
    "Label": "brand",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 11,
    "PartialQuery": "",
    "IsKeywordText": false,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": null,
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "03-08-2021",
    "ModifyDate": "03-08-2021",
    "IsPrependBaseUrl": true
}

Best Practices

REST URL: Create field

Method: POST

Authentication: Basic (Engine API Key)

  1. When creating a new field, you need to make sure that the following attributes are always sent in the request payload, otherwise the request would be invalid:

    {
        "Name": "age",
        "FieldType": "keyword",
        "Type": "String",
        "Label": "Age",
        "Boost": 1,
        "IsPrimaryKey": false,
        "IsOutput": false,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": false,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "IsKeywordText": false,
        "IsQuery": false,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false
    }
    

  2. Please make sure that the field 'Name' is unique and a field with the same name does not exist already. You can first get a list of all fields using '/api/v11/FieldInfo' or get this particular field information using field name 'api/v11/Field?fieldName={fieldName}' before creating a new field.

  3. The 'FieldType' can only have one of the 4 possible values:

    • facet
    • keyword
    • unindexed
    • text
  4. Multiple fields can have the same 'Label' value as long as the Name is unique.

  5. Boost has to be set to 1 when IsQuery=false.

  6. IsPrimaryKey should always be set to 'false' unless you want to mark that field as a Primary Key. Note that only one field can be a Primary Key and it is suggested to NOT change it often as it might have a negative impact on site functionality. Please contact Hawksearch if you would like to change the Primary Key.

  7. IsOutput should be set to 'true' only if you need the field value in the search response. Please always set it to 'false' if not in use.

  8. IsShingle corresponds to "Add phrases to 'Did you Mean'?" under the field settings on the dashboard. It has to be set to false when IsQuery=false.

  9. If IsQuery=true, then IsShingle can be set to true only for "Type": "string". You cannot use it for types 'Numeric' or 'Boolean'.

  10. If IsQuery=true, then IsShingle can be set to true only for "FieldType": "facet", "keyword" and "keywordtext". You cannot use it for field types 'unindexed' or 'text'.

    • {keyword, "Field values indexed 'as is' AND are stemmed"} >> "IsKeywordText will be set to 1"
    • {keyword, "Field values are NOT stemmed"} >> "IsKeywordText will be set to 0"
    • {text, "Field values are ONLY stemmed (search only)"}
    • {unindexed, "Stored only, not used for search nor facets"}
    • {facet, "Field values are NOT stemmed"} >> The field type value changes to 'facet' from 'keyword' if you set up this field as a facet. For fields that will be used as a facet, please set up field type as 'facet'.
  11. Iterations can be skipped from the request, but if IsQuery=true and IsShingle=true then we need to set the Iterations value by default to 1.

  12. Type is the datatype of the field. One of the 3 possible values is String, Single, Boolean. If you set a field as IsQuery=true and IsShingle=true then you need to always pass the Type information in the request, as IsShingle cannot be used for types 'Numeric' or 'Boolean'.

  13. SortOrder field is optional and can be passed if you would like to maintain a specific order for all the field values. The value should always be numeric.

Update a Field

This API allows you to update a field in the Hawksearch dashboard and manage the field configurations.

Example use case: Update the label of a Brand field.

Request

EndpointMethodHeader Key
api/v11/Field/{FieldId}PUTX-HawkSearch-ApiKey: {API key}

REST reference: Update field by id

Parameters

The request body is a Field Object. See Field Object section.

Examples

{
    "FieldId": 479976,
    "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
    "Name": "brand",
    "FieldType": "facet",
    "Label": "Brand New Label",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 0,
    "PartialQuery": "",
    "IsKeywordText": true,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": "",
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "02-04-2021",
    "ModifyDate": "02-04-2021",
    "IsPrependBaseUrl": true
}

Response

The response is a Field Object, a series of key-value pairs. See Field Object section.

Examples

{
    "FieldId": 479976,
    "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
    "Name": "Brand",
    "FieldType": "facet",
    "Label": "Brand New Label",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 10,
    "PartialQuery": "",
    "IsKeywordText": false,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": null,
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "03-08-2021",
    "ModifyDate": "03-08-2021",
    "IsPrependBaseUrl": true
}

Get Field Information

This API allows you to get a field configuration stored in the Hawksearch Dashboard.

Example use case: Get the field information of a Brand field.

Request

EndpointMethodHeader Key
api/v11/Field?fieldName={fieldName}GETX-HawkSearch-ApiKey: {API key}

Examples

GET /api/v11/Field/?fieldName=brand HTTP/1.1
Host: dashboard-na.hawksearch.com
X-HawkSearch-ApiKey: USE_YOUR_API_KEY
Cache-Control: no-cache
Postman-Token: cd457184-4c00-a650-62f2-530f22a9a384

Response

The response is a Field Object, a series of key-value pairs. See Field Object section.

Examples

{
    "FieldId": 479976,
    "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
    "Name": "Brand",
    "FieldType": "facet",
    "Label": "Brand",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 10,
    "PartialQuery": "",
    "IsKeywordText": false,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": null,
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "03-08-2021",
    "ModifyDate": "03-08-2021",
    "IsPrependBaseUrl": true
}

Get Field ID / Name Information

This API allows you to get a list of all fields (FieldId and Name) stored in the Hawksearch Dashboard.

Example use case: Get all fields information.

Request

EndpointMethodHeader Key
api/v11/FieldInfoGETX-HawkSearch-ApiKey: {API key}

REST reference: Get field info

Response

The response is an array of Field Info Objects, each a series of key-value pairs. See Field Info Object section.

Examples

[
    {
        "FieldId": 12345,
        "Name": "agegroup"
    },
    {
        "FieldId": 412587,
        "Name": "color"
    },
    {
        "FieldId": 741258,
        "Name": "brand"
    },
    {
        "FieldId": 745896,
        "Name": "name"
    }
]

Field Info for a specific field

REST reference: Get field info by id

Returns the Field with a particular Id.

Parameters:

  • id: Unique Id of the Field (FromUri)

Get All Fields

This API allows you to get the field configuration for all fields stored in the Hawksearch Dashboard.

Example use case: Get the field information of all fields.

Request

EndpointMethodHeader Key
api/v11/FieldGETX-HawkSearch-ApiKey: {API key}

REST reference: Get fields

Response

The response is an array of Field Objects, each a series of key-value pairs. See Field Object section.

Examples

[
    {
        "FieldId": 408,
        "SyncGuid": "90928773-2586-4c5f-b2b6-09fcdd9aabed",
        "Name": "price",
        "FieldType": "facet",
        "Label": "Price",
        "Type": "Single",
        "Boost": 1,
        "FacetHandler": 0,
        "IsPrimaryKey": false,
        "IsOutput": true,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": true,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "SortOrder": 6,
        "PartialQuery": "",
        "IsKeywordText": true,
        "IsQuery": false,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false,
        "MinNGramAnalyzer": 2,
        "MaxNGramAnalyzer": 15,
        "CoordinateType": 0,
        "OmitNorms": false,
        "ItemMapping": "Price",
        "DefaultValue": "",
        "UseForPrediction": false,
        "CopyTo": "",
        "Analyzer": "",
        "DoNotStore": false,
        "Tags": "",
        "Iterations": [
            1
        ],
        "AnalyzerLanguage": null,
        "PreviewMapping": "Price",
        "OmitTfAndPos": false,
        "CreateDate": "02-05-2021",
        "ModifyDate": "02-05-2021"
    },
    {
        "FieldId": 48,
        "SyncGuid": "af586ac2-6fb3-4446-84f8-23df916d6e0c",
        "Name": "name",
        "FieldType": "keyword",
        "Label": "Product name",
        "Type": "String",
        "Boost": 1,
        "FacetHandler": 0,
        "IsPrimaryKey": false,
        "IsOutput": true,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": false,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "SortOrder": 7,
        "PartialQuery": "",
        "IsKeywordText": true,
        "IsQuery": true,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false,
        "MinNGramAnalyzer": 2,
        "MaxNGramAnalyzer": 15,
        "CoordinateType": 0,
        "OmitNorms": false,
        "ItemMapping": "ItemName",
        "DefaultValue": "",
        "UseForPrediction": false,
        "CopyTo": "",
        "Analyzer": "",
        "DoNotStore": false,
        "Tags": "",
        "Iterations": [
            1
        ],
        "AnalyzerLanguage": null,
        "PreviewMapping": "Title",
        "OmitTfAndPos": false,
        "CreateDate": "02-05-2021",
        "ModifyDate": "02-26-2021"
    },
    {
        "FieldId": 479977,
        "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
        "Name": "Brand",
        "FieldType": "facet",
        "Label": "Brand",
        "Type": "String",
        "Boost": 1,
        "FacetHandler": 0,
        "IsPrimaryKey": false,
        "IsOutput": true,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": false,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "SortOrder": 10,
        "PartialQuery": "",
        "IsKeywordText": false,
        "IsQuery": false,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false,
        "MinNGramAnalyzer": 2,
        "MaxNGramAnalyzer": 15,
        "CoordinateType": 0,
        "OmitNorms": false,
        "ItemMapping": "",
        "DefaultValue": "",
        "UseForPrediction": false,
        "CopyTo": "",
        "Analyzer": "",
        "DoNotStore": false,
        "Tags": "",
        "Iterations": [
            1
        ],
        "AnalyzerLanguage": null,
        "PreviewMapping": null,
        "OmitTfAndPos": false,
        "CreateDate": "03-08-2021",
        "ModifyDate": "03-08-2021"
    }
]

Delete a Field

This API allows you to delete a field from the Hawksearch dashboard Fields section.

Example use case: Delete a Brand field.

Request

Pass the FieldId of the field you want to delete in the API request.

EndpointMethodHeader Key
api/v11/Field/{FieldId}DELETEX-HawkSearch-ApiKey: {API key}

REST reference: Delete field by id

Response

The response is the deleted Field Object, a series of key-value pairs. See Field Object section.

Examples

{
    "FieldId": 479976,
    "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
    "Name": "Brand",
    "FieldType": "facet",
    "Label": "Brand",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 10,
    "PartialQuery": "",
    "IsKeywordText": false,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": null,
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "03-08-2021",
    "ModifyDate": "03-08-2021"
}

Objects

Field Object

The Field Object is returned in the Create, Update, Get Field Information, Get All Fields, and Delete a Field methods. Each field object is a series of key-value pairs.

Description

NoKeyDescriptionValue Type
1FieldIdThe unique identifier of the field (unique across the whole system)Number
2SyncGuidInternal fieldGUID
3NameName unique to an engine (can be the same for one or more engines)lowercase alphanumeric string with underscores allowed
4FieldTypeOne of the below field configuration options:

Field Values are NOT stemmed - keyword or facet (facet if there is a corresponding facet else keyword)
Field values are ONLY stemmed (search only) - text
Field Values indexed “as is” AND are stemmed - keyword or facet (facet if there is a corresponding facet else keyword)
Stored only, not used for search or facets - unindexed
Valid options:
facet
keyword
unindexed
text
5LabelDisplay name of the fieldAlphanumeric string
6TypeDatatype of the fieldValid options:
String, Single, Boolean, Datetime, OR GeoPoint
7BoostBoost value set on the fieldNumber between 1 and 200, inclusive
8FacetHandlerInternal handler associated with the fieldAlphanumeric
9IsPrimaryKeyFlag to set as primary fieldBoolean
10IsOutputFlag to control presence in responseBoolean
11IsShingleCorresponds to Add phrases to "Did you Mean"? under the field settings on the dashboardBoolean
12IsBestFragmentFlag controls creating synopses for large textual contentBoolean
13IsDictionaryFlag to include field for autocorrect suggestionsBoolean
14IsSortFlag to allow sorting on search results pageBoolean
15IsPrefixFlag to indicate if the field is a prefix type. (This is obsolete, please set PartialQuery property to partial instead)Boolean
16IsHiddenFlag to control query builder configuration for the fieldBoolean
17IsCompareFlag to manage comparison displayBoolean
18SortOrderSort order of the fieldNumeric
19PartialQueryQuery type for the fieldNone, Prefix or Wildcard
20IsKeywordTextIndicates that the field values indexed ""as is"" AND are stemmedBoolean
21IsQueryFlag to allow querying on the fieldBoolean
22IsQueryTextFlag to show query text valueBoolean
23SkipCustomFlag to control display in custom groupBoolean
24StripHtmlFlag to remove html contentBoolean
25MinNGramAnalyzerMinimum value for ngram analyzer (for queryable fields)Numeric, 2 to 15 inclusive
26MaxNGramAnalyzerMaximum value for ngram analyzer (for queryable fields)Numeric, 2 to 15 inclusive
27CoordinateTypeUsed for latitude and longitudeAlphanumeric
28OmitNormsFlag to enable/disable smaller document to score higherBoolean
29ItemMappingField mapping valueFieldname
30DefaultValueValue to show when emptyAlphanumeric
31UseForPredictionFlag to indicate that field is used in RecsBoolean
32CopyToList of fields to copy values into (redundancy)List of alphanumeric fieldnames
33AnalyzerCorresponds to the drop down list of Analyzers to be chosenAlphanumeric
34DoNotStoreFlag to control storage (helps to increase performance by reducing index size)Boolean
35TagsEngine-wide labels (available across complete dashboard)Comma separated alphanumeric string
36IterationsQuery iterationsArray of numeric values
37AnalyzerLanguageNatural language choice for query analyzerAlphanumeric
38PreviewMappingAvailable for API indexing enabled enginesFieldname
39OmitTfAndPosFlag to omit term frequencyBoolean
40CreateDateField creation dateDate string in MM-DD-YYYY format
41ModifyDateField modification dateDate string in MM-DD-YYYY format
42IsHierarchicalFlag if a field is hierarchicalBoolean
43IsPrependBaseUrlFlag if a field stores relative url Boolean

Field Info Object

The Field Info Object is returned in the Get Field ID / Name Information method. It is a lightweight representation of a field containing only its identifier and name.

Description

NoKeyDescriptionValue Type
1FieldIdThe unique identifier of the field (unique across the whole system)Number
2NameName unique to an engine (can be the same for one or more engines)lowercase alphanumeric string with underscores allowed

Boolean Value Configuration Restriction

Previously, it was possible to configure a Boolean value with the "Field values indexed 'as is' AND are stemmed" field type. However, this setup is not suitable for a Boolean value and could cause indexing inefficiencies or errors. Since the Hermes release, this configuration is no longer available, ensuring Boolean fields are only assigned compatible field types.

Affected Endpoints

  1. Single Field Creation: /api/v11/Field
  2. Bulk Field Creation: /api/v11/Field/bulk

Disallowed Combination

  • "Type": "Boolean"
  • "IsKeywordText": "true"

Brand field that can be used as a facet filter.

Request: POST request to the API below:

Get fields API Documentation

{
    "FieldId": 0,
    "SyncGuid": "00000000-0000-0000-0000-000000000000",
    "Name": "brand",
    "FieldType": "facet",
    "Label": "Brand",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 0,
    "PartialQuery": "",
    "IsKeywordText": true,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": "",
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "02-04-2021",
    "ModifyDate": "02-04-2021"
}

Response: The response is an array of field objects, every field object being a series of key-value pairs. Description of the data is as follows:

NoKeyDescriptionValue Type
1FieldIdThe unique identifier of the field (unique across the whole system)Number
2SyncGuidInternal fieldGUID
3NameName unique to an engine (can be the same for one or more engines)lowercase alphanumeric string with underscores allowed
4FieldTypeOne of the below field configuration options:

Field Values are NOT stemmed - keyword or facet (facet if there is a corresponding facet else keyword)
Field values are ONLY stemmed (search only) - text
Field Values indexed “as is” AND are stemmed - keyword or facet (facet if there is a corresponding facet else keyword)
Stored only, not used for search or facets - unindexed
Valid options:
facet
keyword
unindexed
text
5LabelDisplay name of the fieldAlphanumeric string
6TypeDatatype of the fieldValid options:
String, Single, Boolean, Datetime, OR GeoPoint
7BoostBoost value set on the fieldNumber between 1 and 200, inclusive
8FacetHandlerInternal handler associated with the fieldAlphanumeric
9IsPrimaryKeyFlag to set as primary fieldBoolean
10IsOutputFlag to control presence in responseBoolean
11IsShingleCorresponds to Add phrases to "Did you Mean"? under the field settings on the dashboardBoolean
12IsBestFragmentFlag controls creating synopses for large textual contentBoolean
13IsDictionaryFlag to include field for autocorrect suggestionsBoolean
14IsSortFlag to allow sorting on search results pageBoolean
15IsPrefixFlag to indicate if the field is a prefix type. (This is obsolete, please set PartialQuery property to partial instead)Boolean
16IsHiddenFlag to control query builder configuration for the fieldBoolean
17IsCompareFlag to manage comparison displayBoolean
18SortOrderSort order of the fieldNumeric
19PartialQueryQuery type for the fieldNone, Prefix or Wildcard
20IsKeywordTextIndicates that the field values indexed ""as is"" AND are stemmedBoolean
21IsQueryFlag to allow querying on the fieldBoolean
22IsQueryTextFlag to show query text valueBoolean
23SkipCustomFlag to control display in custom groupBoolean
24StripHtmlFlag to remove html contentBoolean
25MinNGramAnalyzerMinimum value for ngram analyzer (for queryable fields)Numeric, 2 to 15 inclusive
26MaxNGramAnalyzerMaximum value for ngram analyzer (for queryable fields)Numeric, 2 to 15 inclusive
27CoordinateTypeUsed for latitude and longitudeAlphanumeric
28OmitNormsFlag to enable/disable smaller document to score higherBoolean
29ItemMappingField mapping valueFieldname
30DefaultValueValue to show when emptyAlphanumeric
31UseForPredictionFlag to indicate that field is used in RecsBoolean
32CopyToList of fields to copy values into (redundancy)List of alphanumeric fieldnames
33AnalyzerCorresponds to the drop down list of Analyzers to be chosenAlphanumeric
34DoNotStoreFlag to control storage (helps to increase performance by reducing index size)Boolean
35TagsEngine-wide labels (available across complete dashboard)Comma separated alphanumeric string
36IterationsQuery iterationsArray of numeric values
37AnalyzerLanguageNatural language choice for query analyzerAlphanumeric
38PreviewMappingAvailable for API indexing enabled enginesFieldname
39OmitTfAndPosFlag to omit term frequencyBoolean
40CreateDateField creation dateDate string in MM-DD-YYYY format
41ModifyDateField modification dateDate string in MM-DD-YYYY format
42IsHierarchicalFlag if a field is hierarchicalBoolean
43IsPrependBaseUrlFlag if a field stores relative url Boolean
{
    "FieldId": 479976,
    "SyncGuid": "1a0db291-d004-4cfa-a894-1ac8cadbe110",
    "Name": "Brand",
    "FieldType": "facet",
    "Label": "brand",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 11,
    "PartialQuery": "",
    "IsKeywordText": false,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": null,
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "03-08-2021",
    "ModifyDate": "03-08-2021",
    "IsPrependBaseUrl": true
}

Best Practices

REST URL: Get fields

Method: POST

Authentication: Basic (Engine API Key)

  1. When creating a new field, you need to make sure that the following attributes are always sent in the request payload otherwise the request would be invalid.
  {
        "Name": "age",
        "FieldType": "keyword",
        "Type": "String",
        "Label": "Age",
        "Boost": 1,
        "IsPrimaryKey": false,
        "IsOutput": false,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": false,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "IsKeywordText": false,
        "IsQuery": false,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false
    }

  1. Please make sure that the field ‘Name’ is unique and a field with the same name does not exist already. You can first get a list of all fields using ‘/api/v11/FieldInfo’ or get this particular field information using field name 'api/v11/Field?fieldName={fieldName}' before creating a new field

  1. The ‘Fieldtype’ can only have one of the 4 possible values (refer to Best Practices section below):
  • facet
  • keyword
  • unindexed
  • text
  1. Multiple fields can have the same ‘Label’ value as long as the Name is unique.
  2. Boost has to be set to 1 when IsQuery=false

  1. IsPrimaryKey should be always set to ‘false’ unless you want to mark that field as a Primary Key. Note that only one field can be a Primary key and it is suggested to NOT change it often as it might have a negative impact on site functionality. Please contact Hawksearch if you would like to change the Primary key.
  2. IsOutput should be set to ‘true’ only if you need the field value in the search response. Please always set it to ‘false’ if not in use.
  3. IsShingle corresponds to Add phrases to "Did you Mean"? under the field settings on the dashboard. It has to be set to false when IsQuery=false.
  4. If IsQuery=true, then IsShingle can be set to true only for "Type": "string". You can not use it for types ‘Numeric’ or ‘Boolean’.
  5. If IsQuery=true, then IsShingle can be set to true only for "FieldType": "facet", “keyword” and ”keywordtext”. You can not use it for field types ‘unindexed’, ‘text’.

{keyword, "Field values indexed ""as is"" AND are stemmed"} >> “IsKeywordText will be set to 1” ,
{keyword, "Field values are NOT stemmed"}>> “IsKeywordText will be set to 0”,
{text, "Field values are ONLY stemmed (search only)"},
{unindexed, "Stored only, not used for search nor facets"},
{facet, "Field values are NOT stemmed"}} >> The field type value changes to ‘facet’ from ‘keyword’ if you set up this field as a facet. For fields that will be used as facet, please set up field type as ‘facet’.

  1. Iterations can be skipped from the request but if IsQuery=true, IsShingle = true then we need to set the Iterations value by default to 1.

  1. Type is the datatype of the field. One of the 3 possible values is String, Single, Boolean. If you set a field as IsQuery=true and IsShingle = true then you need to always pass the Type information in the request as IsShingle cannot be used for types ‘Numeric’ or ‘Boolean’.
  2. SortOrder field is optional and can be passed if you would like to maintain a specifc order for all the field values. The value should always be numeric.

Using API to Update Fields

This API allows you to update a field in Hawksearch dashboard and manage the field configurations.

Example use case: Update label of a Brand field.

Update field by id

Request: PUT request to the API below:

{
    "FieldId": 479976,
    "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
    "Name": "brand",
    "FieldType": "facet",
    "Label": "Brand New Label",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 0,
    "PartialQuery": "",
    "IsKeywordText": true,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": "",
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "02-04-2021",
    "ModifyDate": "02-04-2021",
    "IsPrependBaseUrl": true
}

Response: The response is an array of field objects, every field object being a series of key-value pairs.

{
    "FieldId": 479976,
    "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
    "Name": "Brand",
    "FieldType": "facet",
    "Label": "Brand New Label",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 10,
    "PartialQuery": "",
    "IsKeywordText": false,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": null,
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "03-08-2021",
    "ModifyDate": "03-08-2021",
    "IsPrependBaseUrl": true
}

Using API to Get Field Information

This API allows you to get field configuration stored in Hawksearch Dashboard

Example use case: Get field information of a Brand field.

Request: GET request to the API below:

GET /api/v11/Field/?fieldName=brand HTTP/1.1
Host: dashboard-na.hawksearch.com
X-HawkSearch-ApiKey: USE_YOUR_API_KEY
Cache-Control: no-cache
Postman-Token: cd457184-4c00-a650-62f2-530f22a9a384

Response: The response is an array of field objects, every field object being a series of key-value pairs.

{
    "FieldId": 479976,
    "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
    "Name": "Brand",
    "FieldType": "facet",
    "Label": "Brand",
    "Type": "String",
    "Boost": 1,
    "FacetHandler": 0,
    "IsPrimaryKey": false,
    "IsOutput": true,
    "IsShingle": false,
    "IsBestFragment": false,
    "IsDictionary": false,
    "IsSort": false,
    "IsPrefix": false,
    "IsHidden": false,
    "IsCompare": false,
    "SortOrder": 10,
    "PartialQuery": "",
    "IsKeywordText": false,
    "IsQuery": false,
    "IsQueryText": false,
    "SkipCustom": false,
    "StripHtml": false,
    "MinNGramAnalyzer": 2,
    "MaxNGramAnalyzer": 15,
    "CoordinateType": 0,
    "OmitNorms": false,
    "ItemMapping": "",
    "DefaultValue": "",
    "UseForPrediction": false,
    "CopyTo": "",
    "Analyzer": "",
    "DoNotStore": false,
    "Tags": "",
    "Iterations": [
        1
    ],
    "AnalyzerLanguage": null,
    "PreviewMapping": null,
    "OmitTfAndPos": false,
    "CreateDate": "03-08-2021",
    "ModifyDate": "03-08-2021",
    "IsPrependBaseUrl": true
}

Using API to Get FieldId/Name Information

This API allows you to get all fields list (FieldId and Name) stored in Hawksearch Dashboard.

Example use case: Get all fields information.

Request: GET request to the API below:

Get field info API Documentation

Response: The response is an array of field objects, every field object being a series of key-value pairs. Description of the data is as follows:

NoKeyDescriptionValue Type
1FieldIdThe unique identifier of the field (unique across the whole system)Number
2NameName unique to an engine (can be the same for one or more engines)lowercase alphanumeric string with underscores allowed
[
    {
        "FieldId": 12345,
        "Name": "agegroup"
    },
    {
        "FieldId": 412587,
        "Name": "color"
    },
    {
        "FieldId": 741258,
        "Name": "brand"
    },
    {
        "FieldId": 745896,
        "Name": "name"
    }
  ]

Field Info for a specific field

Get field info by id API Documentation

Returns Field with a particular Id.

Parameters:

  • id: Unique Id of the Field (FromUri)

Using API to Get All Fields

This API allows you to get field configuration for all fields stored in Hawksearch Dashboard.

Example use case: Get field information of all fields.

Request: GET request to the API below:

Get fields API Documentation

Response: The response is an array of field objects, every field object being a series of key-value pairs. Description of the data is as follows:

NoKeyDescriptionValue Type
1FieldIdThe unique identifier of the field (unique across the whole system)Number
2SyncGuidInternal fieldGUID
3NameName unique to an engine (can be the same for one or more engines)lowercase alphanumeric string with underscores allowed
4FieldTypeOne of the below field configuration options:Field Values are NOT stemmedField values are ONLY stemmed (search only)Field Values indexed “as is” AND are stemmedStored only, not used for search or facetsOne of the 4 possible values - facetkeywordunindexedtext
5LabelDisplay name of the fieldAlphanumeric string
6TypeDatatype of the fieldOne of the 3 possible values - SingleNumericString
7BoostBoost value set on the fieldNumber between 1 and 200, inclusive
8FacetHandlerInternal handler associated with the fieldAlphanumeric
9IsPrimaryKeyFlag to set as primary fieldBoolean
10IsOutputFlag to control presence in responseBoolean
11IsShingleCorresponds to Add phrases to "Did you Mean"? under the field settings on the dashboardBoolean
12IsBestFragmentFlag controls creating synopses for large textual contentBoolean
13IsDictionaryFlag to include field for autocorrect suggestionsBoolean
14IsSortFlag to allow sorting on search results pageBoolean
15IsPrefixFlag to indicate if the field is a prefix typeBoolean
16IsHiddenFlag to control query builder configuration for the fieldBoolean
17IsCompareFlag to manage comparison displayBoolean
18SortOrderSort order of the fieldNumeric
19PartialQueryQuery type for the fieldNone, Prefix or Wildcard
20IsKeywordTextIndicates that the field values indexed ""as is"" AND are stemmedBoolean
21IsQueryFlag to allow querying on the fieldBoolean
22IsQueryTextFlag to show query text valueBoolean
23SkipCustomFlag to control display in custom groupBoolean
24StripHtmlFlag to remove html contentBoolean
25MinNGramAnalyzerMinimum value for ngram analyzer (for queryable fields)Numeric, 2 to 15 inclusive
26MaxNGramAnalyzerMaximum value for ngram analyzer (for queryable fields)Numeric, 2 to 15 inclusive
27CoordinateTypeUsed for latitude and logitudeAlphanumeric
28OmitNormsFlag to enable/disable smaller document to score higherBoolean
29ItemMappingField mapping valueFieldname
30DefaultValueValue to show when emptyAlphanumeric
31UseForPredictionFlag to indicate
32CopyToList of fields to copy values into (redundancy)List of alphanumeric fieldnames
33AnalyzerCorresponds to the drop down list of Analyzers to be chosenAlphanumeric
34DoNotStoreFlag to control storage (helps to increase performance by reducing index size)Boolean
35TagsEngine-wide labels (avilable acros complete dashboard)Comma separated alphanumeric string
36IterationsQuery iterationsArray of numeric values
37AnalyzerLanguageNatural language choice for query analyzerAlphanumeric
38PreviewMappingAvailable for API indexing enabled enginesFieldname
39OmitTfAndPosFlag to omit term frequencyBoolean
40CreateDateField creation dateDate string in MM-DD-YYYY format
41ModifyDateField modification dateDate string in MM-DD-YYYY format
42IsPrependBaseUrlFlag if a field stores relative urlBoolean
[
    {
        "FieldId": 408,
        "SyncGuid": "90928773-2586-4c5f-b2b6-09fcdd9aabed",
        "Name": "price",
        "FieldType": "facet",
        "Label": "Price",
        "Type": "Single",
        "Boost": 1,
        "FacetHandler": 0,
        "IsPrimaryKey": false,
        "IsOutput": true,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": true,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "SortOrder": 6,
        "PartialQuery": "",
        "IsKeywordText": true,
        "IsQuery": false,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false,
        "MinNGramAnalyzer": 2,
        "MaxNGramAnalyzer": 15,
        "CoordinateType": 0,
        "OmitNorms": false,
        "ItemMapping": "Price",
        "DefaultValue": "",
        "UseForPrediction": false,
        "CopyTo": "",
        "Analyzer": "",
        "DoNotStore": false,
        "Tags": "",
        "Iterations": [
            1
        ],
        "AnalyzerLanguage": null,
        "PreviewMapping": "Price",
        "OmitTfAndPos": false,
        "CreateDate": "02-05-2021",
        "ModifyDate": "02-05-2021"
    },
    {
        "FieldId": 48,
        "SyncGuid": "af586ac2-6fb3-4446-84f8-23df916d6e0c",
        "Name": "name",
        "FieldType": "keyword",
        "Label": "Product name",
        "Type": "String",
        "Boost": 1,
        "FacetHandler": 0,
        "IsPrimaryKey": false,
        "IsOutput": true,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": false,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "SortOrder": 7,
        "PartialQuery": "",
        "IsKeywordText": true,
        "IsQuery": true,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false,
        "MinNGramAnalyzer": 2,
        "MaxNGramAnalyzer": 15,
        "CoordinateType": 0,
        "OmitNorms": false,
        "ItemMapping": "ItemName",
        "DefaultValue": "",
        "UseForPrediction": false,
        "CopyTo": "",
        "Analyzer": "",
        "DoNotStore": false,
        "Tags": "",
        "Iterations": [
            1
        ],
        "AnalyzerLanguage": null,
        "PreviewMapping": "Title",
        "OmitTfAndPos": false,
        "CreateDate": "02-05-2021",
        "ModifyDate": "02-26-2021"
    },
    {
        "FieldId": 479977,
        "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
        "Name": "Brand",
        "FieldType": "facet",
        "Label": "Brand",
        "Type": "String",
        "Boost": 1,
        "FacetHandler": 0,
        "IsPrimaryKey": false,
        "IsOutput": true,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": false,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "SortOrder": 10,
        "PartialQuery": "",
        "IsKeywordText": false,
        "IsQuery": false,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false,
        "MinNGramAnalyzer": 2,
        "MaxNGramAnalyzer": 15,
        "CoordinateType": 0,
        "OmitNorms": false,
        "ItemMapping": "",
        "DefaultValue": "",
        "UseForPrediction": false,
        "CopyTo": "",
        "Analyzer": "",
        "DoNotStore": false,
        "Tags": "",
        "Iterations": [
            1
        ],
        "AnalyzerLanguage": null,
        "PreviewMapping": null,
        "OmitTfAndPos": false,
        "CreateDate": "03-08-2021",
        "ModifyDate": "03-08-2021"
    }
]

Using API to Delete a Field

This API allows you to delete a field from the Hawksearch dashboard Fields section.

Example use case: Delete Brand field.

Request: Please pass the fieldId of the field which you want to delete in the API request below:

Delete field by id API Documentation

Response: The response is an array of field objects, every field object being a series of key-value pairs. Description of the data is as follows:

NoKeyDescriptionValue Type
1FieldIdThe unique identifier of the field (unique across the whole system)Number
2SyncGuidInternal fieldGUID
3NameName unique to an engine (can be the same for one or more engines)lowercase alphanumeric string with underscores allowed
4FieldTypeOne of the below field configuration options:Field Values are NOT stemmedField values are ONLY stemmed (search only)Field Values indexed “as is” AND are stemmedStored only, not used for search or facetsOne of the 4 possible values - facetkeywordunindexedtext
5LabelDisplay name of the fieldAlphanumeric string
6TypeDatatype of the fieldOne of the 3 possible values - SingleNumericString
7BoostBoost value set on the fieldNumber between 1 and 200, inclusive
8FacetHandlerInternal handler associated with the fieldAlphanumeric
9IsPrimaryKeyFlag to set as primary fieldBoolean
10IsOutputFlag to control presence in responseBoolean
11IsShingleCorresponds to Add phrases to "Did you Mean"? under the field settings on the dashboardBoolean
12IsBestFragmentFlag controls creating synopses for large textual contentBoolean
13IsDictionaryFlag to include field for autocorrect suggestionsBoolean
14IsSortFlag to allow sorting on search results pageBoolean
15IsPrefixFlag to indicate if the field is a prefix typeBoolean
16IsHiddenFlag to control query builder configuration for the fieldBoolean
17IsCompareFlag to manage comparison displayBoolean
18SortOrderSort order of the fieldNumeric
19PartialQueryQuery type for the fieldNone, Prefix or Wildcard
20IsKeywordTextIndicates that the field values indexed ""as is"" AND are stemmedBoolean
21IsQueryFlag to allow querying on the fieldBoolean
22IsQueryTextFlag to show query text valueBoolean
23SkipCustomFlag to control display in custom groupBoolean
24StripHtmlFlag to remove html contentBoolean
25MinNGramAnalyzerMinimum value for ngram analyzer (for queryable fields)Numeric, 2 to 15 inclusive
26MaxNGramAnalyzerMaximum value for ngram analyzer (for queryable fields)Numeric, 2 to 15 inclusive
27CoordinateTypeUsed for latitude and logitudeAlphanumeric
28OmitNormsFlag to enable/disable smaller document to score higherBoolean
29ItemMappingField mapping valueFieldname
30DefaultValueValue to show when emptyAlphanumeric
31UseForPredictionFlag to indicate
32CopyToList of fields to copy values into (redundancy)List of alphanumeric fieldnames
33AnalyzerCorresponds to the drop down list of Analyzers to be chosenAlphanumeric
34DoNotStoreFlag to control storage (helps to increase performance by reducing index size)Boolean
35TagsEngine-wide labels (avilable acros complete dashboard)Comma separated alphanumeric string
36IterationsQuery iterationsArray of numeric values
37AnalyzerLanguageNatural language choice for query analyzerAlphanumeric
38PreviewMappingAvailable for API indexing enabled enginesFieldname
39OmitTfAndPosFlag to omit term frequencyBoolean
40CreateDateField creation dateDate string in MM-DD-YYYY format
41ModifyDateField modification dateDate string in MM-DD-YYYY format
42IsPrependBaseUrlFlag if a field stores relative urlBoolean
{
        "FieldId": 479976,
        "SyncGuid": "5cf5ea85-ab8a-45a1-86bd-7e87165e4fbb",
        "Name": "Brand",
        "FieldType": "facet",
        "Label": "Brand",
        "Type": "String",
        "Boost": 1,
        "FacetHandler": 0,
        "IsPrimaryKey": false,
        "IsOutput": true,
        "IsShingle": false,
        "IsBestFragment": false,
        "IsDictionary": false,
        "IsSort": false,
        "IsPrefix": false,
        "IsHidden": false,
        "IsCompare": false,
        "SortOrder": 10,
        "PartialQuery": "",
        "IsKeywordText": false,
        "IsQuery": false,
        "IsQueryText": false,
        "SkipCustom": false,
        "StripHtml": false,
        "MinNGramAnalyzer": 2,
        "MaxNGramAnalyzer": 15,
        "CoordinateType": 0,
        "OmitNorms": false,
        "ItemMapping": "",
        "DefaultValue": "",
        "UseForPrediction": false,
        "CopyTo": "",
        "Analyzer": "",
        "DoNotStore": false,
        "Tags": "",
        "Iterations": [
            1
        ],
        "AnalyzerLanguage": null,
        "PreviewMapping": null,
        "OmitTfAndPos": false,
        "CreateDate": "03-08-2021",
        "ModifyDate": "03-08-2021"
    }

Boolean Value Configuration Restriction

Previously, it was possible to configure Boolean value with the “Field values indexed 'as is' AND are stemmed” field type. However, this setup is not suitable for Boolean value and could cause indexing inefficiencies or errors. Since the Hermes release, this configuration is no longer available, ensuring Boolean fields are only assigned compatible field types.

Affected Endpoints:

  1. Single Field Creation: /api/v11/Field
  2. Bulk Field Creation: /api/v11/Field/bulk

Disallowed Combination:

  • "Type": "Boolean"
  • "IsKeywordText": "true"