I'm currently trying to develop a little search engine on a php/mysql based website.
This search engine needs to be able to search on many text fields (5) and return the results even if the work is misspelled.
For example, a search on the term "ward" could return the result "search your words".
If possible, this could also get a precision setting that I could adjust.
I've developped a MySQL function that insert every characters of the term and the search fields in two temporary table and make a sql to determine if the result is fine. This is great for a Database with 20 - 50 results. But when I try with a database of 1000 - 5000 rows, this is not possible to make it work because i'm getting a timeout.
I also checked for the "soundex" possibilities, but didn't find a way to make it work with wildcard characters.
Here is the question:
I would like to know if any people has an algorythm in MySQL or PHP that could fit my needs.
Everything can help, even if it's just a link or a theorical algorythm.
”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.
-Mike Kapnisakis, Warner Bros
With your subscription - you'll gain access to our exclusive IT community of thousands of IT pros. You'll also be able to connect with highly specified Experts to get personalized solutions to your troubleshooting & research questions. It’s like crowd-sourced consulting.
We can't always guarantee that the perfect solution to your specific problem will be waiting for you. If you ask your own question - our Certified Experts will team up with you to help you get the answers you need.
Our certified Experts are CTOs, CISOs, and Technical Architects who answer questions, write articles, and produce videos on Experts Exchange. 99% of them have full time tech jobs - they volunteer their time to help other people in the technology industry learn and succeed.
We can't guarantee quick solutions - Experts Exchange isn't a help desk. We're a community of IT professionals committed to sharing knowledge. Our experts volunteer their time to help other people in the technology industry learn and succeed.