Searchable attributes

Child route of the settings route.

The values associated with attributes in the searchableAttributes list are searched for matching query words. The order of the list also determines the attribute ranking order.

Searchable attributes can also be updated directly through the global settings route along with the other settings.

NOTE

Updating the settings means overwriting the default settings of MeiliSearch. You can reset to default values using the DELETE routes.

Learn more about searchable fields.

Get searchable attributes

GET

  1. /indexes/:index_uid/settings/searchable-attributes

Get the searchable attributes of an index.

Path Variables

VariableDescription
index_uidThe index UID

Example

  1. $ curl \
  2. -X GET 'http://localhost:7700/indexes/movies/settings/searchable-attributes'
  1. client.index('movies').getSearchableAttributes()
  1. client.index('movies').get_searchable_attributes()
  1. $client->index('movies')->getSearchableAttributes();
  1. index.searchable_attributes
  1. client.Settings("movies").GetSearchableAttributes()
  1. let searchable_attributes: Vec<String> = movies.get_searchable_attributes().await.unwrap();

Response: 200 Ok

List the settings.

  1. ["title", "description", "genre"]

Update searchable attributes

POST

  1. /indexes/:index_uid/settings/searchable-attributes

Update the searchable attributes of an index.

Path Variables

VariableDescription
index_uidThe index UID

Body

An array of strings that contains searchable attributes sorted by order of importance (arranged from the most important attribute to the least important attribute).

This means that a document with a match in an attribute at the start of the array will be considered more relevant than a document with a match in an attribute at the end of the array.

More information about the body.

Example

  1. $ curl \
  2. -X POST 'http://localhost:7700/indexes/movies/settings/searchable-attributes' \
  3. --data '[
  4. "title",
  5. "description",
  6. "genre"
  7. ]'
  1. client.index('movies').updateSearchableAttributes([
  2. 'title',
  3. 'description',
  4. 'genre',
  5. ])
  1. client.index('movies').update_searchable_attributes([
  2. 'title',
  3. 'description',
  4. 'uid'
  5. ])
  1. $client->index('movies')->updateSearchableAttributes([
  2. 'title',
  3. 'description',
  4. 'genre'
  5. ]);
  1. index.update_searchable_attributes([
  2. 'title',
  3. 'description',
  4. 'genre'
  5. ])
  1. searchableAttributes := []string{
  2. "title",
  3. "description",
  4. "genre",
  5. }
  6. client.Settings("movies").UpdateSearchableAttributes(searchableAttributes)
  1. let searchable_attributes = &[
  2. "title",
  3. "description",
  4. "genre"
  5. ];
  6. let progress: Progress = movies.set_searchable_attributes(searchable_attributes).await.unwrap();

A match in title will make a document more relevant than another document with a match in description.

Response: 202 Accepted

  1. {
  2. "updateId": 1
  3. }

This updateId allows you to track the current update.

Reset searchable attributes

DELETE

  1. /indexes/:index_uid/settings/searchable-attributes

Reset the searchable attributes of the index to the default value.

Default value

All attributes found in the documents added to the index.

Path Variables

VariableDescription
index_uidThe index UID

Example

  1. $ curl \
  2. -X DELETE 'http://localhost:7700/indexes/movies/settings/searchable-attributes'
  1. client.index('movies').resetSearchableAttributes()
  1. client.index('movies').reset_searchable_attributes()
  1. $client->index('movies')->resetSearchableAttributes();
  1. index.reset_searchable_attributes
  1. client.Settings("movies").ResetSearchableAttributes()
  1. let progress: Progress = movies.reset_searchable_attributes().await.unwrap();

Response: 202 Accepted

  1. {
  2. "updateId": 1
  3. }

This updateId allows you to track the current update.