content: package org.apache.solr.common.params;
  
  /**
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements.  See the NOTICE file distributed with
   * this work for additional information regarding copyright ownership.
   * The ASF licenses this file to You under the Apache License, Version 2.0
   * (the "License"); you may not use this file except in compliance with
   * the License.  You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  /**
   * Group parameters.
   */
  public interface GroupParams {
  
    public static final String GROUP = "group";
  
    public static final String GROUP_QUERY = GROUP + ".query";
    public static final String GROUP_FIELD = GROUP + ".field";
    public static final String GROUP_SORT = GROUP + ".sort";
  
    /** the limit for the number of documents in each group */
    public static final String GROUP_LIMIT = GROUP + ".limit";
    /** the offset for the doclist of each group */
    public static final String GROUP_OFFSET = GROUP + ".offset";
  
    /** treat the first group result as the main result.  true/false */
    public static final String GROUP_MAIN = GROUP + ".main";
  
    /** treat the first group result as the main result.  true/false */
    public static final String GROUP_FORMAT = GROUP + ".format";
  
    /**
     * Whether to cache the first pass search (doc ids and score) for the second pass search.
     * Also defines the maximum size of the group cache relative to maxdoc in a percentage.
     * Values can be a positive integer, from 0 till 100. A value of 0 will disable the group cache.
     * The default is 0.*/
    public static final String GROUP_CACHE_PERCENTAGE = GROUP + ".cache.percent";
  
    // Note: Since you can supply multiple fields to group on, but only have a facets for the whole result. It only makes
    // sense to me to support these parameters for the first group.
    /** Whether the docSet (for example for faceting) should be based on plain documents (a.k.a UNGROUPED) or on the groups (a.k.a GROUPED).
      * The docSet will only the most relevant documents per group. It is if you query for everything with group.limit=1  */
    public static final String GROUP_TRUNCATE = GROUP + ".truncate";
  
    /** Whether the group count should be included in the response. */
    public static final String GROUP_TOTAL_COUNT = GROUP + ".ngroups";
  
  }
  