> ## Documentation Index
> Fetch the complete documentation index at: https://forest-chore-open-api.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Browsing & searching data

> Navigate, search, filter, and explore your data effectively in Forest.

Forest gives you a broad set of tools to navigate your data: a flexible table view, full-text search, advanced filters, segments, and bulk selection. This page covers everything you need to find and explore records efficiently.

## Table view

When you open a collection, records are displayed in a **table view** with one row per record and one column per field. Customize this view using the [Layout Editor](/product/build/layout-editor).

* **Sort** by any column by clicking its header. Click again to reverse the order.
* **Resize** columns by dragging the column separator.
* **Reorder** columns by dragging the column header to a new position.
* **Show/hide** columns using the column picker button in the top-right of the table.

## Searching

The **search bar** at the top of any collection lets you filter records by keyword. Matching text is highlighted within the results.

<Frame caption="The search bar, with matches highlighted in the results">
  <img src="https://mintcdn.com/forest-chore-open-api/TmGmEqoffYUVv4Df/images/master-ui/search-bar.png?fit=max&auto=format&n=TmGmEqoffYUVv4Df&q=85&s=277a80c698c935e66f25c1e9e73bc423" alt="Collection search bar with highlighted matches" width="3360" height="510" data-path="images/master-ui/search-bar.png" />
</Frame>

By default, Forest searches across the fields configured as searchable for that collection (configured by your developers in the back-end), and matches on **contains**.

<Info>
  Developers can configure which fields are included in search using the `searchable` option in the back-end configuration.
</Info>

### Extended search

By default, only the collection's own fields are searched. Reference fields of `belongsTo` records are ignored. **Extended search** also looks inside the reference fields of related records. It is not the default because it is slower.

<Frame caption="Toggling extended search to also match inside related records">
  <img src="https://mintcdn.com/forest-chore-open-api/TmGmEqoffYUVv4Df/images/master-ui/extended-search.png?fit=max&auto=format&n=TmGmEqoffYUVv4Df&q=85&s=60f6b2d470aa53d92b589ce898c99961" alt="Extended search toggle" width="1920" height="294" data-path="images/master-ui/extended-search.png" />
</Frame>

### Advanced search syntax

<Info>
  Advanced search syntax is supported on Node.js back-ends (`@forestadmin/agent`) from version 1.36.18.
</Info>

Combine these operators to search precisely:

| Syntax                        | Matches                                                           |
| ----------------------------- | ----------------------------------------------------------------- |
| `-term`                       | records that do **not** contain `term`                            |
| `property:term`               | records with `term` in the `property` field                       |
| `relation.childProperty:term` | records with `term` in `childProperty` of the `relation` relation |
| `term1 OR term2`              | records with `term1` or `term2`                                   |
| `term1 AND term2`             | records with both (same as `term1 term2`)                         |
| `property:NULL`               | records whose `property` is the technical value `NULL`            |
| `"multiple quoted words"`     | the exact phrase, without splitting into separate terms           |

All of these can be nested, for example `(property:term OR -term2) AND (property1:NULL OR relation.childProperty:term3)`.

`NULL`, `OR` and `AND` must be written in capital letters to be read as operators.

### Focused search on one property

`property:searchedTerm` searches only inside `property`; `relation.childProperty:searchedTerm` searches inside a relation's field.

<Info>
  The property name matches the technical name in the database. Forest ignores casing and separators like `-` and `_`, so `property_name` matches a technical `propertyName`.
</Info>

Focused search combines with the operators below, for example `property:>20`.

**Text fields** match with the first operator your database supports, in order: contains (case insensitive), contains (case sensitive), then equal. So searching `Term` matches `TERM` and `abcTERMdef` on a case-insensitive database.

**Number fields** support `>42`, `>=42`, `<42`, `<=42` (for example `property:>42`).

**Date fields** support partial dates (`2020`, `2020-01`, `2020-01-01`) and the comparison operators (for example `property:>2020-01-01`, `property:<=2020`). Dates use the timezone configured in Forest.

**Boolean fields** accept `true`/`1` and `false`/`0` (case insensitive).

## Filtering

The **filter panel** lets you apply precise conditions to narrow down the list of records.

Click the **Filter** button (funnel icon) to open the filter panel, then:

1. Select a **field** to filter on.
2. Choose an **operator** (equals, contains, greater than, is null, etc.).
3. Enter a **value**.
4. Click **Apply**.

Add multiple filters and combine them with **AND** or **OR** logic. Filters are applied on top of any active segment.

### Saving filters

Frequently-used filters can be saved as **segments** by your developers. See [Segments](/product/process/segments/creating-segments) for more information.

## Segments

**Segments** are predefined subsets of a collection, equivalent to a saved filter. They appear as **tabs** above the record list.

Switch between segments by clicking the tabs. The record count next to each tab shows how many records match that segment.

<Info>
  Segments are configured by developers in the back-end code or by admins in the Layout Editor. See [Segments](/product/process/segments/creating-segments).
</Info>

## Pagination

Large collections are split across multiple pages. Use the pagination controls at the bottom of the table to:

* Navigate **Previous / Next** page.
* Jump to a **specific page** by entering the page number.
* Change the **page size** (number of records per page).

The total record count is displayed next to the pagination controls.

## Detail view

Click any row in the table to open the **detail view** for that record. The detail view shows:

* All fields for the record, organized in the layout defined by your admin.
* **Related data**, linked records from related collections (one-to-many, many-to-many).
* **Action buttons**, actions available for this record.
* **Collaboration tab**, notes, approval requests.

Use the **Edit** button to modify field values directly from the detail view.

## Bulk selection

To perform an action on multiple records at once:

1. Check the **checkbox** on the left of each row you want to select.
2. To select all records on the current page, check the **header checkbox**.
3. To select all records across all pages (matching the current filter), use the **"Select all N records"** option that appears after selecting the page.

Once records are selected, **bulk actions** appear in the toolbar above the table.

<Warning>
  Some bulk actions may have a maximum record limit. Check the action documentation or contact your developers for details.
</Warning>
