Hiding Results with Query Rules
There are cases when you may want to hide records from users based on what they’re searching for. Query Rules can help you achieve that, either for a single item or for several.
Hiding a single item
We can use Query Rules to hide a specific record based on its unique
Using the API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $rule = [ 'objectID' => 'hide-12345', 'condition' => [ 'pattern' => 'query', 'anchoring' => 'contains' ], 'consequence' => [ 'hide' => [ 'objectID' => 'to-hide-12345' ] ] ]; $index->saveRule($rule);
Using the Dashboard
- Go to your dashboard and select your index.
- Go to the Query Rules tab and click the New Rule button.
- In the Condition section:
- Set the anchoring of “if the query…” to Contains.
- Type your query in the input field and press
- In the Consequences section:
- Click the Add consequence button and select Hide a result.
- Find the product you want to hide in the input field and press
- Don’t forget to save your changes.
Hiding a set of items
Hiding single items can be helpful, but most of the time, you’ll want to hide several based on a distinctive attribute.
A good example is when users add key phrases such as “gluten-free”, which you can interpret as a cue to filter out any dish that has “gluten” in its list of allergens.