grep and find work fine, grep for example was not designed to run searches with multiple search keys, and neither of them use an index, so every search walks the filesystem anew. Another traditional tool, locate, uses an index for speed, but it only knows how to search filenames (and paths), not file contents.Anyway,
recoll appears to be the open-source file indexing and searching tool that I was looking for. Here's how to install it in openSUSE: