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));