Don't miss out Virtual Happy Hour this Friday (April 26).

Try our conversational search powered by Generative AI!

Fuzzy Matches and Stemming

Vote:
 

Hi!

I use Find v13.0.1 and Find.Commerce v10.2.0

Let's say I want to search though Variations:

var variationSearchResult = Search().For(searchQuery)
.InField(variation => variation.DisplayName)
.AndInField(variation => variation.Description.AsViewedByAnonymous())

I want to have the exact matches for the DisplayName on the top. Afterwards I want to have the exact matches for the Description. And in the end there should be some results with not exact matches for Display name - so it is ok to have there misprints, stemming, etc.

So basically I thought that something like this can solve this problem:

 .BoostMatching(variation => variation.DisplayName.Match(searchQuery), 13)
 .BoostMatching(variation => variation.DisplayName.MatchFuzzy(searchQuery), 0.1)

But I don't like the results I am getting. For example, some stemming items may appear quite high in the list. The worst thing here is that stemming can work quite badly for Dutch language suggesting completely different words...

#197309
Sep 28, 2018 21:42
Vote:
 

Stemming in Dutch returns so many false positives, I've turned it off in one project, by using  .UnifiedSearch(Language.None).

#200896
Jan 30, 2019 11:45
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.