I want a library that I can use with my site, in which I can input the title and description of all the items I have, and then input search terms in natural english and get relevant results. I am very willing to look into paid or even SaaS solutions, as well as open source software.
To avoid an X/Y problem, here is my problem:
I have this database of items that are being sold on an eCommerce site. People want to find items, and there is a search bar on the top. Before I got here, it simply took every keyword and did a query similar to
WHERE name LIKE '%keyword1%'
OR name LIKE '%keyword2%'
OR description LIKE '%keyword1%'
OR description LIKE '%keyword2%'
I then changed it to use MySQL's FULLTEXT index on both the name and description, and then implemented a homebrew solution to parse strings like "4 feet" in both the query and the title and match them as measurements instead of as bare text. Even now, many products do not appear when they should or are too far down the list. After all this, I realized certainly somebody has done this before and I should use their code instead of trying to do it myself, since I have sunk far too much time into this already.