Hi Jason - what I've done in the past is have a structure like this :
table_Products
ProductID
Product
ProductField1
ProductField2
etc
table_Buyers
BuyerID
Buyer
BuyerField1
BuyerField2
etc
tableKeywords
KeywordID
Keyword
tableProductKeywords
ProductID
KeywordID
tableBuyerKeywords
BuyerID
KeywordID
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?