You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2014/03/01 12:44:50 UTC
svn commit: r1573156 - in /lucene/dev/trunk/lucene: CHANGES.txt
facet/src/java/org/apache/lucene/facet/FacetsConfig.java
facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java
Author: mikemccand
Date: Sat Mar 1 11:44:49 2014
New Revision: 1573156
URL: http://svn.apache.org/r1573156
Log:
LUCENE-5479: make the default dimension config controllable via subclass of FacetsConfig
Modified:
lucene/dev/trunk/lucene/CHANGES.txt
lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java
lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java
Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1573156&r1=1573155&r2=1573156&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Sat Mar 1 11:44:49 2014
@@ -84,6 +84,9 @@ New Features
* LUCENE-5482: Improve default TurkishAnalyzer by adding apostrophe
handling suitable for Turkish. (Ahmet Arslan via Robert Muir)
+* LUCENE-5479: FacetsConfig subclass can now customize the default
+ per-dim facets configuration. (Rob Audenaerde via Mike McCandless)
+
API Changes
* LUCENE-5454: Add RandomAccessOrds, an optional extension of SortedSetDocValues
Modified: lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java?rev=1573156&r1=1573155&r2=1573156&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java (original)
+++ lucene/dev/trunk/lucene/facet/src/java/org/apache/lucene/facet/FacetsConfig.java Sat Mar 1 11:44:49 2014
@@ -98,11 +98,22 @@ public class FacetsConfig {
public FacetsConfig() {
}
+ /** Get the default configuration for new dimensions. Useful when
+ * the dimension is not known beforehand and may need different
+ * global default settings, like {@code multivalue =
+ * true}.
+ *
+ * @return The default configuration to be used for dimensions that
+ * are not yet set in the {@link FacetsConfig} */
+ protected DimConfig getDefaultDimConfig(){
+ return DEFAULT_DIM_CONFIG;
+ }
+
/** Get the current configuration for a dimension. */
public synchronized DimConfig getDimConfig(String dimName) {
DimConfig ft = fieldTypes.get(dimName);
if (ft == null) {
- ft = DEFAULT_DIM_CONFIG;
+ ft = getDefaultDimConfig();
}
return ft;
}
Modified: lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java?rev=1573156&r1=1573155&r2=1573156&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java (original)
+++ lucene/dev/trunk/lucene/facet/src/test/org/apache/lucene/facet/TestFacetsConfig.java Sat Mar 1 11:44:49 2014
@@ -84,5 +84,18 @@ public class TestFacetsConfig extends Fa
IOUtils.close(indexDir, taxoDir);
}
-
+
+ /** LUCENE-5479 */
+ public void testCustomDefault() {
+ FacetsConfig config = new FacetsConfig() {
+ @Override
+ protected DimConfig getDefaultDimConfig() {
+ DimConfig config = new DimConfig();
+ config.hierarchical = true;
+ return config;
+ }
+ };
+
+ assertTrue(config.getDimConfig("foobar").hierarchical);
+ }
}