Hey folks!
I’m a product manager who works on a project that helps businesses find opportunities based on company profiles and specific fields like name, description, and services. Additionally, companies can add information in three key areas:
“I’m looking for” (specific needs like finding an investor or partner), “What I can give” (what they can offer in return, like networking or services), “Open to” (exploratory possibilities like M&A).
Currently, I’m using a similarity search to match businesses with each other based on these fields. For example, if a user asks, “show companies I can sell my products to,” the system tries to find matches based on context.
However, I’m not sure if similarity search is the best approach for this task. I’m looking for insights on how others have solved similar matching problems, especially when matching business queries to other companies’ needs and offerings. Any advice on alternative methods or technologies you’ve used successfully would be appreciated!
Will be glad to hear any comments. Thx
what you are looking for is called RAG.
If you are looking for some resources or what to learn about it you can check these links below. my blogpost in here RAG chatbot using llama3 and maybe this one too if you have images in your dataset Image-based search engine
some cool resources can also be found in here Open-Source AI Cookbook - Hugging Face Open-Source AI Cookbook and here Hugging Face – Blog
Similarity search is a good starting point, but I’d also consider combining embeddings with structured metadata (industry, location, and service categories). That usually improves matching quality, especially when businesses describe the same service differently.
For example, a business may list Junk Removal Services while another uses terms like hauling, cleanouts, or debris removal. Mapping those variations into standardized service categories before semantic matching can improve accuracy. The same applies to more specific services such as Commercial Junk Removal, where intent and customer type matter in the matching process.