/** * 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. */ package org.apache.solr.common.params; import java.util.regex.Pattern; /** * * **/ public interface TermsParams { /** * The component name. Set to true to turn on the TermsComponent */ public static final String TERMS = "terms"; /** * Used for building up the other terms */ public static final String TERMS_PREFIX = TERMS + "."; /** * Required. Specify the field to look up terms in. */ public static final String TERMS_FIELD = TERMS_PREFIX + "fl"; /** * Optional. The lower bound term to start at. The TermEnum will start at the next term after this term in the dictionary. * * If not specified, the empty string is used */ public static final String TERMS_LOWER = TERMS_PREFIX + "lower"; /** * Optional. The term to stop at. * * @see #TERMS_UPPER_INCLUSIVE */ public static final String TERMS_UPPER = TERMS_PREFIX + "upper"; /** * Optional. If true, include the upper bound term in the results. False by default. */ public static final String TERMS_UPPER_INCLUSIVE = TERMS_PREFIX + "upper.incl"; /** * Optional. If true, include the lower bound term in the results, otherwise skip to the next one. True by default. */ public static final String TERMS_LOWER_INCLUSIVE = TERMS_PREFIX + "lower.incl"; /** * Optional. The number of results to return. If not specified, looks for {@link org.apache.solr.common.params.CommonParams#ROWS}. If that's not specified, uses 10. */ public static final String TERMS_LIMIT = TERMS_PREFIX + "limit"; public static final String TERMS_PREFIX_STR = TERMS_PREFIX + "prefix"; public static final String TERMS_REGEXP_STR = TERMS_PREFIX + "regex"; public static final String TERMS_REGEXP_FLAG = TERMS_REGEXP_STR + ".flag"; public static enum TermsRegexpFlag { UNIX_LINES(Pattern.UNIX_LINES), CASE_INSENSITIVE(Pattern.CASE_INSENSITIVE), COMMENTS(Pattern.COMMENTS), MULTILINE(Pattern.MULTILINE), LITERAL(Pattern.LITERAL), DOTALL(Pattern.DOTALL), UNICODE_CASE(Pattern.UNICODE_CASE), CANON_EQ(Pattern.CANON_EQ); int value; TermsRegexpFlag(int value) { this.value = value; } public int getValue() { return value; } } /** * Optional. The minimum value of docFreq to be returned. 1 by default */ public static final String TERMS_MINCOUNT = TERMS_PREFIX + "mincount"; /** * Optional. The maximum value of docFreq to be returned. -1 by default means no boundary */ public static final String TERMS_MAXCOUNT = TERMS_PREFIX + "maxcount"; /** * Optional. If true, return the raw characters of the indexed term, regardless of if it is readable. * For instance, the index form of numeric numbers is not human readable. The default is false. */ public static final String TERMS_RAW = TERMS_PREFIX + "raw"; /** * Optional. If sorting by frequency is enabled. Defaults to sorting by count. */ public static final String TERMS_SORT = TERMS_PREFIX + "sort"; public static final String TERMS_SORT_COUNT = "count"; public static final String TERMS_SORT_INDEX = "index"; }