Enforce search match multiple parameters
I think you're misunderstanding what with does. Or I am. Ha!

From what I understand with is for eager loading, but doesn't control anything in the relation itself. I don't think your relation makes any sense either because all you'll do is substitute a string into your spec variables.

Try something more like:

{% set products = craft.commerce.products({
    relatedTo: [
        'and',
        CONDITION1,
        CONDITION2
    ],
    with: [
        fieldYouWantToShow,
        otherFieldYouWantToShow,
    ], 
    order: "title asc",
}) %}


And your conditionals should be something like:

{ targetElement: category },
{ sourceElement: craft.entries.section('reviews').status(null) }


The bottom example here is what you're needing: https://craftcms.com/docs/relations