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.
Enabling and Disabling Search
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.