There are cases when you may want to hide records from users based on what they’re searching for. Rules can help you achieve that, either for a single item or for several.

Hiding a single item

We can use Rules to hide a specific record based on its unique objectID.

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

  1. Go to your dashboard and select your index.
  2. Go to the Query Rules tab and click the New Rule button.
  3. In the Condition section:
    • Set the anchoring of “if the query…” to Contains.
    • Type your query in the input field and press Enter.
  4. 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 Enter.
  5. 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.

Did you find this page helpful?