# Full text search

> Learn how to add a full-text search feature in your PandaSuite project that scans all static texts and redirects users to their corresponding locations. This guide covers input field creation, result display, and linking essentials.

https://docs.pandasuite.com/essentials/data/full-text-search/

**Add a search that scans all the texts in your project (static texts). When clicking on the results, the user is redirected to the correct location.**

[Image: Medical app: typing “fever” in the search field lists Common Cold, Ear Infections and Gastroenteritis] This is a special case of using the **Search** component. We strongly
recommend consulting [the dedicated
article](https://docs.pandasuite.com/essentials/components/search/) before reading this one.

[Template: Search all texts](https://pandasuite.com/dashboard/use-template/QuO8FYwB5IBMJWwgOAeX)

## Create the input field

Insert the **Search** component.

In the **Properties**, for the **Source**, choose **From project > All texts.**

[Image: Source of the Search component set to From project > All texts: the Data window lists the 33 texts of the project]

Double-click the component to enter inside and view the raw data. Click on the fields where the search will be performed, for example, the title.

[Image: Raw data of a text inside the Search component (screenName, text, id, screen): clicking a value makes it searchable]

## Displaying the results

Now, let's prepare the display of the list of results.

Insert a **Collection** component.

In the **Properties** of the component, fill in the **Source**: choose **From a component** > **Search** and **Search Results**.

[Image: Source of the Collection List: the Data window points to Search30645 > Search results, an array of 33 items]

Inside the component, insert a result template that will be used to display the search results. This template will be duplicated from the query results.

Select the text block that represents an example result. From **Content**, open the data window, choose your Search component and its **Search results**, then add the **By Id** function and finish with the field you wish to display (here `screenName`). The **Uniq By** function in the example keeps one result per screen.

In **By Id**, set the **Identifier** to **Current item**: each copy of the template then displays its own result.

[Image: Content of the Disease text in the result template: path Search results, Uniq By, By Id, then screenName, framed with the Content binding]

[Image: The By Id function of this path: its Identifier parameter is bound to Current item, framed]

Use the Sort by (ascending order/descending order) and Filter by (a condition) options to customize the display of the collection.

## Create a link to the screen

To create the link to the screen, select the result template and add an action to **Tap/Click**

**Change Screen** > **Go to Screen**

At the **Screen** level, add a data binding to go to the correct screen. Select **Current Item** and choose the **Screen** field. The same Screen value exposes `name` and `index` if you also want to display where each result comes from.

[Image: Tap/Click actions of the result template: Clear Text on the text input, then Go to screen, with its Screen set by data binding]

[Image: Data window for the action's Screen: Current Item selected, its Screen field (value Ear Infections) framed in red]
