## What is Partial Part Number Search?
When customers search for part numbers, they sometimes enter only a portion of the full part number. For example, your customer may search for "223344" and expect to find the manufacturer part number _223344-001_.
**Partial Part Number Search** allows you to target these partial queries with greater precision. It helps recall relevant products even if the customer types in a variation of the original part number. This feature can create different partial part numbers that you might want to make searchable.
## Why is Partial Part Number Search valuable for your Business?
Partial Part Number Search helps create a smoother product discovery experience, which ultimately boosts conversions and revenue.
**Better findability and user experience**: End-users on many sites are accustomed to searching by partial part numbers. This feature will help them get to the products they are looking for, faster.
**Reduce bounce rate & increase revenue**: Improved performance on partial part number queries will reduce bounce rate, reduce null search result rate and lead to quicker conversions, thus driving higher revenue.
## How does Partial Part Number Search work?
Bloomreach has created two operations for Partial Part Number Search that can be applied to a part number field in order to create partial part number tokens (or **partials**) that you’d like to make searchable.
The two operations for Partial Part Number Search are:
**Clean up operations**
### Clean up operations
Clean up operations remove certain characters or sequences of characters from the part number. The Clean up operations are summarized in the table below:
|Clean up Operation||Description||Example use case|
|**Drop characters or sequences**||Removes unwanted characters or sequences of characters from all the places in the part number.||A customer who searches for “BaBBB” will be able to find parts with the number _aaBaBBaaBaaaa_. (“aa” is dropped from all places in the part number)|
|**Remove padding**||Removes characters from the front and end of the part number.||A customer who searches for “12345” will be able to find parts with the number _00012345000_. (“0” is dropped from the front and back of the part number)|
|**Remove spaces**||Removes all space (and tabs) characters.||A customer who searches for “0001000010001” will be able to find parts with the number _000100 001 000 1_. (space characters are dropped from all places in the part number)|
|**Drop all special characters**||Removes all non-alpha-numeric characters from the value.||A customer who searches for “a1c0hnvcc1” will be able to find parts with the number _a1,c 0h! @nv#$cc1_. (All non-alpha-numeric characters are dropped from the part number)|
Once Clean up operations are complete, the output can be used as is, or paired with a single Tokenizer (see below).
Multiple Clean up operations may be applied to a single field.
Tokenizers break a string of characters into **tokens** that can be made searchable. The supported Tokenizers are summarized in the table below:
|Tokenizer||Description||Example use case|
|**Prefix**||Creates Prefix tokens.||A customer could find the part number _012345_ with one of the following prefix tokens: <li>"01"</li> <li>"012"</li> <li>"0123"</li> <li>"01234"</li>|
|**Suffix**||Creates Suffix tokens.||A customer could find the part number _012345_ with one of the following suffix tokens: <li>"45"</li> <li>"345"</li> <li>"2345"</li> <li>"12345"</li>|
|**Auto Split**||Creates tokens by automatically splitting on all non-alphanumeric characters.||The part number _01-234|567.89.AAAAA_B_ could be split into the following tokens: <li>"01"</li> <li>"234"</li> <li>"567"</li> <li>"89"</li> <li>"AAAAA"</li>|
|**Split on Specific Value**||Creates tokens by splitting on a specific value.||The part number _1235151234_ could be split on "5" into the following tokens: <li>"123"</li> <li>"1234"</li>|
|**Alphanumeric Split**||Creates tokens by splitting the value over a change from the alphabet to number and vice-versa.||The part number ABC123ED could be split into the following tokens: <li>"ABC"</li> <li>"123"</li> <li>"ED"</li>|
Partials may have a **minimum value** configured. The examples in the tables above used minimum values of 2, which is why single character tokens were not included.
Clean up operations can be paired with a Tokenizer to create several partials that can be made searchable. This helps you surface relevant product results for more complex partial queries.
Example use case: Your customers often use the queries “556677” and “5566778899” to search for auto parts with the number _000GA-556677_8899GA000_. You want to display this auto part when customers search for “556677” and “5566778899”.
To accomplish this use case, we can implement the following combination of Clean up operations and Tokenizers in the backend:
Remove padding: Padding of “0” is removed from the front and end so that 000GA-556677_8899GA000 becomes GA-556677_8899GA.
Drop sequence: Then the “GA” sequence is dropped. GA-556677_8899GA becomes -556677_8899.
Drop all special characters: After dropping special characters, -556677_8899 becomes 5566778899.
Prefix tokenizer: 5566778899 is split into prefix tokens [55, 556, 5566, 55667, 556677, 5566778, 55667788, 556677889, 5566778899].
This combination of operations generates tokens for “556677” and “5566778899” as desired, which can now be used to search for the auto part number _000GA-556677_8899GA000_.
## How to enable this feature
Partial Part Number Search is only available if you have an [API-based Data Delivery](🔗) integration with us.
**Live Customers**: If you are already live, please reach out to [Support](🔗) for help with this feature.
**Integrating Customers**: Please reach out to your Technical Services representative who is helping with your integration.
Please have the following information ready:
Names of fields from your catalog that you would like to make searchable for Partial Part Number Search
List of part number use cases that you would like to support.
For example, a customer who searches for “abc123” or “abc” should be able to find parts with the number “abc-123”. Our teams will set up Partial Part Number Search to accomplish your use cases.
## Frequently Asked Questions
**Can we use this feature with Lookups?**
Yes. The partials created can either be used with [Lookups](🔗) or just as a general searchable field.
Please let Bloomreach Technical Services or Support know if you’d like to configure partials for use with Lookups or as regular Searchable fields.
**Can we AB test this feature?**
**Is there an additional charge to use this feature?**
**Is this feature available for Feed-based Data Delivery customers?**
No. At this time, this feature is available only if you're using [API-based Data Delivery](🔗).
**Are substring partials supported? **
No. Substrings are the characters in the middle of a string. For example, "3344" is a substring of _223344-001_. This cannot be made searchable through the Partial Part Number Search feature.
Substrings can lead to a lot of noise which defeats the purpose of a customer searching by a part number since it can bring up a lot of irrelevant products. Therefore, it is not supported.