Posted on

Wildcard matching

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.

Try wildcard matching

Search for wild*d on!

2 comments Wildcard matching

  1. 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

    1. 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.

Leave a Reply

Are you a Relevanssi Premium customer looking for support? Please use the Premium support form.

Your email address will not be published. Required fields are marked *