Is ES suitable for mass product data matching?

Hi all,

We are looking for a tool for matching product data. Googling has brought me to the ES site, but it's not clear if it's really what we're after.

As an example of what we're trying to achieve, we have just over a million product descriptions in a MySQL table. Given a product description (from another source), will ES do a good job of matching it correctly to the equivalent product in our existing data?

We have tried MySQL's built-in MATCH functions, and an "alternative"* full-text search engine but with very mixed and inconsistent results. I'm fully aware that perfect matching is impossible but am trying to find the next best thing.

If ES is a good candidate for this type of work, does anyone have any links to configurations for this type of setup?

Thank you,

Elliot

*Unsure if I will get shot for mentioning other engines :stuck_out_tongue:

Hard to say without more details, but "probably" would be my answer :slight_smile:

What kind of matching do you need? Exact matches? Partial / fuzzy matching? Phrases? Are these full-text product descriptions, or something more like enumeration/product IDs?

The Search in Depth chapter of the Definitive Guide is probably the best (and most complete) resource to learn about this, although if you're new to Elasticsearch you may need to backtrack and read some earlier chapters to get up to speed.

Generally, ES will work very well for any search requirement. The default settings allow you to get a "pretty good" 80% solution working quickly, and reading through the chapters on Relevance in the Guide will help you get that last 20% by tweaking your mappings, boosting different fields, etc.

*Unsure if I will get shot for mentioning other engines :stuck_out_tongue:

No worries, we're friendly here :slight_smile: