For the significant terms use-case, it is not a problem to cache missing entries since it is never supposed to lookup missing terms but for more generic usage, I'm wondering if we should actually cache missing entries. In addition to the fact that it might use a lot of memory if this terms enum is queried with lots of random terms, I think the current default terms index should do a good job at not looking up on disk terms that don't exist?