Display entries which share tags (2 or more) I need to be able to display entries (within one section) that share keywords. I don't care what the keywords are, just want to display the entries based on 2 or more shared keywords.

Anyone know how to go about this?
After chatting on Discord a bit more, here's a solution in case it helps somebody:

{# Base query #}
{% set baseQuery = craft
    .entries
    .section('stories')
    .orderBy('RAND()')
    .with(['storyKeywords']) %}

{# Fetch one story at random #}
{% set baseStory = baseQuery.one() %}

Base random story: {{ baseStory.title }}&lt;br&gt;

{# Fetch a second story related to `baseStory` at random #}
{% set relatedStory = clone(baseQuery)
    .relatedTo({
        targetElement: baseStory.storyKeywords,
        field: 'storyKeywords'
    })
    .id('not ' ~ baseStory.id)
    .one() %}

Related Story: {{ relatedStory.title }}&lt;br&gt;

{% set baseKeywords = baseStory.storyKeywords %}
{% set relatedKeywords = relatedStory.storyKeywords %}

&lt;hr&gt;
All tags in common: {{ baseKeywords | filter((tag) =&gt; tag.title in relatedKeywords) | join(', ') }} &lt;br&gt;
Number of tags in common: {{ baseKeywords | filter((tag) =&gt; tag.title in relatedKeywords) | length }}