I want that anonymous user serch first their catched query
It's enabled by default. You can verify that by setting the QueryCache logging category to Verbose and examining the ULS log. Whether Anonymous search result cache is enabled or not is determined by the TryCache property in the Content Search/Catalog Item Reuse Web Part configuration. This setting is not visible in the UI so in order to change it you have to export the Web Part first.