Data Model, Searching repeating group

Brand new to bubble. Few days in.
Loving the simplicity of bubble. Trying to get a handle on how best to structure relationships between things. Example:
Attached is diagram of what I want. I manage many contractors who do work for my customers. Lets call the work “engagements”. I believe I want 3 things. Contractors, Customers, Contractor_Engagements.

A contractor will have 1 to many relationships with contractor_engagements.
A customer will have 1 to many relationships with contractor_engagements.

  1. Do I want Partner to have a list of contractor_engagements as a field OR does the contractor_engagement having a partner field good enough?
  2. If I am displaying a list of contractor_engagements in a repeating group, is it possible to search for a field within the Partner field of the contractor_engagement