I have a system in which I have to select "similar" records. Imagine a database containing a big list of products and when the user enters partial name of a product, a list of products come up as *suggestions* about the product he is searching for. These products have a longer *description* field too.

This is **NOT** about a `WHERE product_name LIKE '%entered_string%'` query, I think. The logic is akin to the one Stack Overflow might use, id est: when you ask a question, it prompts you with *Questions that may already have your answer* and *Similar questions*, both obviously using a method to derive what I want to ask from my question title/content and search against the database, showing the results.

I just wonder whether it is accomplishable with PHP and using MySQL as the database.

Example:
Entering `food` should give us results like `1kg oranges`, `bread` and `cookies`. Both of these would have something similar which could help to link them programmatically to each other.