How to query a committed tx internally


I’m trying to write my own component following the SDK tutorial.
I’m wondering what is the correct way to search for a transaction internally (from the keeper with a sdk.Context).

I see 2 options:
1- querying the Tendermint RPC
2- Making internal call to the transactions index

option 1 sounds overkill to me, I would prefer going with option 2, just I can’t find the way to do that ^^

Can you advise ?