4.3.8. Searchable Data Model Property

In this chapter, you'll learn what a searchable property is and how to define it.

What is a Searchable Property?#

Methods generated by the service factory that accept filters, such as list{ModelName}s, accept a q property as part of the filters.

When the q filter is passed, the query is applied on searchable properties in a data model.

Define a Searchable Property#

Use the searchable method on a text property to indicate that it's searchable.

For example:

1import { model } from "@medusajs/utils"2
3const MyCustom = model.define("my_custom", {4  name: model.text().searchable(),5  // ...6})7
8export default MyCustom

In this example, the name property is searchable.

Search Example#

If you pass a q filter to the listMyCustoms method:

1const myCustoms = await helloModuleService.listMyCustoms({2  q: "John",3})

The q filter is applied on the name property of the MyCustom records.

Was this chapter helpful?