I don't think it's clear that this method also sets the `@delete_criteria` instance variable in addition to returning `true` or `false`. It could get confusing to someone looking at the code if they called `remove_criteria` without calling this check first.

Perhaps you could extract out fetching the index to delete to a separate method which can be used in both this and the `remove_criteria` method.