The caching would still work, but each call to the fullTextQuery.enableFullTextFilter(filterName) with the same argument replaces the filter with given name, so if you called .filter("filterName", classesToInclude).filter("filterName", classesToExclude) only the second statement would take effect