I'm trying to build a semantic search engine for my production application. I tried building one from scratch. I did the tokenization, vectorization,... & other steps myself, but the whole process was consuming a lot of time.
So I decided to use tools like Elastic Search, Amazon Kendra, Qdrant, etc. for the same. I finalized 'Amazon Kendra' after some research as it is a specialized 'Enterprise Search Engine'.
When I tested the efficiency of the search engine, I realized that Kendra isn't very powerful. It is more suitable for keyword search than semantic search. For example, I took an e-commerce dataset related to clothing. The word 'Shirts' appears multiple times in the dataset, but in my query, when I give an input with a misspelled word like, "Show me records related to shurts", it doesn't recognize the user intent. It gives an error message, "No results found". Kendra doesn't even implement something as simple as a fuzzy logic.
What I have tried:
Have I made a wrong choice by choosing Kendra? Are there better alternatives? Or am I supposed to implement the fuzzy logic myself in the Python code when working with Kendra?