Bloomreach’s Precision Modes enable you to refine your recall set to display the most precise search results. However, there can be cases when a precision mode is applied to a query, and that results in null results. For example, the query "red platform shoes" fetches no results when Category Precision mode is applied. To avoid null results, we relax the precision mode and apply text match (Bloomreach's default search algorithm). This precision mode information is captured under the section named “precision” under the “metadata.query” part of the frontend response.
You can determine whether your configured precision mode has been relaxed or updated by looking at the following components in the "precision" section:
Component | Description | Value derived from |
configured | This is the precision mode configured by you for the API request. | The value here comes from the precision mode configured using: 1) Query Overrides on the Dashboard 2) API parameters passed directly on the front-end API call 3) CMS setting for any live AB test 4) Global Rules on the Dashboard Possible values - "configured": {"value": "text_match_precision",} - "configured": {"value": "category_precision",} - "configured": {"value": "product_type_precision",} |
applied | This is the actual precision mode used to generate the product results. | Possible values - "applied": {"value": "text_match_precision",} - "applied": {"value": "category_precision",} - "applied": {"value": "product_type_precision",} |
Sample Frontend Responses
In the following example, the configured precision mode gets relaxed to the default mode.
"metadata": {
"query": {
"precision": {
"configured": {
"value": "category_precision"
},
"applied": {
"value": "text_match_precision",
},
}
In the following example, there is no change in the configured vs applied precision mode.
"metadata": {
"query": {
"precision": {
"configured": {
"value": "product_type_precision"
},
"applied": {
"value": "product_type_precision",
},
}