Guides / Managing results / Optimize search results / Override engine defaults

Adjusting the Exact Criteria

By default, an exact match occurs when a full word in a query matches a full word in an attribute completely and without typos. An inexact match has typos, or only matches a prefix. For example:

  • “star wars” is an exact match for “Star Wars”
  • “Stare wa” is an inexact match to “Star Wars”
  • “Star wa” is an exact match to “Star”, and an inexact match to “Wars”

Additionally, synonym matching and plural/singular matching are considered exact. Thus, if a synonym of a word matches exactly, it’s considered an exact match for purposes of the exact criterion.

Finally, single-word matches on multi-word attributes are not considered exact matches.

How is the Exact criterion computed?

The exact criterion behaves like a counter: If an exact match occurs in an attribute, the exact counter is incremented by 1. The higher the exact counter, the higher the record is ranked.

The counter works with single or multi-word queries. Every word is treated separately. Thus, if the query contains two words, and they both match exactly in the same attribute, that’s 2 points, 1 for each match. If the first word matches in one attribute, and the second matches in another, that’s also 2 points.

One caveat to keep in mind is that attributes are only counted once per match. What this means is that if the same word matches 10 times in the same attribute, the record gets only 1 point. In contrast, if the same word matches exactly in 10 different attributes, the record gets 10 points.

With all that in mind …

What kind of adjustments can you make to the Exact settings?

First adjustment - disabling exact on some attributes

You can disable the exact criterion on one or more attributes. The result is that the disabled attributes will not take part in the exact computation.

If you have a large description field, where it is likely that an exact match will occur, you might want to disable exact matching on this field. By doing so, you will favor exact matching on other attributes, like title or name. This gives attributes with smaller content more control over ranking than attributes with larger content.

Second adjustment - favoring single word matches

The engine treats single-word queries differently than multi-word queries: When there is a single-word query, the only way to increment the exact counter is with an exact matching of the entire attribute. Concretely, single-word queries only increment the counter when they match single-word attributes exactly.

You can change this default and make single-word queries behave similarly to multi-word queries. You might want to do this if you have a few important single-word attributes, and you want exact matches on these attributes to have a strong impact on the ranking.

Third adjustment - changing the default meaning of exact

You can change this default. You can tell the engine to treat synonym matching and plural/singular matching as inexact matches. This is rarely done.

Did you find this page helpful?