X-Git-Url: https://git.mdrn.pl/pylucene.git/blobdiff_plain/a2e61f0c04805cfcb8706176758d1283c7e3a55c..aaeed5504b982cf3545252ab528713250aa33eed:/lucene-java-3.5.0/lucene/contrib/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java?ds=sidebyside diff --git a/lucene-java-3.5.0/lucene/contrib/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java b/lucene-java-3.5.0/lucene/contrib/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java new file mode 100644 index 0000000..99a6bd4 --- /dev/null +++ b/lucene-java-3.5.0/lucene/contrib/facet/src/java/org/apache/lucene/facet/search/params/FacetSearchParams.java @@ -0,0 +1,130 @@ +package org.apache.lucene.facet.search.params; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.lucene.facet.index.params.DefaultFacetIndexingParams; +import org.apache.lucene.facet.index.params.FacetIndexingParams; +import org.apache.lucene.facet.search.cache.CategoryListCache; +import org.apache.lucene.facet.search.results.FacetResult; + +/** + * 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. + */ + +/** + * Faceted search parameters indicate for which facets should info be gathered. + *
+ * The contained facet requests define for which facets should info be gathered. + *
+ * Contained faceted indexing parameters provide required info on how
+ * to read and interpret the underlying faceted information in the search index.
+ *
+ * @lucene.experimental
+ */
+public class FacetSearchParams {
+
+ protected final FacetIndexingParams indexingParams;
+ protected final List
+ * NOTE: The order of addition implies the order of the {@link FacetResult}s
+ * @param facetRequest facet request to be added.
+ */
+ public void addFacetRequest(FacetRequest facetRequest) {
+ if (facetRequest == null) {
+ throw new IllegalArgumentException("Provided facetRequest must not be null");
+ }
+ facetRequests.add(facetRequest);
+ }
+
+ @Override
+ public String toString() {
+ final char TAB = '\t';
+ final char NEWLINE = '\n';
+
+ StringBuilder sb = new StringBuilder("IndexingParams: ");
+ sb.append(NEWLINE).append(TAB).append(getFacetIndexingParams());
+
+ sb.append(NEWLINE).append("FacetRequests:");
+ for (FacetRequest facetRequest : getFacetRequests()) {
+ sb.append(NEWLINE).append(TAB).append(facetRequest);
+ }
+
+ return sb.toString();
+ }
+
+ /**
+ * @return the cldCache in effect
+ */
+ public CategoryListCache getClCache() {
+ return clCache;
+ }
+
+ /**
+ * Set Cached Category Lists data to be used in Faceted search.
+ * @param clCache the cldCache to set
+ */
+ public void setClCache(CategoryListCache clCache) {
+ this.clCache = clCache;
+ }
+}