As an alternative to pdfgrep you can use rga.
rga performs a recursive search with caching enabled by default.
I did a quick comparison with a 15 GB PDF collection stored on an SSD.
$ gtime --format "%Es" pdfgrep --recursive --cache --ignore-case conclusion
2:15:26s # initial run
3:05.30s # with cache
$ gtime --format "%Es" rga --type pdf conclusion
33:26.96s # initial run
1:18.70s # with cache
$ gdu -sh --apparent-size ~/.cache/pdfgrep
697M /Users/sschmidt/.cache/pdfgrep
$ gdu -sh --apparent-size ~/Library/Caches/rga
186M /Users/sschmidt/Library/Caches/rga
So rga was about 4x faster than pdfgrep on the initial run and about 2x faster on the cached run. Apart from that the size of the rga cache was only about a quarter of the pdfgrep cache. This if course just my specific setup, so results may vary depending on your configuration.