Note: the “Custom” isn’t a licensing option, but shows some possibilities that can be done with custom modifications.
|Feature||WordPress search||Relevanssi Free||Relevanssi Premium||Relevanssi Custom|
|Easy to install||X||X||X||X|
|Index is updated automatically||X||X||X||X|
|Newest posts first||x||X||X||X|
|Best results first||-||X||X||X|
|Search posts and pages||X||X||X||X|
|Search comments and comment authors||-||X||X||X|
|Search post categories, tags and custom taxonomies||-||X||X||X|
|Search custom fields||-||X||X||X|
|Search shortcode content||-||X||X||X|
|Search post excerpts||-||X||X||X|
|Search user profiles||-||-||X||X|
|Search taxonomy pages||-||-||X||X|
|Search arbitrary MySQL columns in wp_posts||-||-||X||X|
|Show “Did you mean” suggestions||-||X||X||X|
|Search results show and highlight the matches||-||X||X||X|
|Posts highlight the search term matches||-||X||X||X|
|Posts highlight the search term matches from Google and other search engines||-||-||X||X|
|Exclude posts, pages, tags or categories from search||-||X||X||X|
|Use fuzzy matching to make getting hits easier||-||X||X||X|
|Choose between AND and OR operator in search||-||X||X||X|
|Change the operator on the fly if necessary||-||-||X||X|
|Use the NOT operator to exclude search terms||-||-||X||X|
|Adjust the weight of titles, comments and tags||-||X||X||X|
|Adjust weights by post type||-||-||X||X|
|Adjust weights by taxonomy||-||-||X||X|
|Adjust weights by post date||-||-||X||X|
|Adjust weights manually with a filter hook||-||-||X||X|
|Log user queries||-||X||X||X|
|Use stop words to make search better||-||X||X||X|
|Expand queries with synonyms||-||X||X||X|
|WPML and Polylang integration||-||X||X||X|
|WordPress Multisite support *||-||-||X||X|
|Throttling to make searches perform better on big databases||-||-||X||X|
|Export / import settings||-||-||X||X|
|Guaranteed support from Mikko||-||-||X||X|
|Have sticky posts in searches based on search term||-||-||-||X|
|Order results by category first and relevancy second||-||-||-||X|
|Structed searches without any search terms||-||-||-||X|
Multisite support for Relevanssi is something of an experimental feature right now. It is not tested on large networks (more than 10 sites) and I have a feeling that performance issues will be a problem when searching for common words in large networks. Also, Multisite search doesn’t have all the advanced features of single site Relevanssi.
However: these warnings apply only when searching multiple blogs at the same time. By default, Relevanssi searches just the single blog in a Multisite setup and that works exactly like in single site installations.
Multisite searches do not work in the free version of Relevanssi.
Relevanssi works with bbPress to some extent. Relevanssi can index the bbPress custom post types. Note that bbPress post types are by default set to be excluded from the search, so you need to uncheck the “Respect exclude_from_search” option. Also read this KB entry on Relevanssi and bbPress for useful tips.
Based on my earlier experience there have been some problems with Relevanssi and bbPress with some themes, but later tests seem to show the combo works better. So, no guarantees here, but it looks like Relevanssi does work with bbPress at the moment.
Features Relevanssi doesn’t have
As great as Relevanssi is, there are some things it doesn’t do. Here’s a quick list of the features people most often ask for but which Relevanssi doesn’t offer.
- Relevanssi can’t search the contents of PDFs, Word documents, Excel spreadsheets or other external files.
- Relevanssi can’t search content that is stored outside the wp_posts database (except for user profiles and taxonomy term pages). If the content is in wp_posts as a custom post type, it can be searched, otherwise it’s not possible.
- Relevanssi doesn’t do Boolean logic. You can choose whether to use AND or OR operator and there is a NOT operator, but Relevanssi doesn’t support complex faceted queries like (cats OR tigers OR lions) AND (pumas OR cougars) NOT dogs.
- Relevanssi doesn’t have live search suggestions as the user types.