@Nullable
  public static Map<String, Set<FieldConfig.IndexType>> getSkipIndexes(Map<String, String> queryOptions) {
    // Example config:  skipIndexes='col1=inverted,range&col2=inverted'
    String skipIndexesStr = queryOptions.get(QueryOptionKey.SKIP_INDEXES);
    if (skipIndexesStr == null) {
      return null;
    }

    String[] perColumnIndexSkip = StringUtils.split(skipIndexesStr, '&');
    Map<String, Set<FieldConfig.IndexType>> skipIndexes = new HashMap<>();
    for (String columnConf : perColumnIndexSkip) {
      String[] conf = StringUtils.split(columnConf, '=');
      if (conf.length != 2) {
        throw new RuntimeException("Invalid format for " + QueryOptionKey.SKIP_INDEXES
            + ". Example of valid format: SET skipIndexes='col1=inverted,range&col2=inverted'");
      }
      String columnName = conf[0];
      String[] indexTypes = StringUtils.split(conf[1], ',');

      for (String indexType : indexTypes) {
        skipIndexes.computeIfAbsent(columnName, k -> new HashSet<>())
            .add(FieldConfig.IndexType.valueOf(indexType.toUpperCase()));
      }
    }

    return skipIndexes;
  }
@Test(expectedExceptions = RuntimeException.class)
  public void testSkipIndexesParsingInvalid() {
    String skipIndexesStr = "col1=inverted,range&col2";
    Map<String, String> queryOptions =
        Map.of(CommonConstants.Broker.Request.QueryOptionKey.SKIP_INDEXES, skipIndexesStr);
     QueryOptionsUtils.getSkipIndexes(queryOptions);
  }