We can cache search results since we call purge_all after entity update