Most content management systems only offer basic search functionality, and Matrix is no exception. Although this author is biased because at the time of writing, he works for an enterprise search engine vendor, an enterprise search engine can offer a lot over the standard Matrix Search, including:
- Better quality results. The algorithms used by enterprise search engines are more sophisticated, and normally return better results out of the box than Matrix.
- Customisable. Results can be fine tuned based on the business requirements of your organisation. Results can easily be added, removed, upweighted or downweighted based on any number of criteria. Specific results can be featured based on specific queries.
- Features. Query expansions (thesaurus/synonyms), faceted navigation, query suggestions, best bets and more are available in most enterprise search engines.
- Performance. Search results will be returned much faster than the standard Matrix search.
- Scalability. Search in Matrix is very resource intensive, and can affect all aspects of Matrix performance, from delivering a front-end page to the user, to using the Administration Interface. Enterprise search engines can remove this load from Matrix, freeing up resources for Matrix to perform other tasks.
PerformanceIf enterprise search isn't an option, let's look at the ways you can reduce the load Search may place on your Matrix system.
Global Search OptionsOn the Details of the "Search Manager", set the following options:
- Minimum Word Length: 4 is the default, and appropriate for most systems, but a higher value will reduce the size of the search index, and typically improve performance. This setting doesn’t affect Oracle-based systems.
- banything specific to your organisation or locality. Acronyms shorter than the Minimum Word Length are most important here (state or province and organisational abbreviations would be the most common examples).
- Contains Search set to "No". This option normally returns less relevant results anyway, and it's unusual to find this option enabled by default in an enterprise search engine.
- Noise Word List: enterprise search engines have an internal set of stop words which are not indexed, but Matrix only ships with 4 of these words: a, the, it, this. Adding a better list of these words should reduce the size of your index, and hence the amount of load put on the system. Wikipedia typically has links to several lists of pre-defined stop words to use in the "Noise Word List".
SELECT value, count(value) FROM sq_sch_idx GROUP BY value ORDER BY count DESC
at which point it becomes clear that content, page, and contents should also be added to the list.
To improve the performance of Search Page assets, set these options on the Details screen:
- Search as Public User to "Yes" (if this is a public search across live assets).
- No Roles Check to "Yes" (if you're not using roles).
- No Group Access Check to "Yes" (if this is a public search across live assets).