You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2014/07/21 09:07:42 UTC

svn commit: r1612197 - in /lucene/dev/trunk/lucene/facet/src: java/org/apache/lucene/facet/taxonomy/OrdinalMappingAtomicReader.java test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingAtomicReader.java

Author: shaie
Date: Mon Jul 21 07:07:42 2014
New Revision: 1612197

URL: http://svn.apache.org/r1612197
Log:
LUCENE-5801: add default indexFieldName to facetFields

Modified:
    lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingAtomicReader.java
    lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingAtomicReader.java

Modified: lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingAtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingAtomicReader.java?rev=1612197&r1=1612196&r2=1612197&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingAtomicReader.java (original)
+++ lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/OrdinalMappingAtomicReader.java Mon Jul 21 07:07:42 2014
@@ -125,6 +125,10 @@ public class OrdinalMappingAtomicReader 
     for (DimConfig dc : srcConfig.getDimConfigs().values()) {
       facetFields.add(dc.indexFieldName);
     }
+    // always add the default indexFieldName. This is because FacetsConfig does
+    // not explicitly record dimensions that were indexed under the default
+    // DimConfig, unless they have a custome DimConfig.
+    facetFields.add(FacetsConfig.DEFAULT_DIM_CONFIG.indexFieldName);
   }
   
   /**

Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingAtomicReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingAtomicReader.java?rev=1612197&r1=1612196&r2=1612197&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingAtomicReader.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestOrdinalMappingAtomicReader.java Mon Jul 21 07:07:42 2014
@@ -55,6 +55,7 @@ public class TestOrdinalMappingAtomicRea
   public void setUp() throws Exception {
     super.setUp();
     facetConfig.setMultiValued("tag", true);
+    facetConfig.setIndexFieldName("tag", "$tags"); // add custom index field name
   }
 
   @Test
@@ -86,9 +87,10 @@ public class TestOrdinalMappingAtomicRea
     
     FacetsCollector collector = new FacetsCollector();
     FacetsCollector.search(searcher, new MatchAllDocsQuery(), 10, collector);
-    Facets facets = new FastTaxonomyFacetCounts(taxoReader, facetConfig, collector);
-    FacetResult result = facets.getTopChildren(10, "tag");
-    
+
+    // tag facets
+    Facets tagFacets = new FastTaxonomyFacetCounts("$tags", taxoReader, facetConfig, collector);
+    FacetResult result = tagFacets.getTopChildren(10, "tag");
     for (LabelAndValue lv: result.labelValues) {
       if (VERBOSE) {
         System.out.println(lv);
@@ -96,6 +98,12 @@ public class TestOrdinalMappingAtomicRea
       assertEquals(NUM_DOCS, lv.value.intValue());
     }
     
+    // id facets
+    Facets idFacets = new FastTaxonomyFacetCounts(taxoReader, facetConfig, collector);
+    FacetResult idResult = idFacets.getTopChildren(10, "id");
+    assertEquals(NUM_DOCS, idResult.childCount);
+    assertEquals(NUM_DOCS * 2, idResult.value); // each "id" appears twice
+    
     BinaryDocValues bdv = MultiDocValues.getBinaryValues(indexReader, "bdv");
     BinaryDocValues cbdv = MultiDocValues.getBinaryValues(indexReader, "cbdv");
     for (int i = 0; i < indexReader.maxDoc(); i++) {
@@ -115,7 +123,10 @@ public class TestOrdinalMappingAtomicRea
         int facetValue = asc ? j: NUM_DOCS - j;
         doc.add(new FacetField("tag", Integer.toString(facetValue)));
       }
-      // make sure OrdinalMappingAtomicReader ignores non-facet fields
+      // add a facet under default dim config
+      doc.add(new FacetField("id", Integer.toString(i)));
+      
+      // make sure OrdinalMappingAtomicReader ignores non-facet BinaryDocValues fields
       doc.add(new BinaryDocValuesField("bdv", new BytesRef(Integer.toString(i))));
       doc.add(new BinaryDocValuesField("cbdv", new BytesRef(Integer.toString(i*2))));
       writer.addDocument(facetConfig.build(taxonomyWriter, doc));