Not sure if this is the correct forum but it seemed the most relevant. I am hoping if someone could kindly point me in the right direction for what I am attempting to achieve.
We have elasticsearch 6.4 setup on our server and it is used to provide search results of over 50 million personalised car registrations to users.
We have the data indexed and showing on the site, and have setup search rules for trying to make the search as relevant as possible by using exact match, partial match, shortening, regexp and fuzzy matching, however the results still aren't relevant.
The basics are a user will go to our site, type in a word or words of their choice (usually their name), and hopefully see a registration which they like to purchase.
So if a user types in "Mark" as the query, a registration such as MA05 RKE could appear, as it looks like "Mark". Unfortunately this isn't happening.
From what I see, our current setup is potentially only looking for "Mark", "Mak" if partial matching, "MK" if shortening", "M4rk" if regexp etc. It doesn't seem to take into account the distance between the letters to a potential registration to show relevance.
ie; Currently a query for "Mark" may show a registration like "MK02 ABE" or "MR12 MAK" due to the current search rules, but they are not as relevant as say "MA05 RKE" which has more letters matching overall & also looks similar to the query.
Another example is a query like "Shelly" could show "SH20 LLY" or "L23 SHE", but currently we get something like "XXX SLL".
Would anyone be able to point me in the right direction of achieving this? I appreciate any advice and thankyou for your time.