# How do you filter events by multiple categories in Adalo?

Use category records and list filters as the source of truth instead of maintaining a concatenated search-index text field that must be manually edited.

- Canonical URL: https://adalocado.com/answers/filter-events-by-multiple-categories
- Verification: Documented from current sources
- Topic: Lists, Filters, and Search
- Skill level: Intermediate
- Last reviewed: 2026-08-14
- Index status: index-now

## Short answer

Place a category selector above the Events list and filter the Events collection from the selected category relationship. Do not maintain a concatenated search-index text field just to add or remove categories; keep the event-to-category relationship as the source of truth and apply one or more explicit list filters.

Use the relationship as the durable category index and let the list filter interpret the current selection. This removes the need to keep a separate search string synchronized after every category edit.

## Intended outcome

Users can narrow an Events list by category without stale category names remaining in a manually maintained search-index field.

## Requirements

- Events and Categories connected by a relationship
- A category selector or other filter input
- An Events list with representative records

## Step by step

1. **Model categories as records**

   Store categories in a Categories collection and relate each Event to its applicable categories.

2. **Add a category selector**

   Place a dropdown, list, or selection control above the Events list and bind it to Categories.

3. **Filter the Events list**

   Add a custom filter that compares each Event’s category relationship with the selected category. Add deliberate AND or OR filters when the interface supports multiple selections.

4. **Remove the text-index workaround**

   Stop appending and removing category names from one search-index text field after the relationship filter returns correct results.

5. **Test selection changes**

   Select, change, and clear categories while checking that the Events list updates without carrying a previous selection forward.

## Why it works

- Relationships store category membership as data, while list filters decide which related records appear.
- A concatenated text index duplicates relationship state and can become stale when a category is renamed or removed.

## Data model

| Collection | Properties | Relationships |
| --- | --- | --- |
| Events | Event details | Related to one or more Categories |
| Categories | Name | Related to Events |

## Common failures

### Removing a category does not change results

Inspect the Event’s category relationship and the active list filter. Do not rely on a previously generated text string.

### No events appear after selecting two categories

Check whether the filters use AND or OR. AND requires an event to match every selected category; OR allows any selected category.

## Testing checklist

- [ ] Assign one event to two categories, remove one relationship, and confirm each corresponding filter result updates.
- [ ] Select two categories and verify AND or OR behavior matches the interface’s stated meaning.
- [ ] Categories are stored as records
- [ ] Events use category relationships
- [ ] The selector is bound to Categories
- [ ] List filters use the selected record
- [ ] Clearing the filter restores the intended default list

## Limitations

- Adalo’s current documentation describes list filters, but the exact multi-select control and filter combination depend on the app’s UI.
- Large datasets may require a simpler filter strategy or an external search service; this page does not benchmark performance.

## Community evidence

### [I have some issues with removing a record from my search index text](https://forum.adalo.com/t/i-have-some-issues-with-removing-a-record-from-my-search-index-text/65849/9)

The accepted reply recommends a Category selection control above the Events list and filtering the list from that selection instead of editing a search-index string. Boundary: The reply does not specify one universal multi-category control or AND/OR policy.

## Sources

- [Adalo forum accepted solution](https://forum.adalo.com/t/i-have-some-issues-with-removing-a-record-from-my-search-index-text/65849/9)
- [Adalo Help: How to make a list your users can filter](https://help.adalo.com/how-to/how-to-make-a-list-your-users-can-filter)

Markdown version: https://adalocado.com/answers/filter-events-by-multiple-categories.md
