I am creating price comparison website in php and mysql. so i need to find similar products and map it to create price comparison table. In my database 10,000+ products are available, so to find similar products i have create mysql fulltext index in product name and description columns and compare product with other products, but i can't get desire result, for example if i Search
Search for "Samsung Galaxy A7 (2017) 32gb", get results:
- Samsung Galaxy A7 32gb (2017)
- Samsung Galaxy A7 smartphone
- Samsung Galaxy J7 (2017) 32gb Black
- Samsung Galaxy A7 64gb (NEW)
- Samsung Galaxy J7 Prime 16gb
- Samsung Galaxy J7 (16gb, Black)
- Samsung Galaxy J2 Pro (16gb)
- Samsung Galaxy A5 (32gb)
- Samsung Galaxy S7 Edge 32gb Blue Coral
Note: In result set only first two and fourth product is similar, not other are
Now, i have question:
How to find important keyword from search query, so that keyword are required at least in other product to know similarity? for example in above search query "Samsung Galaxy A7" is important keyword, and that should be required in other product in result. We Human can know, "Samsung Galaxy A7" is important keyword from "Samsung Galaxy A7 (2017) 32gb" to compare with other products, but how can know computer program?
There is any algorithm to compare similar product by important keyword as like sift algorithm in image comparison.
If you have any good method to find similar products, please suggest me