Skip to content

Text Search

In this article:

See also:

On the record list view it's possible to perform text search.

The field list, which is used in filtering, can be configured at Administration > Entity Manager > Edit specific entity type > Text Filter Fields.

It's possible to use the wildcard *.

Text Search

There is an option to use 'contains' operator for varchar fields by default. Parameter is available at Administration > Settings. Note, that it can affect performance.

Global Search performs a search in multiple entity types simultaneously.

The list of entity types used in Global Search can be configured at Administration > Settings > Global Search Entity List.

The field list which is used in filtering can be configured at Administration > Entity Manager > Edit specific entity type > Text Filter Fields.

Global Search

Provides an ability to perform a much faster and comprehensive text search.

Full-text search can be enabled for a specified entity type at Administration > Entity Manager > Edit specific entity type > Full-text search. Running rebuild is required. Run from CLI: php rebuild.php.

Full-text search is always applied in Global Search (for entity types with enabled full-text search).

Full-text search is also applied when you search in the list view. Though it can be skipped for some search queries. Yet, it's possible to force a full-text usage by prepending ft: to the search query.

For InnoDB tables the following operators are available:

  • + A leading plus sign indicates that this word must be present.
  • - A leading minus sign indicates that this word must not be present.
  • (no operator) The word is optional, but the rows that contain it are rated higher.
  • * The truncation (or wildcard) operator. Appended to the word to be affected.
  • " A phrase enclosed within double quotes must be contained literally, as it was typed.

Note: MySQL option ft_min_word_len defines min word length available for full-text search. By default it's 4. If you change this paramater, you need also to set EspoCRM fullTextSearchMinLength parameter at data/config.php: 'fullTextSearchMinLength' => 3.

Note: MySQL has a blacklist of words that are not available for full-text search. E.g. test, hello.