Text Search¶
In this article:
See also:
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.
To disable previous search suggestions, uncheck the checkbox at Preferences > Misc > Disable text filter storing.
Global search¶
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.
Full-text search¶
Provides the ability to perform much faster and comprehensive text search.
Full-text search can be enabled for a specific entity type at Administration > Entity Manager > Edit specific entity type > Full-text search.
After enabling full-text-search, running rebuild is required. If you have many records, it's recommended to run rebuild from CLI: php rebuild.php
.
Full-text search is always applied in the 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.
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.
Minimum word length¶
The MySQL option ft_min_word_len
defines a minimum word length available for full-text search. By default, it's set to 4
. You might want to set it to 3
to be able to search shorter words.
If you change this parameter in MySQL, you also need to run rebuild in Espo.
Stopwords¶
MySQL has a list of stopwords that are ignored by full-text search. E.g. hello.
Autocomplete¶
When full-text search is enabled, autocomplete in link fields may not show suggestions until you type a full word. To have suggestions work for word parts, you can enable the parameter that will append the wildcard operator automatically for autocompletion queries. Administration > Settings > Append wildcard in quick search.