Overview
The following table lists the available search passes in Fredhopper.
- Searches across fields: Will Fredhopper find tokens in different fields (e.g. "shoe" in categories and "adidas" in the brand field)
-
Searches multiple tokens: Will Fredhopper use all tokens entered in the seach query

Search token
A token is a single word in the search query. E.g. the search query "adidas shoe" has two tokens "adidas" and "shoe"
| Search Pass | Searches across fields? | Searches multiple tokens? |
|---|---|---|
| UniqueIDPass | No | No |
| PhrasePass | No | Yes |
| PrefixPass | Yes | Yes |
| SpellCheckPass | Yes | Yes |
| MaxTokenPath | Yes | Yes |
UniqueIDPass Component
The UniqueIDPass searches for alpha-numerical values that represent item ids or item codes. It makes exact matches.
PhrasePass Component
The Fredhopper search index contains positional information of tokens. The PhrasePass uses this information to locate items where tokens are within a certain distance of one another. For example, suppose a field contained the phrase "the quick brown fox jumped over the lazy dog". Without knowing the exact phrase, you can still find this item by searching for items with fields having quick and fox near each other. The maximum allowable positional distance between tokens to be considered a match is called "Maximum distance between tokens". Distance is the number of positional moves of tokens to reconstruct the phrase in order. Let's take the phrase just mentioned and see how the maximum distance factor plays out.
Tokens added to a phrase query don't have to be in the same order found in the field, although the order does impact maximum distance considerations. For example, had the tokens been reversed in the query (fox and then quick), the number of moves needed to match the item would be three, not one. To visualize this, consider how many moves it would take to physically move the word fox two slots past quick; you'll see that it takes one move to move fox into the same position as quickly and then two more to move fox beyond quick sufficiently to match "quick brown fox". The figure below shows how the maximum distance works in both of these phrase queries.
The PhrasePass supports multiple-term phrases. Regardless of how many terms are used for a phrase, the maximum distance is the maximum total number of moves allowed to put the terms in order.
PrefixPass Component
The PrefixPass is by default looking for matches at the beginning of the words. Ex. "colo" will match "colossal". It does that across the configured fields. Imagine fields s1 and s2 and the query "brown fox" the PrefixPass will try to do "brown in s1 or s2" AND "fox in s1 or s2".
|
Exact searches Fredhopper typically uses the PrefixPass to find exact matches across fields. The PrefixPass should be configured in such a way that the actual "prefix" is never executed. |
Minimum token length
The minimum number of characters the token should contain before it does a prefix match. If the token is less than the minimum token length Fredhopper will do an "exact" match. Fredhopper typically configures this to 50.
Maximum query tokens
The maximum number of tokens the search query can contain and a prefix match is done. Fredhopper typically configures this to 1.
Both settings for the PrefixPass should be met in order to do a prefix match. If none of the settings are matched Fredhopper will execute an exact match across fields.
SpellCheckPass Component
It does a spell-check of the query and gathers results with the alternatives it has for each word. Also across the fields. The fields used in the SpellCheck are configured in the Spell Index.
|
Optimize spell corrections To optimize spell corrections also see: Optimize spell corrections |
Along with the search results, it provides the result breakdown: the list of spell-corrected variants and the result estimation for them. This set of variants is called suggestions.
For instance, if you search for "ream jaket", the suggestion would be "cream jacket". The number of suggestions depends on the passes configuration.
MaxTokenPass Component
The MaxTokenPass does a stronger OR or a weaker AND. Imagine you have 5 tokens (t1 t2 t3 t4 t5) in the incoming query this pass will try to find if a document containing "t1 AND t3" OR "t1 AND t4" OR "t1 AND t5" and so on. Which tokens it combines depends on a configuration.
The MaxTokenPass does not do prefix matches.
Along with the search results, provides the result breakdown: the list of sub-queries and the result estimation for them. For instance, if you search for 'ice cream hot day' but not enough items were found by previous passes, OR pass will execute search by different combinations of the words in this phrase. Suppose that combinations "ice cream" and "hot day" succeeded, the pass will provide 2 suggestions. OR pass will not try all the variants, it has some restrictions and exits when it got some results after a group of combinations.
| Please note that suggestions from SPELL and OR passes get combined. For example, you have a SPELL pass followed by OR pass and you search for "ice cream". SPELL pass will correct it e.g. to 'iced cream' and provide results it finds. Then the OR pass will run sub-queries 'ice' and 'cream' and provide suggestions to them. As a result, there will be 3 suggestions. |
Comments
0 comments
Please sign in to leave a comment.