I was wondering how the search engine for expression engine works. We are trying to search for some terms which we would like to have specific results. When searching for a unique term which is not used in other entries the search results seem rather generic and mostly unrelated.

What type of content does the search module crawl?

Will it filter results based on title, body, tags..?

How, if multiple filters, does the search module prioritize these item?

1 Answer 1


You should probably read up on the Search docs for EE.

That said, EE uses substring matching to return the search results. It's a fairly simple method (using MySQL's LIKE operator) that doesn't offer any scoring mechanism to add relevance to search results. Therefore, search results are only ordered by entry date or title.

Also, the LIKE method will always match substrings, so searching for "cat" will also return "concatenation". You can tell EE to search like this either in an entry's title only, in the title and custom fields, or in the title, custom fields and comments.

So, with the native search module, there is no way to sort by relevance, prioritize or to push a given entry to the top for certain search terms. You will have to look at other search solutions like Super Search or my own Low Search.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.