> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure Searchable Fields

> Learn how to configure fields to participate in search in the search storage app, including plan differences, feature overview, use cases, and the component categories and types that support search.

<Warning>
  Prerequisites:

  * On paid plans, the new search storage app removes the limit on searchable field configuration. By default, all added filter fields are searchable.
  * On the Free plan, both the old and new search storage apps require you to configure searchable fields manually.
  * For details on the search capability upgrade, see the related documentation.

  **Note: If the data management page shows an Expand subtable columns button, it is the old storage app.**
</Warning>

## 1. Overview

### 1.1 Feature Overview

The number of fields that can participate in filtering on the data management page is limited. When a form contains too many fields, any fields beyond the filter limit are automatically placed in the "Non-searchable fields" list. To make specific fields searchable, customize the searchable fields.

### 1.2 Use Cases

Whether a field participates in search affects API calls, data management page queries, component data linkage matching conditions, business association rules, and other scenarios. Report search is not restricted by this setting.

## 2. Component Categories That Support Search

### 2.1 Search Types

The system currently supports four search types: **exact search, fuzzy search, numerical search, and other search**. Each component is automatically classified into one of these four types.

**Each search type has an upper limit on the number of fields that can participate in the search.**

Fuzzy search is case-insensitive. For example, given record 1: ABCD and record 2: abcd, entering either A or a returns both records.

The classification is as follows:

| **Exact search (up to 50)** | **Fuzzy search (up to 15)** | **Numerical search (up to 20)** | **Other search (up to 20)** |
| --------------------------- | --------------------------- | ------------------------------- | --------------------------- |
| Select                      | Single-line text            | Numerical                       | Department                  |
| Dropdown select             | Multi-line text             | Rating                          | User                        |
| Cascading select            | Image upload                | Date range                      | Checkbox                    |
| Address                     | Address                     | <br />                          | Dropdown multiselect        |
| <br />                      | Subform                     | <br />                          | Country/Region              |
|                             | Attachment                  |                                 | Associated form             |

<table>
  <tr>
    <td />

    <td>**Component name**</td>
    <td>**Operator**</td>
    <td>**Notes / Alias**</td>
  </tr>

  <tr>
    <td rowSpan={15}>Standard components</td>
    <td>Single-line text</td>
    <td rowSpan={2}>Equals<br />Match (like)</td>

    <td />
  </tr>

  <tr>
    <td>Multi-line text</td>

    <td />
  </tr>

  <tr>
    <td>Numerical</td>
    <td rowSpan={2}>Greater than / Less than / Between / Greater than or equal to / Less than or equal to</td>

    <td />
  </tr>

  <tr>
    <td>Rating</td>

    <td />
  </tr>

  <tr>
    <td>Select</td>
    <td>Equals / Contains</td>
    <td>"Equals" allows a single selection only.<br />"Contains" allows multiple selections.</td>
  </tr>

  <tr>
    <td>Dropdown select</td>
    <td>Equals / Contains</td>
    <td>Supports fuzzy search by number or letter (searches the submitted option values).</td>
  </tr>

  <tr>
    <td>Checkbox</td>
    <td rowSpan={2}>Equals / Contains (in)</td>

    <td />
  </tr>

  <tr>
    <td>Dropdown multiselect</td>

    <td />
  </tr>

  <tr>
    <td>Cascading select</td>
    <td>Equals / Contains (each level uses eq)</td>

    <td />
  </tr>

  <tr>
    <td>Date</td>
    <td>Greater than / Less than / Between / Greater than or equal to / Less than or equal to</td>

    <td />
  </tr>

  <tr>
    <td>Date range</td>
    <td>Operators for both generated components default to Equals.</td>
    <td>Two components are generated automatically.</td>
  </tr>

  <tr>
    <td>Image upload</td>
    <td rowSpan={2}>Fuzzy match (like)</td>

    <td />
  </tr>

  <tr>
    <td>Attachment</td>

    <td />
  </tr>

  <tr>
    <td>User</td>
    <td>Equals / Contains (in)</td>
    <td>"Equals" allows a single selection only.<br />"Contains" allows multiple selections.</td>
  </tr>

  <tr>
    <td>Subform</td>
    <td>Not exposed in the filter area.</td>

    <td />
  </tr>

  <tr>
    <td rowSpan={9}>Premium components</td>
    <td>Department</td>
    <td>Equals / Contains (in)</td>
    <td>"Equals" allows a single selection only.<br />"Contains" allows multiple selections.</td>
  </tr>

  <tr>
    <td>Country/Region</td>
    <td>Equals / Contains (in)</td>
    <td>"Equals" allows a single selection only.<br />"Contains" allows multiple selections.</td>
  </tr>

  <tr>
    <td>Address</td>
    <td>Address: Equals / Contains (each level uses eq)<br />Detailed address: Equals / Match (like)</td>
    <td>Two components (address and detailed address) are generated automatically.<br />"Equals" allows a single selection only.<br />"Contains" allows multiple selections.</td>
  </tr>

  <tr>
    <td>Rich Text</td>
    <td rowSpan={6}>Not exposed in the filter area.</td>

    <td />
  </tr>

  <tr>
    <td>Layout container</td>

    <td />
  </tr>

  <tr>
    <td>Group</td>

    <td />
  </tr>

  <tr>
    <td>Associated form</td>
    <td>Supports fuzzy search by number or letter (select the associated form data when submitting).</td>
  </tr>

  <tr>
    <td>Location</td>

    <td />
  </tr>

  <tr>
    <td>Signature</td>

    <td />
  </tr>
</table>

**Example**: If a form contains a Single-line text field, that field is classified into the fuzzy search list. When the number of Single-line text fields in a form exceeds 15, the extra Single-line text fields are marked as "Non-searchable fields".

Fuzzy search

### 2.2 Steps

Data management page >> Configure Filter >> Admin configures default filter fields and sorting >> Configure searchable fields >> Search for the fields to include in search >> Turn on Participate >> Click Apply now.

After you click Apply now, a DingTalk Work Notifications message confirms that setup is complete.

## 3. FAQ

<AccordionGroup>
  <Accordion id="q1" title="3.1 Data linkage does not take effect">
    If data linkage does not take effect, first check whether the field used as the data linkage condition in the associated table is included in search.
  </Accordion>

  <Accordion id="q2" title="3.2 A business association rule did not execute successfully">
    If a business association rule was triggered but did not execute successfully, first check whether the fields used as the primary or sub-conditions in the execution function are included in search on the data management page of the corresponding form.
  </Accordion>

  <Accordion id="q3" title="3.3 Calling a YiDA API returns an app configuration error">
    If calling a YiDA API returns an app configuration error, first check whether the query fields passed in the searchFieldJson parameter are included in search on the data management page of the corresponding form.
  </Accordion>

  <Accordion id="q4" title="3.4 The Configure searchable fields option does not appear on the data management page">
    This setting must be configured on the data management page under the form. It cannot be configured on a management page you create yourself.
  </Accordion>
</AccordionGroup>
