+++ /dev/null
-package org.apache.lucene.facet.index.params;
-
-import java.io.Serializable;
-
-import org.apache.lucene.facet.index.categorypolicy.OrdinalPolicy;
-import org.apache.lucene.facet.index.categorypolicy.PathPolicy;
-import org.apache.lucene.facet.taxonomy.CategoryPath;
-
-/**
- * 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.
- */
-
-/**
- * Parameters on how facets are to be written to the index.
- * For example, which fields and terms are used to refer to the indexed posting list.
- * <P>
- * If non-default parameters were used during indexing, the same parameters
- * must also be passed during faceted search. This requirement is analogous
- * to the requirement during search to know which fields were indexed, and which
- * Analyzer was used on the text.
- *
- * @lucene.experimental
- */
-public interface FacetIndexingParams extends Serializable {
-
- /**
- * The name of the category-list to put this category in, or null if this
- * category should not be aggregatable.
- * <P>
- * By default, all categories are written to the same category list, but
- * applications which know in advance that in some situations only parts
- * of the category hierarchy needs to be counted can divide the categories
- * into two or more different category lists.
- * <P>
- * If null is returned for a category, it means that this category should
- * not appear in any category list, and thus counts for it cannot be
- * aggregated. This category can still be used for drill-down, even though
- * the count for it is not known.
- */
- public CategoryListParams getCategoryListParams(CategoryPath category);
-
- /**
- * Return info about all category lists in the index.
- *
- * @see #getCategoryListParams(CategoryPath)
- */
- public Iterable<CategoryListParams> getAllCategoryListParams();
-
- // TODO (Facet): Add special cases of exact/non-exact category term-text
-
- /**
- * Return the drilldown Term-Text which does not need to do any allocations.
- * The number of chars set is returned.
- * <p>
- * Note: Make sure <code>buffer</code> is large enough.
- * @see CategoryPath#charsNeededForFullPath()
- */
- public int drillDownTermText(CategoryPath path, char[] buffer);
-
- /**
- * Get the partition size.
- * Same value should be used during the life time of an index.
- * At search time this value is compared with actual taxonomy size and their minimum is used.
- */
- public int getPartitionSize();
-
- /**
- * Get the policy for indexing category <b>paths</b>,
- * used for deciding how "high" to climb in taxonomy
- * from a category when ingesting its category paths.
- */
- public PathPolicy getPathPolicy();
-
- /**
- * Get the policy for indexing category <b>ordinals</b>,
- * used for deciding how "high" to climb in taxonomy
- * from a category when ingesting its ordinals
- */
- public OrdinalPolicy getOrdinalPolicy();
-
- /**
- * Get the delimiter character used internally for drill-down terms
- */
- public char getFacetDelimChar();
-}