pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.5.0 / lucene / contrib / facet / src / examples / org / apache / lucene / facet / example / association / AssociationUtils.java
diff --git a/lucene-java-3.5.0/lucene/contrib/facet/src/examples/org/apache/lucene/facet/example/association/AssociationUtils.java b/lucene-java-3.5.0/lucene/contrib/facet/src/examples/org/apache/lucene/facet/example/association/AssociationUtils.java
new file mode 100644 (file)
index 0000000..3bc749d
--- /dev/null
@@ -0,0 +1,79 @@
+package org.apache.lucene.facet.example.association;
+
+import org.apache.lucene.facet.enhancements.association.AssociationEnhancement;
+import org.apache.lucene.facet.enhancements.association.AssociationFloatProperty;
+import org.apache.lucene.facet.enhancements.association.AssociationIntProperty;
+import org.apache.lucene.facet.enhancements.association.AssociationProperty;
+import org.apache.lucene.facet.enhancements.params.DefaultEnhancementsIndexingParams;
+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.
+ */
+
+/**
+ * @lucene.experimental
+ */
+public class AssociationUtils {
+
+  /**
+   * Categories: categories[D][N] == category-path with association no. N for
+   * document no. D.
+   */
+  public static CategoryPath[][] categories = {
+    // Doc #1
+    { new CategoryPath("tags", "lucene") , 
+      new CategoryPath("genre", "computing")
+    },
+        
+    // Doc #2
+    { new CategoryPath("tags", "lucene"),  
+      new CategoryPath("tags", "solr"),
+      new CategoryPath("genre", "computing"),
+      new CategoryPath("genre", "software")
+    }
+  };
+
+  public static AssociationProperty[][] associations = {
+    // Doc #1 associations
+    {
+      /* 3 occurrences for tag 'lucene' */
+      new AssociationIntProperty(3), 
+      /* 87% confidence level of genre 'computing' */
+      new AssociationFloatProperty(0.87f)
+    },
+    
+    // Doc #2 associations
+    {
+      /* 1 occurrence for tag 'lucene' */
+      new AssociationIntProperty(1),
+      /* 2 occurrences for tag 'solr' */
+      new AssociationIntProperty(2),
+      /* 75% confidence level of genre 'computing' */
+      new AssociationFloatProperty(0.75f),
+      /* 34% confidence level of genre 'software' */
+      new AssociationFloatProperty(0.34f),
+    }
+  };
+
+  /**
+   * Indexing Params: the indexing params to use when dealing with
+   * associations.
+   */
+  public static final DefaultEnhancementsIndexingParams assocIndexingParams = 
+    new DefaultEnhancementsIndexingParams(new AssociationEnhancement());
+
+}