Understanding partial word matching in search results

On our vanilla search
When I search for:
“Pen” I get Pennsylvania results.
The same for “Penn,” and “Pennsyl” search terms
But when I search for “Pennsy” I get “no results found” for “Pennsy” but the other terms work as expected.

In Firefox - For this example the errant search string “Pennsy” just returns one result for our “members from Pennsylvania” group - but the behavior is equally weird.

No errors in the console, no clear issues in the XHR headers … just a vastly smaller response object (as one would expect from the behavior).

To rule out that this wasnt a version, or implementation issue, I tested it on metaDotDiscourse as well, and it happens here!

Note: it also happens for “Jus” (lots of results)
then “Just” gives only user results.
but “justi” gets forum reults.
Given the two examples, I imagine other search results do this as well.
Interestingly it doesn’t seem tied to the term length. So what’s going on is well beyond me!

It has to do with word stemming, a technical search concept.

1 Like

I appreciate the attention, but this is still

  1. unexpected behavior — a vastly different set of (or no) results for the same word root for which there is content.
  2. the cross browser inconsistencies are quite odd, no??

Our end-users don’t know what stemming is, which as you point out is a technical research term.

With the post-title change, other discourse-deployers experiencing similar issues wont be able to locate it when searching the forum, and with this no longer being a bug report no one with potential to help improve the behavior will see it as something that may benefit from addressing.

If it is for a critical item that must be found in search, make sure you use tags, special words, or some other distinct marker. You may also be interested in search stop words: