The main problem with writing a good site search is that it users are dumb humans and that google conditioned them to expect that software can actually understand and respond correctly to their incoherent chatter.
Humans that use search will not bother to understand what kind of information is in your site what what is the correct spelling used in the site for the words there are looking for.
They will not bother to check if you spell color as colour and will expect you to understand that when they wrote apropriate they actually meant appropriate. And not all users are native english speakers so sometimes they are totally guessing what is the correct spelling.
There are great algorithms like soundex and metaphone but they are mainly for US english users….
No wonder the entry barrier in the search engine market is high. You actually need to employ linguistic experts to be able to develop algorithms that parse user input in all the languages in order to compete with google