Introduction
FAS 21.1 is compatible with the previous release.
Changes in the response
When the Search A/B Testing is enabled (see below), and the search request is part of an A/B test, the term node in the search terms will contain additional attributes, specifying the variant id and an internal id of the profile. Also, the search passes node will have the same format but now contains a list of all the passes applied, separated by a comma.
These changes allow exposing the applied Search A/B Test information to the Insights services.
Here is an example:
<searchterms>
<term profile="ai_search_enabled" searchConfigurationId="903cbb9a-1292-47f1-846f-f432b18fce98" searchConfigurationGroupId="f6a883c5-fb2e-4d67-8ae5-6678e6006417">blue</term>
</searchterms>
<searchpass>EXACT,AI SEARCH</searchpass>
New Extensions
AI-Powered Search
FAS 21.1 officially introduces the AI-Powered search functionality (shortly referred to as 'AI search'). FAS can be configured to use if one of its search passes (spellcheck or OR-pass).
Note: AI-Powered Search is available under an additional license. For it to be fully functional, preliminary training on customer data should be done. Contact the responsible team for more information.
Deployment
Once the AI search service is trained and running, enabling AI search requires placing ai-search-component-1.0.jar in the custom directory on both indexer and live nodes. It has no dependencies.
To enable this, the configuration in system.xml should be added, and a new search pass should be added to the search configuration.
Changes in default system settings (system.xml)
AI-Powered Search
Note: The below would work with other steps (see above).
The node /com/fredhopper/external-services/partner-search should be added to system.xml. Example:
<node name="partner-search"> <map> <entry key="read-timeout" value="200"/> <entry key="connect-timeout" value="100"/> <entry key="request-items-number" value="1000"/> <entry key="intervals-start-date" value="2020-05-01T00:00:00+00:00"/> </map> <node name="api-uris-per-universe-locale"> <map> <entry key="catalog01_en_GB" value="http://search-api-location/search"/> </map> </node> </node>
| Parameter | Description | Default Values |
|---|---|---|
| read-timeout | The time FAS will wait for a response from the API before giving up. | 200 for initial testing, could be lowered to 50-100 |
| connect-timeout | The time FAS will wait to connect to the API before giving up. | 100 for initial testing, could be lowered to 20-50 |
| request-items-number | The maximum amount of items that the API should return. | 1000, adjust according to business requirements |
| intervals-start-date | The start of the testing intervals. See "Time Based Testing". | |
| api-uris-per-universe-locale | Actually another node, see "Configuring Endpoints." |
Configuring Endpoints
Unlike FAS, the AI-Powered API only serves queries for a single universe/locale pair. Different universe/locale pairs need to be mapped in FAS to different endpoints.
Not all possible pairs would have an endpoint, as AI-Powered search is not supported for all languages, or the data might not be indexed for a given universe. If an endpoint for a given universe/locale is not specified, the AI search would simply not work for it.
The mappings universe/locale -> API endpoint is configured under the api-uris-per-universe-locale node as shown above.
Configuring the key for a universe/locale mapping
The key must be <universe>_<locale>. So if the universe is called defaultcategory2 and the locale is en_GB, the key should be defaultcategory2_en_GB.
Configuring the value for a universe/locale mapping
The value is the URL of the endpoint - e.g. http://fdp-prod0-one-eks-eu-west-1.internal.eu1.fredhopperservices.com/customername/aisearch:live1/en/search
The full fragment in system.xml would be <node name="api-uris-per-universe-locale">
<map>
<entry key="defaultcategory2_en_GB" value="http://fdp-prod0-one-eks-eu-west-1.internal.eu1.fredhopperservices.com/customername/aisearch:live1/en/search"/>
</map>
Configuring the search pass
The AI-Powered search pass should be added to the studio:
- Go to "System" -> "Search" -> "Search Passes"
- Select the correct universe/locale from the top right in the Merchandising Studio.
- Choose "Add", and select the "AISearchPassComponent" from the list.
- Move the search pass in a position before the OR pass, but after any ID, EXACT or SPELLCHECK passes.
- Select Do not show if other results > 0. Alternatively, you can select a higher number, such as 5 or 10, if you want to enrich the results with very few items.
Internal experts should provide further details.
Refined Relational Search
Note: The functionality is available as Open Beta for this release.
Refined relational search is an improvement over the existing relational search functionality. It improves variant selection based on the indexed attributes of item variants and the text search.
The node /com/fredhopper/search/relational should be added to system.xml. Example:
<node name="com"> <map /> <node name="fredhopper"> <map /> <node name="search"> <map/> <node name="relational"> <map> <entry key="relational-target-weight" value="1000000.0"/> <entry key="refined-relational-targets" value="multi"/> </map> </node> </map> </node> </node> </node>
| Parameter | Description | Default Values |
|---|---|---|
| relational-target-weight | Weight for the relational search to compete with other | The default value is "1.0", meaning that refined relational search is disabled and relational search itself has a lesser impact. The "perfect" value might vary from data set to data set, but an advisory starting value is "1000000.0". |
| refined-relational-targets | This parameter allows for additional refinement of the relational targets, which improves variant selection based on indexed attributes and the text search. It has two functional values. - "top" - just the top relational target is refined; this forces FAS to pick a perfectly matching attribute variant value if it exists. - "multi" - this is the recommended value. It does more granular target refinement and selects better variant choices. It poses a risk of performance degradation for the customers with numerous attribute variant values, so performance should be assessed for larger catalogues before usage. This value works in combination with the "relational-target-weight" value of "1000000.0" or similar. Unfortunately, the latter might vary from catalogue to catalogue. |
The default value is "none", meaning that refined relational search is disabled. |
Search A/B testing
FAS 21.1 adds A/B testing on Search Profiles, requiring CRU, Fredhopper Insights and CADP.
The node /com/fredhopper/abtesting/search should be added to system.xml to enable the feature. The default value is false.
Example:
<node name="abtesting"> <map /> <node name="search"> <map> <entry key="enabled" value="true"/> </map> </node> </node>
Migration
Migrating from FAS 20.3 to 21.1 requires no specific migration steps.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.