Feature: Search
Frosmo Search (or simply "search") is a search engine and a suite of search tools for sites that run the Frosmo Platform. Frosmo Search allows you to set up a site search from scratch or replace your existing site search solution.
Frosmo Search consists of the following key components:
-
Search engine. Deliver a fast, typo-tolerant search and discovery experience to visitors.
-
Search management. Configure, test, and monitor how the search works for visitors on the site. The Frosmo Control Panel provides a dedicated management UI for the search.
-
Instant Search. Ready-made search box UI element for the site. The search box delivers an instant, search-as-you-type experience complemented by personalized recommendations and category suggestions.
-
Search results page. Ready-made search engine results page for the site. When a visitor chooses to view the full search results in Instant Search, the search results page opens.
-
Search API. Public API for running search queries and retrieving the search results.
In Frosmo Search, a search operation consists of a text query against one or more text attributes (strings or string arrays) found in the items indexed for the site.
Why use Frosmo Search?
Frosmo Search implements a modern and robust site search with several advantages:
-
Improve the search and discovery user experience. Instead of a traditional search box, which returns results only after a visitor has entered the full search term, Instant Search provides a modern search-as-you-type search box, which returns results instantly and dynamically as the visitor types in the search term. In addition, Instant Search makes the search experience pay off even before the visitor starts typing the search term by intelligently recommending items that the visitor might be interested in.
-
Reduce bounce rate while boosting conversion. Keep visitors on your site and drive them towards conversion by helping them to effortlessly connect with and discover items that are relevant to them in their current customer journey phase.
-
Use on any site. If your site does not have search, Frosmo Search provides a robust, ready-made site search that is integrated with the Frosmo Platform. If your site has an existing search solution, but the solution does not meet your needs, Frosmo Search offers a modern replacement based on cutting-edge technologies with advanced customization options and built-in support for Frosmo Platform features, such as data tracking and recommendations.
noteTo keep the search experience consistent across your site, it is recommended that you fully replace your existing site search with Frosmo Search. For example, use Frosmo Search both for the site search box and the search results page, so that you get matching results in both.
For more information about the feature benefits of Frosmo Search, see Search engine.
Frosmo Search components
Learn about the key components that make up Frosmo Search.
Search engine
The key features of the search engine include:
-
Boosting. Make selected items rank higher in search results by defining boosting rules. You can create as many rules as you need. You can freely define the set of items that a rule targets, and you can have the rule apply to all searches on the site or only to searches that use specific keywords. For example, in a clothing web store, you could create one rule to boost the latest Nike sneakers for "Nike" searches, another rule to promote the Barbour brand for "jacket" searches, and a third rule to always boost Fjällräven trousers.
-
Broad language support. Frosmo Search supports all modern alphabets.
-
Customizable sorting. Select up to three item attributes by which to sort search results. By default, Frosmo Search sorts results primarily by the text match score of each matching item; the higher the score, the more relevant the item, and the higher its rank in the results.
-
Customizable targeting and ranking. Select which item attributes the search targets, that is, which attributes the search checks for matches. For example, you might have the search target the
name
,brand
,categories
, anddescription
attributes of each item. You also define the relative ranking weights of the target attributes. An item that has a match in a high-weight attribute is considered more relevant than an item that has a match in a low-weight attribute, and the item with the high-weight attribute is therefore more likely to get a higher search results rank than the item with the low-weight attribute. -
Faceting. Enable faceting for an attribute, thereby turning the attribute values into facets that allow visitors to dynamically narrow down search results.
-
Filtering. Define advanced filtering for refining search results.
-
Personalized search results. Sort the search results based on each visitor's individual affinities.
-
Popularity-based ranking. Frosmo Search uses item popularity for tiebreaking when two or more items have the same text match score. The more popular an item, the higher its rank relative to the other tied items. Popularity is based on the number of views or conversions (including transactions) that an item has accumulated.
-
Search suggestions. Instant Search supports as-you-type autocomplete where the search engine automatically and dynamically suggests complete search terms based on what a visitor is currently typing. For example, if the visitor types in "cam", the search engine might suggest "camera" and "camera lens" as the complete search terms. The search engine generates suggestions based on:
-
Popular search terms. The search engine matches the visitor's input against popular search terms used by other visitors on the site. For example, if the visitor types in "tri", and the most popular matching search term is "tripod", the search engine suggests "tripod" as the complete search term.
-
Relevant item keywords. The search engine matches the visitor's input against relevant keywords extracted from the item data indexed for the site. The search engine uses natural language processing (NLP) algorithms to find and extract keywords. For example, if the visitor types in "water", and the search engine has the keywords "waterproof" and "waterproof shoes" extracted from item data, the engine can suggest "waterproof" and "waterproof shoes" as the complete search terms.
-
-
Synonyms. Define search terms that Frosmo Search must treat as equivalent. Searching for one term also returns matches for the others. For example, if visitors typically search for "laptop", but the site uses "notebook" as the common term, defining "laptop" as a synonym for "notebook" allows the search engine to treat notebooks as laptops and thereby match visitor intent with relevant search results.
-
Typo tolerance. Frosmo Search uses approximate ("fuzzy") string matching to handle typographical errors in search terms. For example, searching for "sirt" automatically matches "shirt" and "skirt" as well.
Search management
The Frosmo Control Panel provides a search management UI for working with Frosmo Search.
The UI allows you to:
-
Configure and customize how the search works on a site.
-
Test the search.
-
View search statistics for the site.
For more information about managing the search, see the search user guide.
Instant Search
Instant Search is a ready-made search box UI element for sites. The search box allows visitors to use Frosmo Search on a site. The search box delivers an instant, search-as-you-type experience complemented by personalized recommendations and category suggestions.
When a visitor first selects the search box, but before they type anything in, Instant Search displays one or two recommendations as a starting result. When the visitor then starts typing in the search box, Instant Search returns real-time, dynamically updating top results based on the typed search term. In addition, Instant Search automatically suggests complete search terms based on what the visitor is currently typing. If the visitor chooses to view the full search results, the search results page opens.
Instant Search is the primary site search interface for Frosmo Search.
If a site already has a search box from an existing site search solution, Instant Search replaces the existing search box, while Frosmo Search replaces the existing search solution. Instant Search can be customized to match the layout and style of the site, including matching the replaced search box so that there's no visual change for visitors.
Instant Search requires Frosmo Search but is not part of the default Frosmo Search offering. If you want to set up Instant Search for your site, contact Frosmo support.
Search results page
Frosmo Search provides a ready-made search engine results page for sites. When a visitor chooses to view the full search results in Instant Search, the search results page opens.
The search results page works seamlessly with Smart Discovery. If a site has both Smart Discovery and Instant Search, Smart Discovery shares the search results page with Instant Search.
In addition to search results, the page displays:
-
Filters for further refining the search query
-
Options to sort the search results
-
Highlighting of the search term in the results
Search API
The Search API allows you to run search queries and retrieve the search results. The API returns the IDs of the items that match the query. The API can also return other item data.
Use the Search API on a search results page or a listing page to return the IDs and other relevant data of matching items.
For more information about the API, see the Search API developer guide.
How Frosmo Search works
Learn how Frosmo Search works under the hood.
Search workflow
The following workflow description uses Instant Search as an example, but the basic process is the same for all search use cases (search box, search results page, listing pages).
Frosmo Search works with a site as follows:
-
Frosmo Search periodically reads the site's product data feed.
-
Frosmo Search processes the product data into a searchable format:
-
On the site, a visitor starts a search:
-
The visitor types a search term in the search box.
-
The search box sends a request to the Search API with the search term wrapped inside a search query.
-
-
Frosmo Search processes the Search API request:
-
The search engine runs the search query contained in the request against the indexed documents.
-
The search engine sends a response containing the search results back through the Search API.
-
-
The site processes the Search API response and renders the search results for the visitor to view and interact with.
Ranking and sorting search results
By default, Frosmo Search sorts search results based on a tiebreaking sorting algorithm that works as follows:
-
Sort the results in descending order by text match score. The higher the score of an item, the higher its rank in the results.
-
If two or more items have the same text match score, use one or more tiebreaking attributes to sort the tied items.
-
If two or more items have the same text match score and the same tiebreaking attribute values, sort the tied items randomly.
The basic search setup defines which attributes are used for tiebreaking and in what order. A tiebreaking attribute can be any indexed number or string attribute. The attribute can come from the product data feed, such as the name
or price
of an item, or the Frosmo Platform can generate custom attributes for items based on product data and statistics, such as a popularity score, or based on boosting defined for the items.
Boosting can impact both the text match score and tiebreaking:
-
Boosting rule for specific keywords increases the text match score of matching items.
-
Boosting rule for all searches increases the boosting score of matching items. The boosting score is a tiebreaking attribute.
Example: Ranking and sorting search results with two tiebreakers
Let's assume the following sorting logic for search results:
-
Sort in descending order by text match score. The higher the score, the higher the rank.
-
If the text match scores are identical, sort in descending order by boosting score. The higher the score, the higher the rank.
-
If the boosting scores are identical, sort in descending order by popularity score. The higher the score, the higher the rank.
To keep things simple, let's assume our search finds a match in two items: item A and item B.
How the items get sorted in the search results depends on their text match score (assigned by the search engine), boosting score, and popularity score:
-
If item A gets a text match score of
100
, and item B gets a text match score of50
, the search engine places item A above item B in the search results. No tiebreaking is required. -
If both items get the same text match score of
100
, but item A has a boosting score of10
, while item B has a boosting score of20
, the search engine places item B above item A in the search results. Boosting score is enough to break the tie. -
If both items get the same text match score of
100
and have the same boosting score of10
, but item A has a popularity score of1000
, while item B has a popularity score of500
, the search engine places item A above item B in the search results. Boosting score is not enough to break the tie, but popularity score is. -
If both items get the same text match score of
100
, have the same boosting score of10
, and have the same popularity score of1000
, the search engine sorts the items randomly in the search results. Neither boosting score nor popularity score is enough to break the tie.
Text match score
The text match score measures how closely an item (specifically, its textual information) matches the search term in a search query. The higher the score, the closer the match, and the more relevant the item.
In Frosmo Search, by default, the text match score is the primary measure of relevance, that is, the search engine sorts search results primarily by the text match score of each item. The higher the score, and the higher the item's rank in the results.
Frosmo Search calculates the text match score separately for each item based on the following metrics:
-
Frequency. Number of overlapping tokens (words) between the search term and a text attribute. The higher the number, the higher the text match score.
-
Edit distance. If a text attribute does not contain an exact match for a search term token, the search engine checks for tokens that are within a certain edit distance from the search term token. The shorter the edit distance, the higher the text match score.
-
Proximity. How close the search term tokens (in case there are more than one) appear to each other in a text attribute. The closer the tokens, the higher the text match score. A verbatim match gives the best score.
-
Target attribute ranking weight. An item that has a match in a high-weight attribute is considered more relevant than an item that has a match in a low-weight attribute. You define the weights in the Frosmo Control Panel.
Basic Frosmo Search setup
Frosmo sets up Frosmo Search for your site based on your needs and requirements.
The setup defines the following global search settings:
-
Attribute schema. The schema describes the set of attributes that the search engine indexes from each item on the site. The search can target any indexed string or string array attribute. In addition, the search can use indexed attributes for faceting, filtering, and sorting.
-
Result sorting rules. The rules define how the search engine sorts search results. In particular, the rules specify which attributes the search engine uses for sorting and in what order in case tiebreaking is required.
-
Update frequency. The update frequency determines how often the search engine reads the site's product data feed and refreshes the search index. For more information, see How Frosmo Search works.
You cannot directly modify this setup by yourself, but you can configure and customize search behavior in the search management UI. If you want the setup changed, contact Frosmo support.
Setup requirements
To run Frosmo Search, and for Frosmo to be able to set up the search, a site must have:
-
Product data feed (containing the information about the products or other items that the search targets)
-
Visitor ID cookie support enabled (allowing server-side applications to access a visitor's Frosmo ID)
-
Page for displaying search results
Frosmo must have access to the product data feed.
Where to go next
-
Learn how to configure and customize how the search works.
-
Learn how to test the search.
-
Learn how to view search statistics.
-
If you're a developer, learn how to use the Search API.
-
Learn about Smart Discovery, which builds on Frosmo Search with a visual search and discovery solution that recommends visitors what to search.