code: protected void checkCacheVersion() {
          // Be very aggressive in invalidating the cache.
          boolean invalidate = true;
          try {
              Get get = new Get.Builder(getDefaultIndexName(), "instance").type("dataVersion").build(); //$NON-NLS-1$ //$NON-NLS-2$
              JestResult result = getClient().execute(get);
              if (result.isSucceeded()) {
                  String latestDV = result.getJsonObject().get("_version").getAsString(); //$NON-NLS-1$
                  if (latestDV != null && dataVersion != null && latestDV.equals(dataVersion)) {
                      invalidate = false;
                  } else {
                      dataVersion = latestDV;
                  }
              }
          } catch (IOException e) {
              logger.warn("Elasticsearch is not available, using cache");
              invalidate = false;
          }
          if (invalidate) {
              invalidateCache();
          }
      }
docs: Checks the ES store to see if the 'dataVersion' entry has been updated with a newer
  version #.  If it has, then we need to invalidate our cache.