Relevanssi Premium 2.10.2 introduces a new way to search: wildcard matching. Once the wildcard matching is enabled (it is disabled by default), it introduces two new operators: * and ?.
Using the wildcard operators
The * operator replaces zero or more characters, so searching for w*ess
would match “wilderness”, “witness”, “WordPress” and also “wess”.
The ? operator matches exactly one character, so searching for gr?y
would match “grey” or “gray”, but not “gravy” or “groovy”.
These operators only work within words. Searching for *ess
or gra?
will not have the expected results.
The wildcard operators can only be used when the “Keyword matching” setting is not set to “Whole words” because wildcard matches are not whole-word matches.
Enabling wildcard matching
In order to enable the wildcard matching, add a filter function that returns true
to the relevanssi_wildcard_search
filter hook, like this:
add_filter( 'relevanssi_wildcard_search', '__return_true' );
Add this one-liner to your site to enable wildcard matching.
Interesting… I was expecting two question marks to be treated as two single character wildcards.
Instead, searching for: abc??def
is the same as searching for: abc* def
Correct: the ? operator can only appear between two word characters, otherwise it’s interpreted as a regular question mark. You can use two question marks, but they cannot be next to each other.