In this article:
List view text search¶
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
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.
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:
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.