Hi Jason - what I've done in the past is have a structure like this :
So, for example, when a new Product or Buyer is added, there is also a page listing a load of checkboxes with various Keywords, and the user just checks the ones they want to attach to the Product or Buyer.
This adds records to the ProductKeywords or BuyerKeywords table.
These can then be used to match Products with Buyers where there is a match in those tables.
So the idea here is that Buyers can register and have a profile etc, and when logged in be able to view the Products where there is a match.
Does that make sense?