Skip to main content

Search Capabilities in Geins Merchant API

Our commerce backend delivers powerful search functionality to ensure product discovery is both precise and flexible. Below is an overview of the search capabilities and configuration options available:

Powerful Search Features

  • Indexing Products:
    The commerce backend leverages Azure AI search to index product information. This allows for efficient searches across multiple fields and supports both wildcard and fuzzy search behaviors.

  • Flexible Field Indexing:
    You can configure which fields are searchable. Some of the fields that can be indexed include:

    • ArticleNumber
    • ProductIdString
    • Name
    • Categories/Name, Categories/Description
    • Brand/Name
    • Skus/ArticleNumber
    • Texts/Text1, Texts/Text2, Texts/Text3
    • CustomSearch/SearchText1, CustomSearch/SearchText2, CustomSearch/SearchText3
    • CustomSearch/SearchKey1, CustomSearch/SearchKey2, CustomSearch/SearchKey3
  • Custom Field Weighting:
    The influence of each search field can be adjusted using weights. For example:

    "Weights": {
    "Name": 1.1,
    "Categories/Name": 1.5,
    "Brand/Name": 1.2,
    "ArticleNumber": 2,
    "Texts/Text1": 1,
    "Texts/Text2": 1,
    "Texts/Text3": 1,
    "ProductIdString": 20
    }

    This configuration ensures that fields like "ArticleNumber" or "ProductId" can be given higher importance compared to others during search queries.

Custom Search Field Configuration

You can further customize search behavior with custom search fields:

  • Defining Custom Fields:
    Up to 6 different custom search fields can be included. These fields are configured using a template approach. The parameters for these fields allow mapping via the following custom properties:

    • SearchText1
    • SearchText2
    • SearchText3
    • SearchKey1
    • SearchKey2
    • SearchKey3
  • Search Text vs. Search Key:

    • SearchText fields are used for free-text search using the standard analyzer (e.g., sv.microsoft)
    • SearchKey fields are optimized for keyword searches (ideal for fields like article numbers)
  • Example Configuration:
    Below is an example setup for a typical account:

    ```
    "Search": {
    [...]
    "SearchFields": [
    "Name",
    "Categories/Name",
    "Brand/Name",
    "ArticleNumber",
    "Texts/Text1",
    "Texts/Text2",
    "Texts/Text3",
    "ProductIdString",
    "CustomSearch/SearchText1"
    ],
    "Weights": {
    "Name": 1.1,
    "Categories/Name": 1.5,
    "Brand/Name": 1.2,
    "ArticleNumber": 2,
    "Texts/Text1": 1,
    "Texts/Text2": 1,
    "Texts/Text3": 9,
    "ProductIdString": 20
    },
    "CustomSearch": {
    "SearchText1": "param:testtext"
    }
    }
    ```

    Custom search fields are configured by mapping their values to parameters using the format param:{{parameteridentifier}}, allowing for dynamic customization (e.g., "CustomSearch": { "SearchText1": "param:testtext" }).

Configuration

Currently, the configuration of these settings is managed by our support team.
We are actively developing a dedicated settings administration function to provide users with more control over these parameters in the future.
Please contact support for any adjustments needed at this time.

Two additional properties allow for disabling search either at the general API level or within specific search configurations:

  • ApiSettings.Disabled
  • ApiSettings.Search.Disabled

Setting either property to true will disable search indexing, providing further control over how and when the search functionality is active.

Configuration

Currently, the configuration of these settings is managed by our support team.
We are actively developing a dedicated settings administration function to provide users with more control over these parameters in the future.
Please contact support for any adjustments needed at this time.